Как я могу предоставить другую цель рендеринга для Direct2D? - PullRequest
4 голосов
/ 16 апреля 2010

Я использую Direct2D в C # для визуализации небольшого графического фреймворка для моего исследовательского проекта. Я не очень привык работать на Windows или с DirectX. Я использую элемент управления Windows Forms для создания цели рендеринга, и msdn предупреждает, что, поскольку он использует BindDC, чем больше цель рендеринга, тем хуже будет производительность (что оказалось существенным отличием, когда я максимально окно, я получаю около 15 кадров в секунду).

Что может быть лучше для создания цели рендеринга для Direct2D? Есть ли способ создать окно и выполнить рендеринг непосредственно в него вместо рендеринга в буфер элемента управления, а затем рендеринга? Если да, то как?

Извините, если мой английский отстой, а не мой родной язык.

1 Ответ

2 голосов
/ 16 апреля 2010

Вместо этого вы сможете использовать CreateHwndRenderTarget, используя свойство Handle элемента управления. Чтобы сделать это правильно, создайте свой собственный элемент управления и переопределите метод OnHandleCreated (). И переопределить OnPaintBackground () и ничего не делать.

...