I found what makes even simple loops 4x slower

  Рет қаралды 8,742

supertommy

supertommy

2 жыл бұрын

The ideas are baked into the Entity Component System or ECS architecture and it can turn a loop that takes 2 seconds to run into one that takes more than 8 seconds!
Join us on Discord: / discord
Follow us on Twitter: / ourcadehq
📚 More resources to understand ECS:
Scott Bilas GDC 2002: www.gamedevs.org/uploads/data...
Evolve Your Hierarchy: cowboyprogramming.com/2007/01...
Adam Martin ECS: t-machine.org/index.php/2007/1...
Benchmarks: github.com/noctjs/ecs-benchmark
ECS FAQ: github.com/SanderMertens/ecs-faq
Memory in JS: / memory-in-javascript-b...
Data Locality: gameprogrammingpatterns.com/d...
🎬 ECS Talks:
Overwatch architecture: www.gdcvault.com/play/1024001...
SAConf: • Entity Component Syste...
RustConf talk: • RustConf 2018 - Closin...
👾👾👾
Ourcade is a playful #gamedev community for open-minded and optimistic learners and developers. 🎮🕹👾🤗 ourcade.co
#javascript #ecs

Пікірлер: 33
@supertommy
@supertommy 2 жыл бұрын
Here's some more ECS talks: Overwatch architecture: www.gdcvault.com/play/1024001/-Overwatch-Gameplay-Architecture-and SAConf: kzbin.info/www/bejne/iXeug2ioj6eoY5o RustConf talk: kzbin.info/www/bejne/l3yvn6eQmNVlba8 Check the description for even more resources!
@addvector4918
@addvector4918 5 ай бұрын
I wasnt expecting an ecs runthrough from the title but you did a great job running it down!
@DanieleTabanella
@DanieleTabanella 2 жыл бұрын
Pure gold, can't wait to access that repository
@supertommy
@supertommy 2 жыл бұрын
Thanks!
@browsermage
@browsermage 2 жыл бұрын
Your content is getting better and better Tommy, well done!
@supertommy
@supertommy 2 жыл бұрын
Thank you! 🤗
@LawZist
@LawZist 2 жыл бұрын
Really enjoy your videos!
@supertommy
@supertommy 2 жыл бұрын
Thanks!
@terry-
@terry- Жыл бұрын
Great! I knew there was an evolution from plain OOP. I think this seds me in the right pad.
@Mickey-pt7yi
@Mickey-pt7yi 2 жыл бұрын
I'm looking forward to it so much, I just wanted to ask if there is a complete video about ecs. I've been researching the use of ecs+phaser recently, but it's a bit difficult to use. I hope I can see it sooner, looking forward to it!
@supertommy
@supertommy 2 жыл бұрын
We do have a playlist for bitECS and Phaser 3: Beginning ECS in Phaser 3 kzbin.info/aero/PLumYWZ2t7CRtUDC3eEpa5EZgSmbSdBBI7
@supertommy
@supertommy 2 жыл бұрын
I think you’ve seen some of them but it goes through sprites, then Arcade Physics, and lastly Matter Physics
@th1nhng0
@th1nhng0 2 жыл бұрын
Great content
@supertommy
@supertommy 2 жыл бұрын
Thanks!
@indycinema
@indycinema 2 жыл бұрын
You make great videos sir. You need more subs.
@supertommy
@supertommy 2 жыл бұрын
Thanks!
@y-li2983
@y-li2983 2 жыл бұрын
Great video.
@supertommy
@supertommy 2 жыл бұрын
Thanks!
@annbushhome
@annbushhome Жыл бұрын
top notch content
@supertommy
@supertommy Жыл бұрын
Thank you!
@EridCR
@EridCR Ай бұрын
Hi! Have you released the repository? I tried looking for it, and I couldn't find it. Thanks for these videos!
@DarkDunkelheit
@DarkDunkelheit 2 жыл бұрын
Amazing video, but Phaser already has an ECS under the layer I think, so I guess some things already are optimized but other aren't like in the example??
@supertommy
@supertommy 2 жыл бұрын
Thanks! Phaser 3 does have the concept of components and they are used more like mix-ins. Phaser 4 has plans to use a Struct of Arrays style of ECS by using bitECS but things may change as development continues on that!
@dakunskye
@dakunskye Жыл бұрын
Skipping the ECS fanboy bit, pack your data in chunks that its likely to be read in and access it in predictable ways. ECS doesnt mean this by default and can be done with some pre planning and understanding how arrays work.
@jeeperscreeperson8480
@jeeperscreeperson8480 Жыл бұрын
It's enough to open an Intel optimization manual to discover more loop optimizations besides memory access.
@reddaygr
@reddaygr 3 ай бұрын
This video would have the same impact with or without the ECS section. Really ECS doesn't mean anything when your initial talking point is just about iterating an Array without messing up the data locality.
@Evan842Complex
@Evan842Complex 2 жыл бұрын
So there is alpha?
@supertommy
@supertommy 2 жыл бұрын
Not yet but working on it!
@Architector_4
@Architector_4 8 ай бұрын
...god, why did you have to add in extremely loud whooshing sound effects that make it hard to understand what you're saying during them ._.
@regys9521
@regys9521 7 ай бұрын
it is also really distracting to say the least
@dontvoteme2829
@dontvoteme2829 Жыл бұрын
Bruh my computer just looped like 16x slower
@supertommy
@supertommy Жыл бұрын
It can definitely vary!
@execute214
@execute214 4 ай бұрын
It's windows, that's the cause
Bob Nystrom - Is There More to Game Architecture than ECS?
23:06
Roguelike Celebration
Рет қаралды 187 М.
Should You Use DOTS in 2024? (plus what is Unity ECS)
30:15
Turbo Makes Games
Рет қаралды 34 М.
Зу-зу Күлпәш. Стоп. (1-бөлім)
52:33
ASTANATV Movie
Рет қаралды 866 М.
Trágico final :(
01:00
Juan De Dios Pantoja
Рет қаралды 21 МЛН
Don’t take steroids ! 🙏🙏
00:16
Tibo InShape
Рет қаралды 28 МЛН
Barriga de grávida aconchegante? 🤔💡
00:10
Polar em português
Рет қаралды 45 МЛН
Entity Component System | Coding a 2D Game Engine in Java #10
30:52
GamesWithGabe
Рет қаралды 26 М.
When Optimisations Work, But for the Wrong Reasons
22:19
SimonDev
Рет қаралды 766 М.
Building a fast ECS on top of a slow ECS
8:03
UnitOfTime
Рет қаралды 25 М.
Dear Game Developers, Stop Messing This Up!
22:19
Jonas Tyroller
Рет қаралды 670 М.
I Optimised My Game Engine Up To 12000 FPS
11:58
Vercidium
Рет қаралды 445 М.
FLECS - The Fast Lightweight Entity Component System (C/C++)
10:26
Gamefromscratch
Рет қаралды 19 М.
EnTT -- C++ ECS Gaming Library
14:29
Gamefromscratch
Рет қаралды 25 М.
20 Advanced Coding Tips For Big Unity Projects
22:23
Tesseract
Рет қаралды 146 М.
I Made a Game in Powerpoint
9:37
PolyMars++
Рет қаралды 1,8 МЛН
Зу-зу Күлпәш. Стоп. (1-бөлім)
52:33
ASTANATV Movie
Рет қаралды 866 М.