Poprawka: Mogą wystąpić kilka problemów podczas renderowania grafiki przy użyciu systemu Windows Presentation Foundation (WPF) w aplikacji opartej na programie.NET Framework 3.5 z dodatkiem SP1



Objawy

Może wystąpić jeden z następujących problemów podczas renderowania grafiki przy użyciu systemu Windows Presentation Foundation (WPF) w.NET Framework 3.5 z dodatkiem Service Pack 1 (SP1)-aplikacja oparta na.


Problem 1

Gdy zmieniasz wartość właściwości VisualBrush.Visual w aplikacji WPF, awarie aplikacji.

Problem 2

W wątku renderowania aplikacji WPF występuje przeciek pamięci, gdy wykonasz jedną z następujących czynności:

  • Renderowanie sceny 3D, który zawiera obiektu VisualBrush lub obiektu DrawingBrush za pomocą potoku renderowania programowego. Na przykład używasz potoku renderowania programowego gdy wykonasz jedną z następujących czynności:

    • Renderuj prezentację za pomocą klasy RenderTargetBitmap .

    • Drukowanie sceny.

    • Właściwość warstwy renderowania równa 0.

    • Renderuj prezentację przez połączenie pulpitu zdalnego.

  • Sceny renderowania przy użyciu klasy WriteableBitmap na komputerze, który nie używa systemu Windows Display Driver Model (WDDM).

  • Renderowania sceny przy użyciu rozmieszczony sąsiadująco obiektu VisualBrush lub obiektu DrawingBrush rozmieszczony sąsiadująco na komputerze, który nie używa WDDM za pomocą potoku renderowania sprzętowego.


Problem 3

Aplikacji WPF, które używają wielowarstwowe awarii systemu windows, gdy wykonasz jedną z następujących czynności:

  • Umieścić komputer, który korzysta z systemu Windows XP wyświetlania Driver Model (XPDDM) w stan wstrzymania, a następnie wznowieniu pracy komputera ze stanu wstrzymania.

  • Możesz przełączyć się do trybu pełnego ekranu konsoli w systemie Windows XP.

Przyczyna

Przyczyny 1

Ten problem występuje, ponieważ jest zwracany błąd rodzajowy z wątku renderowania, podczas operacji w wątku są sortowane nieprawidłowo. Te operacje powodują obiektów podrzędnych do odłączenia od obiektu nadrzędnego null.

Na przykład obiekt wizualny musi być usuwany z obiektu VisualBrush , zanim jest odłączana od obiektu VisualBrush . Jednak operacje usunięcia obiektu wizualne mogą być sortowane nieprawidłowo. W związku z tym obiekt wizualny odłączy się od obiektu nadrzędnego null.

Przyczyny 2

Ten problem występuje z powodu błędu w wątku renderowania zliczanie.

Przyczyny 3

Ten problem występuje, ponieważ kod błędu Win32 jest obsługiwane niepoprawnie.

Rozwiązanie

Aby rozwiązać ten problem, należy zastosować pakiet poprawki opisanej w następującym artykule bazy wiedzy Microsoft Knowledge Base:

2667241 Pakiet zbiorczy aktualizacji jest dostępna dla Windows Presentation Foundation (WPF) dla programu Microsoft.NET Framework 3.5

Więcej informacji

Informacje wyjściowe stosu

System.InvalidOperationException: An unspecified error occurred on the render thread.
at System.Windows.Media.MediaContext.NotifyPartitionIsZombie(Int32 failureCode)
at System.Windows.Media.MediaContext.NotifyChannelMessage()
at System.Windows.Interop.HwndTarget.HandleMessage(Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jak zadowalająca jest jakość tłumaczenia?

Co wpłynęło na Twoje wrażenia?

Czy chcesz przekazać jakieś inne uwagi? (Opcjonalnie)

Dziękujemy za opinię!

×