Я использую SlimDX для рендеринга элемента управления в форме. Поскольку размер этого элемента управления может меняться очень часто, а также существует множество сложных сеток, традиционный метод построения со свободным сбросом может показаться мне слишком медленным. Любой способ повысить его?
Есть ли способ сбросить устройство в (slimdx, dx9) без удаления всех объектов, связанных с устройством?
Ответы (1)
создайте дополнительный SwapChain, связанный с вашим текущим окном, используя метод IDirect3DDevice9::CreateAdditionalSwapChain,
затем получите задний буфер нового SwapChain и используйте метод IDirect3DDevice9::SetRenderTarget, чтобы установить задний буфер нового SwapChain в качестве цели рендеринга,
когда вы закончите свои рисунки, вызовите текущий метод новой SwapChain вместо IDirect3DDevice9::present,
когда размер вашего окна изменяется, просто отпустите дополнительный SwapChain и заново создайте его с новыми размерами заднего буфера и снова выполните настройку цели рендеринга, теперь вам не нужно выполнять сброс устройства, который очень медленный.
если у вас есть еще вопросы, напишите мне: [email protected]
Я китаец, поэтому мой английский не так хорош, простите меня.