我最近一直在进行Directx编程。一切对我都有好处,但有一个大问题。每次运行程序时,即使没有对代码进行任何更改,也必须编译着色器。有没有办法设置它,只需要在编辑它们时编译它们?
当我每次编译时都要等待2分钟时,尝试以我想要的方式完善价值是相当烦人的。
是的,它正在运行时编译它们。
答案 0 :(得分:3)
使用fxc将着色器预编译为.fxo文件。这些可以像{。{1}}一样加载,就像.fx文件一样。这应该会显着减少加载时间。
有关详细信息,请参阅SDK中的CompiledEffect Sample。
作为旁注,您是否确定是着色器编译导致长时间延迟?大量的着色器肯定会导致像这样的减速,但如果你正在“进入DirectX编程”,就像你说...我们谈论了多少行着色器代码?