在GLSL中速度更快:
pow(x, 3.0f);
或
x*x*x;
指数性能取决于硬件供应商还是指数值?
发布于 2016-09-12 11:48:12
虽然这肯定是硬件/供应商/编译器依赖的,但是像pow()
这样的高级数学函数往往比基本操作昂贵得多。
当然,最好的方法是同时尝试两种方法,并进行基准测试。但是,如果有一个简单的替代先进的数学函数,我认为你不会很错误的使用它。
如果您编写pow(x, 3.0)
,您可能希望编译器识别特例并展开它。但是为什么要冒这个险呢?如果更换的时间很短而且容易读懂的话?C/C++编译器并不总是用简单的乘法代替pow(x, 2.0)
,所以我不一定要依靠所有的GLSL编译器来做到这一点。
https://stackoverflow.com/questions/39446306
复制相似问题