Gejala
Anda mungkin mengalami salah satu masalah berikut ini saat Anda membuat grafis menggunakan Windows Presentation Foundation (WPF) di .NET Framework 3.5 Paket Layanan 1 (SP1)-aplikasi berbasis.
Masalah 1
Ketika Anda mengubah nilai properti VisualBrush.Visual dalam aplikasi WPF, aplikasi lumpuh.
Masalah 2
Terjadi kebocoran memori di alur render aplikasi WPF ketika Anda melakukan salah satu tindakan berikut ini:
-
Anda menggunakan jalur pipa pembuatan perangkat lunak untuk membuat gambar 3D yang menyertakan objek VisualBrush atau objek DrawingBrush . Misalnya, Anda menggunakan jalur pipa penyajian piranti lunak ketika Anda melakukan salah satu tindakan berikut ini:
-
Anda membuat gambar yang menggunakan kelas RenderTargetBitmap .
-
Anda mencetak gambar.
-
Anda menetapkan pembuatan kelas properti ke 0.
-
Anda membuat lokasi melalui sambungan desktop jarak jauh.
-
-
Anda membuat gambar yang menggunakan kelas WriteableBitmap di komputer yang tidak menggunakan Model pengandar tampilan Windows (WDDM).
-
Anda menggunakan jalur pipa pembuatan perangkat keras untuk menyajikan gambar yang menggunakan objek VisualBrush ubin atau objek DrawingBrush ubin di komputer yang tidak menggunakan WDDM.
Masalah 3
WPF aplikasi yang menggunakan berlapis windows lumpuh saat Anda melakukan salah satu tindakan berikut ini:
-
Anda menempatkan komputer yang menggunakan Windows XP menampilkan Driver Model (XPDDM) ke mode siaga, dan kemudian Anda melanjutkan kerja komputer dari siaga.
-
Anda beralih ke mode layar-penuh konsol pada Windows XP.
Penyebab
Penyebab 1
Masalah ini terjadi karena galat generik dikembalikan dari render thread saat operasi di thread diurutkan dengan benar. Operasi ini menyebabkan objek anak-anak untuk melepaskan dari objek null induk.
Sebagai contoh, objek Visual harus dihapus dari objek VisualBrush sebelum terlepas dari objek VisualBrush . Namun, operasi untuk menghapus objek Visual dapat memerintahkan salah. Oleh karena itu, objek Visual melepaskan dari objek null induk.
Penyebab 2
Masalah ini terjadi karena referensi menghitung kesalahan dalam render thread.
Penyebab 3
Masalah ini terjadi karena kode galat Win32 ditangani dengan tidak benar.
Pemecahan masalah
Untuk mengatasi masalah ini, Terapkan paket hotfix yang dijelaskan di artikel Pangkalan Pengetahuan Microsoft berikut ini:
2667241 Batal pemutakhiran tersedia untuk Windows Presentation Foundation (WPF) untuk Microsoft.NET Framework 3.5
Informasi lebih lanjut
Output memori
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)
Status
Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".