visual-studio-2010 - Directx 9 在运行时编译着色器

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

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

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

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

最佳答案

使用 fxc将着色器预编译为 .fxo 文件。这些可以通过 D3DXCreateEffectFromFile 加载就像您的 .fx 文件一样。这应该会显着减少加载时间。

CompiledEffect Sample来自 SDK 的详细信息。

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

关于visual-studio-2010 - Directx 9 在运行时编译着色器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8021936/

相关文章:

c# - Visual Studio 崩溃! - 在实例化枚举器后修改了集合

visual-studio-2010 - 调试时Visual Studio不会在未处理的异常上中断

python - 如何使用distutils编译简单的python嵌入式程序

c++ - 类内成员初始值设定项因 VS 2013 而失败

c++ - Visual Studio Express 2010 C++ 反汇编调试

visual-studio-2010 - 从.Net Framework 4.0应用程序运行的托管DirectX不会搜寻

visual-studio-2010 - 是否有与 Uninstall-Package 等效的 nuget.exe 命令行?

visual-studio-2010 - 来自 Visual Studio 2010 的 Visual Studio 2008 项目,无需转换

visual-c++ - 数据包 (AV_PIX_FMT_UYVY422) 到平面 (AV_PIX_FMT_YUVJ422P) 格式转换

c++ - DirectX 屏幕捕获 - 桌面复制 API - AcquireNextFrame 的帧速率有限