它有没有办法重置设备(slimdx,dx9)而不处理所有与设备相关的对象?

时间:2013-04-23 03:30:40

标签: resize directx-9 slimdx

我正在使用SlimDX渲染表单中的控件。由于该控件的大小可能经常变化,并且存在许多复杂的网格,传统的自由重置构造方法可能对我来说太慢了。有什么方法可以提升它吗?

1 个答案:

答案 0 :(得分:1)

使用IDirect3DDevice9 :: CreateAdditionalSwapChain方法创建一个链接到当前窗口的附加SwapChain,

然后,获取新SwapChain的后台缓冲区,并使用IDirect3DDevice9 :: SetRenderTarget方法 将新SwapChain的后台缓冲区设置为渲染目标,

完成绘图后,调用新SwapChain的现有方法,而不是IDirect3DDevice9 :: present,

当你的窗口调整大小时,只需释放额外的SwapChain并使用新的后缓冲区大小重新创建它并再次执行渲染目标设置,现在,你不必进行非常慢的设备重置。

如果您还有其他问题,请给我发电子邮件:xux660@hotmail.com

我是中国人,所以我的英语不太好,原谅我。