informa
2 MIN READ
News

Feature: Data-Oriented Design - Now And In The Future

In an Intel-sponsored reprint of a Game Developer magazine article from September 2010, game industry coder and veteran Noel Llopis takes a closer look at Data-Or
In an Intel-sponsored reprint of a Game Developer magazine article from September 2010, game industry coder and veteran Noel Llopis takes a closer look at Data-Oriented Design. Llopis notes that, by reorganizing the entity update function, it's possible to "significantly improve performance and parallelization". "By removing the ray cast calls from within the entity update function, we've shortened the call tree significantly," he explains. "The functions are more self-contained, easier to understand, and probably much more efficient because of better cache utilization." "You can also see how it would be a lot easier to parallelize things now by sending all ray casts to one core while another core is busy updating something unrelated (or maybe by spreading all ray casts across multiple cores, depending on your level of granularity)." However, Llopis points out that, "If this is the only change we make to the entity update, and the rest of the code is the usual deep tree-traversal code, we might not have gained much because we're still blowing the cache limits with every update." He suggests that modifying the data to fit the way it's being used is the key to boosting the performance. "After seeing how the entity is updated in two separate passes," he says, "you might notice that only some of the data that was stored in the entity object is touched on the first update, while the second pass accesses more specific data." "At that point we can split up the entity class into two different sets of data. Then the most difficult task is to name these sets of data in some meaningful way. They're not representing real objects or real-world concepts anymore, but different aspects of a concept, broken down purely by how the data is processed." The sponsored feature is live now on Gamasutra, and goes into more depth regarding ways to improve performance for Data-Oriented Design.

Latest Jobs

Sucker Punch Productions

Hybrid (Bellevue, WA, USA)
11.30.23
Senior Programmer

The Pyramid Watch

Remote
11.22.23
Game Designer (RTS/MOBA)

Sucker Punch Productions

Hybrid (Bellevue, WA, USA)
11.30.23
Senior Technical Combat Designer

Digital Extremes

Remote
11.13.23
Lead AI Programmer
More Jobs   

CONNECT WITH US

Explore the
Advertise with
Follow us

Game Developer Job Board

Game Developer

@gamedevdotcom

Explore the

Game Developer Job Board

Browse open positions across the game industry or recruit new talent for your studio

Browse
Advertise with

Game Developer

Engage game professionals and drive sales using an array of Game Developer media solutions to meet your objectives.

Learn More
Follow us

@gamedevdotcom

Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more