Bonus Feature: Data Alignment, Part 2
In the latest in a series of discipline-oriented bonus features, Gamasutra presents the second half of Noel Llopis' Data Alignment feature
, the first installment
of which ran earlier this month.
As originally run in Game Developer magazine earlier this year, Data Alignment Part 2: Objects on The Heap and The Stack further tackles the difficulties in making sure data can be readily accessed conveniently, as to increase performance of games. Or, as Llopis puts it, "With these techniques in hand, you should be able to control where your data is placed. Maybe it will instill in you a healthy fear for the intricate details of C++, but it will also allow you to take full advantage of that hardware with those alignment restrictions, and hopefully bump your game into a solid 60fps."
Llopis takes the discussion of data alignment to the array and stack, two areas of C programming that require special attention. Llopis suggests, "There are a variety of ways to deal with array alignments, some more complex than others. However, there is one method that is easy, fast, and has no overhead: Set the desired static alignment for the structure."
Llopis also warns, "The last allocation type we need to deal with is the stack. Even though the stack is one of the easiest memory allocation types to understand and work with, it's the one where ensuring alignment can be the hardest."
To discover his solutions in-depth, hit the full feature
, which is published on Gamasutra today.