DirectX的每个控件的多个设备和对象



,所以我有多个控制场景的控件。我有一个用于每个控件的设备实例,以及我需要为每个控件进行编译的其他几个对象,依此类推。

我想知道这是否是具有多个设备和每个控件的所有对象的好方法?

我从中获得了很好的表现。只是我要节省内存和设置时间。因为例如,每个实例的着色器都是相同的,并且需要每次加载和编译。我不能静态地让它们静态,因为当我尝试时它们仅限于同一设备。我试图使设备静态,因此我也可以使着色器对象静态,但是我似乎在上下文损坏的问题中运行,即使只有一个线程执行它们。也许是因为我不能依靠GUI线程始终完成上下文(所有控件在静态上使用)状态并在进入下一个之前渲染并损坏我的状态。

因此,我的问题和关注更多地是关于加载所需的记忆和时间(感觉很慢,沉重),而不是绘画的性能(这是很好的,很满意的)。我读过一般没有"最佳实践",但也许你们当中有些提示我可以改进。

感谢您的任何帮助

,而不是为每个控件创建一个不同的设备,我认为最好为每个控件创建一个不同的交换链,以及所有由同一设备共享/共享/交换的控制链。

最新更新