Lok*_*oko 2 c++ optimization templates game-engine expression-templates
我可以想象表达模板对于像向量/矩阵/四元数等普遍存在的事物的编译时间做了很多事情,但如果它是如此大的速度提升为什么游戏不使用呢?很明显,SIMD指令可以利用数据级并行性来产生很好的效果.表达模板和懒惰的评估似乎有意义,至少在消除临时性时.
因此,虽然像Eigen这样的图书馆会宣传这些功能,但我并不认为这在中间件(例如Havok)或事物速度极其重要的游戏中都会发生.任何人都可以对此有所了解吗?它与非确定性或分支预测有关吗?
我可以想到很多原因:
当然,显而易见的问题是:他们在哪里使用表达模板?有足够的复杂数学来真正让它变得有价值吗?游戏往往依赖于相当少量的线性代数运算,在任何情况下通常都会进行大量的手动调整.
| 归档时间: |
|
| 查看次数: |
453 次 |
| 最近记录: |