http://publications.dice.se/attachments/Introduction_to_Data-Oriented_Design.pdf
相关内容也提了挺长时间了。
data oriented相对应的就是object oriented,object oriented比较适合去表达逻辑对象,data oriented更加关注性能。
游戏engine端对性能的追求是无止境的。
基本来说就是计算能力提升的很快,尤其是在多核方向发展之后,但是在带宽上(硬盘,内存)上提升的比较慢。
现在来说,瓶颈最常见的是发生在带宽上。
所以在设计engine的时候需要从硬件的memory hierarchy出发,而非逻辑。
像把内存集中放置,集中遍历这些也很常见了。