2016-10-28 4 views
-1

Ich übernehme eine Legacy WPF App. Was mir aufgefallen ist, dass es gelegentlich beim Start mit einem weißen Bildschirm angezeigt wird. Das passiert nicht die ganze Zeit. Nur wenn ich die Maus über den Bildschirm bewege, sehe ich Teile der Benutzeroberfläche. Ich bekomme nie die gesamte Benutzeroberfläche gezeichnet und muss die App neu starten.WPF weiß Bildschirm Rendering Problem

Wir sind auf Windows 8.1 und .net 4.5

Sorry für die minimale Menge an Informationen, sondern ein Hinweis auf, wo wäre toll aussehen.

Antwort

1

Ohne wirklich zu wissen, was der Code tut, es sieht aus wie der WPF-Rendering-Thread nicht aufholen, würde ich vorschlagen, dass Sie ein paar Dinge versuchen:

  1. Versuchen Sie, diese auf verschiedene Maschinen/Grafikkarten und sehen, ob das gleiche Verhalten passiert
  2. Können Sie überprüfen, ob Ihre CPU umfangreiche Arbeit leistet?
  3. Überprüfen Sie, ob Ihr Speicher ständig zunimmt?
  4. Profil der Anwendung (Garbage Collection, Generationen Größen, etc.)

jedoch am besten Blick auf den Code starten dies nur könnte ein Fehler sein, der die UI vermasselt.

einige Tipps zur Fehlerbehebung hier Siehe

Graphics card troublehooting

Windows Presentation Foundation (WPF) unterscheidet sich von früheren Anwendungsplattformen auf Windows, dass es seine eigene DirectX-basierte Hardware-beschleunigte Rendering-Pipeline verwendet, wenn verfügbar , um den Inhalt von WPF-Fenstern zu zeichnen.Prior-Anwendungsplattformen waren in der Regel viel weniger abhängig von der Qualität des Bildschirmtreibers, da der Großteil des Renderings in Software statt in Hardware erfolgte. Daher hängt die visuelle Qualität von WPF-Anwendungen stark von der Qualität des Anzeigegeräts des Systems und seiner Anzeigetreiber ab. Fehlerhafte Anzeigegeräte können Zeichenartefakte in WPF-Anwendungen oder an anderen Stellen auf dem Desktop verursachen, wenn eine Anwendung die WPF-Hardware-Rendering-Pipeline verwendet.

+0

Vielen Dank Dragos, du hast mir einige gute Startpunkte gegeben (zumindest hast du nicht abgestimmt). –

+0

Ja, es passiert auf verschiedenen Maschinen. Es beginnt also etwas Intensives ... nur dass es nicht immer passiert. –

+0

Macht die App irgendetwas mit einer Datenbank oder einem Netzwerk? – WBuck