Есть ли способ сбросить устройство в (slimdx, dx9) без удаления всех объектов, связанных с устройством?

Я использую SlimDX для рендеринга элемента управления в форме. Поскольку размер этого элемента управления может меняться очень часто, а также существует множество сложных сеток, традиционный метод построения со свободным сбросом может показаться мне слишком медленным. Любой способ повысить его?


person user522829    schedule 23.04.2013    source источник


Ответы (1)


создайте дополнительный SwapChain, связанный с вашим текущим окном, используя метод IDirect3DDevice9::CreateAdditionalSwapChain,

затем получите задний буфер нового SwapChain и используйте метод IDirect3DDevice9::SetRenderTarget, чтобы установить задний буфер нового SwapChain в качестве цели рендеринга,

когда вы закончите свои рисунки, вызовите текущий метод новой SwapChain вместо IDirect3DDevice9::present,

когда размер вашего окна изменяется, просто отпустите дополнительный SwapChain и заново создайте его с новыми размерами заднего буфера и снова выполните настройку цели рендеринга, теперь вам не нужно выполнять сброс устройства, который очень медленный.

если у вас есть еще вопросы, напишите мне: [email protected]

Я китаец, поэтому мой английский не так хорош, простите меня.

person 行 徐    schedule 05.05.2013