Jump to content

Photo

CppCon 2014: Mike Acton "Data-Oriented Design and C++"


  • Please log in to reply
1 reply to this topic

#1 theDaftDev

theDaftDev

    Kilobyte

  • Members
  • 205 posts
  • LocationParis

Posted 17 December 2014 - 01:47 PM

Figured out I didn't share this here: 

 

 

As when I discussed about it with some friends and I'm too lazy to rephrase: 

I think Mike Acton sometimes gets kinda extreme in his way of introducing people to his viewpoint around data oriented designs in video games. Just keep in mind that his point here is to seek for the performance and the optimization, thus we're dealing with the very low level parts of a game engine. A game engine as a whole does require a certain level of abstraction, though. Finding a way to strike the balance between an optimized game, targeting a defined plateform, while keeping this abstraction level strong enough to sustain a fast and easy development for the people working with higer level ends of the engine is the way to go, I suppose.

 

So this one nuances Mike Action's point of view and is also really relevant to my eyes: 

 

 

Your thoughts? 


userbar.gif

 


#2 SushiKitten

SushiKitten

    Coffee Cat

  • Members
  • 1,911 posts
  • LocationCanada

Posted 17 December 2014 - 06:37 PM

About 10 minutes in, he compares programming games to the mars rover. Most of his points were the features of object oriented programming anyway, I didn't really see the connection.

 

I learned a bit from him though. While I agree with you that he was a bit extreme with his methods, it never really clicked with me that code is all about moving data around and we should be aware of said data to solve problems. But that's not all there is. The three big lies of C++: do people actually think software is a platform? I think building your code around a model of the world is a decent idea as an initial design, but yeah it makes sense to organize your inheritance around what's going to optimize shared code, which might not always be the world view model.

 

Anyway, once he started getting into cache optimizations I got bored and stopped listening. Pretty funny because I did the same thing when learning that stuff in my computer architecture class this past semester.