One of the problems with most Data Oriented Design talks is that they are still done from a high-level... only going as far as register, vs. caches, vs. RAM. Data Oriented Design (proper DOD) is a superior way to architect software regardless of performance. It can pretty much guarantee being free of state-related bugs, be highly extensible and offers flexibility without major upheavals (refactors) when requirements change. WRT performance, yes cache line optimizations are important, but the more fundamental part is super scalar architecture, and being able to minimize dependency chains. THAT is where DOD can shine.
The best one to understand DOP, I am trying my best to understand Unity ECS, this video clear my some of my doubts. Thanks. Keep it up. While watching the video is in 16k subs and 2705 views.
Please stop letting this guy talk about ECS when he barely knows more than what the Wikipedia page for ECS already states. All of these talks begin with 30-40 minutes of reiteration of the exact same content before actually getting somewhere, YES WE KNOW WHAT CACHE IS, it gets very tiresome. He disregards the performant flecs library, which is the most elegant, and feature full ECS that exists (check out its entity relationships feature) - Because it is implemented in C?? If he put a little bit of effort or exercised his brain just a moment longer than "C bad, C++ good" he would have known that it has safe modern C++ API and great bindings for all other popular systems languages
I had a similar feeling after I watched this presentation. ECS is not only about performance, it is a different programming paradigm, which influences how we design software. I used to deliver many talks on this topic, here is the latest one which is already 5 years old th-cam.com/video/lt4eL4RSx7k/w-d-xo.htmlsi=BPBI7UqdLBGNxUSF
I found this talk useful. I’m making an app for the Apple Vision Pro and have never used ECS. What I found useful is this talk gives a good answer to WHY use ECS, as opposed to just what it is. Now, I don’t think it’s the only why, I know anything well-designed has multiple whys, but it’s good to see the detail of one It’s not all about arguments between languages, it’s nice to have some basic concepts and the reasons as to why explained.
One of the problems with most Data Oriented Design talks is that they are still done from a high-level... only going as far as register, vs. caches, vs. RAM.
Data Oriented Design (proper DOD) is a superior way to architect software regardless of performance. It can pretty much guarantee being free of state-related bugs, be highly extensible and offers flexibility without major upheavals (refactors) when requirements change.
WRT performance, yes cache line optimizations are important, but the more fundamental part is super scalar architecture, and being able to minimize dependency chains. THAT is where DOD can shine.
The best one to understand DOP, I am trying my best to understand Unity ECS, this video clear my some of my doubts.
Thanks. Keep it up.
While watching the video is in 16k subs and 2705 views.
Another interesting structure to look at is "slot_map".
1:17:42 Mathieu’s talk from ACCU 2023: th-cam.com/video/M6rTceqNiNg/w-d-xo.html
14:30 Mike Acton’s talk from CppCon 2014: th-cam.com/video/rX0ItVEVjHc/w-d-xo.html
2:41 Unity describing their megacity demo in GDC 2019: th-cam.com/video/UPnLa0LMbHQ/w-d-xo.html
21:34 some recent research into the Intel prefetcher pattern detector: th-cam.com/video/5i1wUawrpAk/w-d-xo.htmlm54s
Great talk! Similar talk with some more concrete examples: th-cam.com/video/IroPQ150F6c/w-d-xo.html
Please stop letting this guy talk about ECS when he barely knows more than what the Wikipedia page for ECS already states. All of these talks begin with 30-40 minutes of reiteration of the exact same content before actually getting somewhere, YES WE KNOW WHAT CACHE IS, it gets very tiresome. He disregards the performant flecs library, which is the most elegant, and feature full ECS that exists (check out its entity relationships feature) - Because it is implemented in C?? If he put a little bit of effort or exercised his brain just a moment longer than "C bad, C++ good" he would have known that it has safe modern C++ API and great bindings for all other popular systems languages
I had a similar feeling after I watched this presentation. ECS is not only about performance, it is a different programming paradigm, which influences how we design software. I used to deliver many talks on this topic, here is the latest one which is already 5 years old th-cam.com/video/lt4eL4RSx7k/w-d-xo.htmlsi=BPBI7UqdLBGNxUSF
I found this talk useful. I’m making an app for the Apple Vision Pro and have never used ECS. What I found useful is this talk gives a good answer to WHY use ECS, as opposed to just what it is. Now, I don’t think it’s the only why, I know anything well-designed has multiple whys, but it’s good to see the detail of one
It’s not all about arguments between languages, it’s nice to have some basic concepts and the reasons as to why explained.