Możesz być zainteresowany w moich doświadczeniach z Freezable:
kiedyś napisał przeglądarki PDF używając muPdf który renderuje bitmap, abym render z WPF. To, co bardzo pomaga w wydajności, polega na tym, że mogę renderować mapy bitowe strony na wątku w tle, zamrażać je, a następnie przekazywać do wątku interfejsu użytkownika. Fajnie, że WPF nie kopiuje obrazu, aby go zamrozić, ale umiejętność wykonania całego tego przygotowania na wątku tła była dla mnie kluczową korzyścią.
Z tego co rozumiem, wszystkie wizualizacje muszą zostać zamrożone, aby mogły być bezpiecznie renderowane przez wątek renderowania WPF. Jeśli wyrenderujesz duże, niezamrożone efekty wizualne, zostaną one sklonowane do zamrożonych, gdy renderuje je WPF. Jeśli wcześniej zamrozisz statyczne bitmapy, WPF może udostępnić wskaźnik wątkowi renderowania bez klonowania. Niezamrożone obiekty mogą nawet zostać wielokrotnie skopiowane, jeśli WPF nie jest świadomy, że obiekt został zmieniony po ostatnim renderowaniu. Zamrożone obiekty eliminują potrzebę tego kopiowania.
Bardzo pomocna dziękuję. Nie wiedziałem, że możesz to zrobić w wątku w tle, powinno znacznie pomóc jednej z moich aplikacji! – Kelly