首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否应该支持更高的ShaderModel,即使着色器可以用较低的版本编译?

我是否应该支持更高的ShaderModel,即使着色器可以用较低的版本编译?
EN

Stack Overflow用户
提问于 2014-02-24 07:51:17
回答 1查看 124关注 0票数 1

我有很多用ShaderModel vs_1_1和ps_2_0编译的着色器(使用DirectX9)。如果我知道硬件支持更高的着色器模型(可能大多数支持3.0),那么我应该使用更高的着色器模型版本进行编译吗?更有表现力吗?还是更小的模型版本更有效?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-28 18:19:36

最简单的检查方法是使用不同配置文件的fxc和检查指令计数,在更高的版本中,您可以使用新的本质,从而减少总指令数。

我记得我努力适应ps_2_0的64限制,而ps_3_0的编译给了我63条指令。

我会(个人意见),使用着色器模型3,甚至手机支持的功能集。

当然,根据性能指标,您有不同的事情要考虑,因为您需要在算术/纹理获取/填充率之间取得平衡。

当然,越低越好在一般情况下,但1少算术将不会使您的系统更快,如果您抽签调用范围。

对于分析,如果您还没有使用这个特性,我强烈建议实现查询,在您的例子中,TimeStamp是最有用的。它允许您测量着色器执行时间。遮挡也是非常有用的测量透支在向前通过(填充率)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21981860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档