Directx 9在运行时编译着色器

时间:2011-11-05 17:33:18

标签: visual-studio-2010 visual-c++ directx

我最近一直在进行Directx编程。一切对我都有好处,但有一个大问题。每次运行程序时,即使没有对代码进行任何更改,也必须编译着色器。有没有办法设置它,只需要在编辑它们时编译它们?

当我每次编译时都要等待2分钟时,尝试以我想要的方式完善价值是相当烦人的。

是的,它正在运行时编译它们。

1 个答案:

答案 0 :(得分:3)

使用fxc将着色器预编译为.fxo文件。这些可以像{。{1}}一样加载,就像.fx文件一样。这应该会显着减少加载时间。

有关详细信息,请参阅SDK中的CompiledEffect Sample

作为旁注,您是否确定是着色器编译导致长时间延迟?大量的着色器肯定会导致像这样的减速,但如果你正在“进入DirectX编程”,就像你说...我们谈论了多少行着色器代码?