C# WPF und Win7



  • Hallo Leute,

    ich habe ein Problem bzw. eine Frage:)

    Ich habe eine Anwendung geschrieben in C# unter Verwendung von WPF, welche bisher auf WinXP Maschinen zum Einsatz kam.
    Nach Umstellung auf Win7 habe ich nun Probleme. Sprich, sporadische "hänger" der Anwendung beim umschalten der "Displays" also laden/switchen von WPF content.

    Ich habe mal bisschen gegoogelt, und da gibt es Probleme mit Grafiktreibern oder Fontcache etc.

    Nun wollte ich mal euere Meinung hören, ob ihr ähnliche Probleme kennt !? Ob es was mit Win 7 zu tun hat oder eben Mit Grafiktreibern !?

    Wenn ich die Anwendung debugge, und im "freeze" Zustand in VS den Prozess pausiere, kann ich leider nich viel erkennen außer dass ein laufender Thread in einem UI dispatcher steht!? Aber ob das wirklich die ursache ist weiß ich nicht:)

    Gibt es denn die Möglichkeit unter VS beim debbugen die CPU Zeiten der Threads zu sehen, und vll. zu schaun welche Aufrufe "lang" dauern oder was blockieren!?

    grüße und Danke:)



  • Wäre ja schon mal hilfreich, wenn du die .NET-Version nennst, die du für deine Anwendung nutzt.



  • Ich hatte bei WPF bisher nur solche Probleme mit der Resourcen-Verwaltung, speziell mit D3DImage.
    Wenn man davon zu viele erzeugt, dann hängt sich der Prozess für zig Sekunden weg, und dann fangen die Exceptions an zu fliegen.

    Und mit "zu viele erzeugen" meine ich nicht zu viele gleichzeitig zu verwenden -- es reicht wenn man immer nur eines verwendet, aber das z.B. 20x pro Sekunde neu erzeugt.
    Hängt damit zusammen dass WPF für jedes D3DImage nen eigene InteropBitmap erzeugt, und das wiederrum ne unmanaged Resource anfordert um mit dem (unmanaged) Renderer Teil zu kommunizieren.
    Und da leider nichts davon irgendwie "disposable" ist, kann man damit Probleme bekommen, obwohl man eigentlich nix verkehrt macht.

    Blöde Sache.
    Scheiss Fehldesign wenn man mich fragt, aber mich fragt man ja nicht 😉



  • Verwende .NET 3.5 SP1!

    Ja wenn ich den PC mit den "anderen" PC auch Win7 PC's vergleiche , auf denen ich die Anwendung anschließend geteste habe, fiehl mir auf, dass der "problem" PC bspw. keine DirectDraw unterstützt (DxDiag)! Und so das ganze evtl. Software-Gerendet wird.. !? Hmm hab mich da auch nich beschäftig mit den WPF Rendering, was da im hintergrund passiert hat mich bisher nich interessiert :p

    Die GraKa Treiber wurde aktualisiert, half aber nix! DirectX 11 is installiart . vll. ne andere version!?=

    Was würdert ihr denn noch tun1?

    Grüße



  • Ich würde versuchen den problemverursachenden Code irgendwie zu isolieren.
    Also - in kleinen Schritten - soviel Zeugs (Controls, Code) rauswerfen wie geht, und dazwischen immer wieder gucken ob das Problem noch besteht.
    So lange bis man nix mehr findet was man wegnehmen kann, ohne dass das Problem verschwindet.

    Dann hast du die Liste der Kandidaten schonmal wesentlich reduziert.
    Dann kannst du den Code entweder irgendwo posten (hier, MSDN Forum, ...), oder nen Case bei MS aufmachen. Oder anfangen im verbleibenden Code einfach auf Verdacht Änderungen zu machen.
    Und wenn du das Problem weit genug eingegrenzt hast mit den neu gewonnenen Infos googeln. Oder wieder posten.

    Oder natürlich warten ob jmd. hier noch ne Vermutung postet woran es liegen könnte.



  • Hallo Leute,

    ich hab jetzt noch bisschen gegoogelt, und es scheint evtl. dass die GraKa "Intel HD 4000" wohl Treibertechnisch Probleme hätte auch bzgl. WPF performance!? Da wird zwr ehr geschildert, dass im Hardware- bzw. Softwaremode unterschiedlich gerendert wird, aber auch "freezes" vorkommen.

    Hmm.. bspw. https://communities.intel.com/thread/20739 ! ABer gut ne Lösung gibts aber leider keine so wie es aussieht!

    Gibt es ne möglichkeit Softwarerendering zu optimieren bzw. explizit für WPF einzuschalten! Ich meine da sind i7 CPU's drin.. vll. geht da was:)

    Grüße und danke für euere Hilfe



  • Nach Einbau eine zweiten Grafikkarte, und nicht Verwendung der Onboard-Karte war das Probleme weg:) danke:90


Anmelden zum Antworten