סימפטומים
ייתכן שתיתקל באחת מהבעיות הבאות בעת עיבוד גרפיקה באמצעות בסיס ההצגה של Windows (WPF) ביישום מבוסס-.NET Framework 3.5 Service Pack 1 (SP1).
בעיה 1
בעת שינוי הערך של המאפיין VisualBrush.Visual ביישום WPF, היישום קורס.
בעיה 2
דליפת זיכרון מתרחשת בהליך המשנה של העיבוד של יישום WPF בעת ביצוע אחת מהפעולות הבאות:
השתמש בצינור עיבוד התוכנה כדי לעבד סצינה תלת-ממדית הכוללת אובייקט VisualBrush או אובייקט DrawingBrush. לדוגמה, אתה משתמש בצינור עיבוד התוכנה בעת ביצוע אחת מהפעולות הבאות:
- ניתן לעבד את הסצינה באמצעות המחלקה RenderTargetBitmap.
- אתה מדפיס את הסצינה.
- הגדר את המאפיין של רמה עיבוד כ- 0.
- אתה מעבד את הסצינה באמצעות חיבור שולחן עבודה מרוחק.
אתה מעבד סצינה באמצעות המחלקה WriteableBitmap במחשב שאינו משתמש במודל מנהל התצוגה של Windows (WDDM).
השתמש בצינור עיבוד החומרה כדי לעבד סצינה באמצעות אובייקט VisualBrush אריחים או אובייקט DrawingBrush אריחים במחשב שאינו משתמש ב- WDDM.
בעיה 3
יישומי WPF המשתמשים בחלונות בשכבות קורסים בעת ביצוע אחת מהפעולות הבאות:
- אתה מציב מחשב המשתמש במודל מנהל התצוגה של Windows XP (XPDDM) למצב המתנה ולאחר מכן מחדש את פעולת המחשב מהמתנה.
- מעבר למצב קונסולת מסך מלא ב- Windows XP.
גורם
סיבה 1
בעיה זו מתרחשת מאחר מוחזרת שגיאה כללית מהליך משנה של עיבוד כאשר הפעולות בשרשור מסודרות באופן שגוי. פעולות אלה עשויות לגרום לאובייקטי צאצא להתנתק באובייקט אב Null.
לדוגמה, יש להסיר אובייקט חזותי מתוך אובייקט VisualBrush לפני שהוא ינותק מהאובייקט VisualBrush. עם זאת, ייתכן שהפעולות להסרת האובייקט החזותי מסודרות באופן שגוי. לכן, האובייקט החזותי מתנתק באובייקט אב Null.
סיבה 2
בעיה זו מתרחשת עקב שגיאת ספירת הפניה בהליך המשנה של העיבוד.
סיבה 3
בעיה זו מתרחשת מאחר שקוד שגיאה של Win32 מטופל באופן שגוי.
פתרון
כדי לפתור בעיה זו, החל את חבילת התיקון החם המתואר במאמר הבא מתוך מאגר הידע Microsoft Knowledge Base:
2667241 אוסף עדכונים זמין עבור בסיס ההצגה של Windows (WPF) עבור Microsoft .NET Framework 3.5
מידע נוסף
פלט ערימה
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)
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המפורטים בסעיף "חל על".