【发布时间】:2019-11-08 10:53:21
【问题描述】:
我可以想象表达式模板在为向量/矩阵/四元数等普遍存在的事物编译时间方面做着可怕的事情,但如果它是一个如此巨大的速度提升,为什么游戏不使用它呢?很明显,SIMD 指令可以很好地利用数据级并行性。表达式模板和惰性求值结合起来似乎很有意义,至少在消除临时变量方面是这样。
因此,虽然像 Eigen 这样的库宣传此类功能,但我认为这在中间件(例如 Havok)或对速度至关重要的游戏中并不常见。任何人都可以对此有所了解吗?它与非确定性或分支预测有关吗?
【问题讨论】:
-
SIMD 与什么有什么关系?我没有看到那里的连接
-
SIMD 指令与表达式模板无关,惰性求值也无关。它也与非确定性或分支预测无关。这四件事中没有一件与表达式模板有任何关系。
标签: c++ templates optimization game-engine expression-templates