Skip to content

Data Oriented Design #33

@Ragora

Description

@Ragora

Data oriented design is something that is probably worthwhile implementing into just about any game engine, however, it requires a bit of a flipped perspective on how to set up your data. At the very least, you need to group related sets of data together into structures -- or even more preferably, into contiguous arrays for rapid successive access due to making the most efficient use of CPU cache lines. Mike Acton, Engine director at Insomniac Games spoke about it more in-depth in an hour long speech at CPPCon and outlined why generally the OOP design paradigm is harmful to everyone. There is also this discussion on StackOverflow that talks about it more in-depth than I will in this issue text.

Point being, you're going a lot of the same operations on a large set of data, so why not make it easier for your CPU to do that?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions