首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >glsl -= mad优化

glsl -= mad优化
EN

Stack Overflow用户
提问于 2014-02-22 18:46:38
回答 2查看 2.1K关注 0票数 1

关于GLSL MAD (“乘加”)优化的问题。

根据这个优化,我们应该帮助GLSL编译器优化mad表达式。这一切都清楚地告诉我

代码语言:javascript
复制
result += x*y 

看起来应该是:

代码语言:javascript
复制
result = x*y + result

但是与-=有什么关系呢?

代码语言:javascript
复制
result -= x*y

如果我写:

代码语言:javascript
复制
result = result - x*y

这将不是“乘加”。

如果:

代码语言:javascript
复制
result = -x*y + result

它能优化它吗?我担心是因为-x

我只想向自己澄清这件事。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-22 19:35:24

很难猜测一个特定的编译器/优化器在任何特定情况下会做什么。有了GLSL,您就会发现在野外有很多不同的实现(以及它们的版本)。

一般来说,我认为result += x*y永远不会带来比result = result + x*y更好的优化结果--毕竟它只是语法糖,而不是一些不同的操作。

如果您想了解某些编译器为您的代码做了什么,我建议您看看AMD着色分析仪,它将显示编译器的结果。此外,您还可以从它们的nvidia命令行编译器中使用CG工具包,后者也编译GLSL。它将只输出ARB组装级顶点/片段程序,而不需要真正的指令级代码,但它仍然允许您查看优化器从GLSL结构中得到的结果。

票数 2
EN

Stack Overflow用户

发布于 2014-02-27 20:59:26

只是为了添加另一个资源:LowLevelThinking.pdf是一种很好的方法,您可以引导编译器实现更优化的代码。

这个建议并不是glsl特有的,但当我看到你的问题时,我想到了它,因为他确实强调你应该编写一段很有可能变成疯狂安装的代码。

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

https://stackoverflow.com/questions/21958782

复制
相关文章

相似问题

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