2016-03-04 6 views
0

Я экспериментирую с механизмом удаленного экрана, где я нажимаю обновленные крышки экрана для клиентов (браузеров). Я успешно использовал крючки Win32, которые отправляют обновленные прямоугольники менеджеру (обнюхивая WM_PAINT и связанные сообщения).Обнаружение грязных прямоугольников в поверхностях WPF/Direct3D?

Однако в приложениях WPF используются поверхности Direct3D, поэтому прослушивание оконных сообщений не очень помогает.

Есть ли способ перехватить эти поверхности и получить грязные прямоугольники/области (например, когда элемент управления или другой компонент перерисовываются)?

ответ

0

Похоже, что этого не достичь.

Мое решение в этом случае состоит в том, чтобы часто использовать битBlt() и анализировать различия между текущими и предыдущими буферами пикселей. Затем я делю экран на ячейки с фиксированной шириной/высотой и отслеживаю изменения для каждой ячейки.