最近看了OGRE2.0的一个PPT, 触动挺大的
其实OGRE一直以来所为人诟病的性能问题, 何偿不也是我们引擎存在的问题
虽然很多时候我们都拿OGRE和GameBryo的效率当反面教材, 但是自己也没有做到极致...是因为当前的硬件架构决定了, 大多数的瓶颈是在数据访问上面
CPU与内存之间有速度非常快的Cache, 如果数据可以在Cache中直接找到, 会比从内存中Load过来快很多
具体快多少呢?...SOA vs AOS
很多时候SOA(struct of array)比AOS(array of struct)是快的, 因为多数情况下我们遍历一个结构体数组, 只是访问其中的一个字段而已
SOA与AOS...的区别, 就是面向对象与面向数据程序设计的区别之一
class vs struct
这才是面向对象与面向数据在语言层面的差异
最早认识到class性能会出问题的, 是从N3的代码里. floh有说为什么自己的引擎平台抽象层没有使用抽象类...在性能至上的领域, 不是很适用
说到底, 还是人与机器的博弈