多线程支持是DX11的几大改进之一,也是顺应了多核的潮流。在DX最新的实现中引入一个新的Context, 叫Defered Context,而原来的Context叫immediate Context,这两个Context一起来完成multi-thread支持。程序开始创建几个Defered Context,并将application的场景分为几个部分,每个部分分别由不同的Defered Context来render。这里的render并不是交给Hardware去render,而是生成DX的DDI命令,然后将这些命令送给immediate Context去真正送给hardware render。微软引入displaylist这个概念来描述这个过程,当然它还特意说明了这是借用了某些图形库的想法,可偏偏就不说明是OpengL。具体过程如下图。
这里有几个疑问,
(1) 每个线程每个Context需要同步吗
(2) 每个线程render的算法是有driver




被折叠的 条评论
为什么被折叠?



