I found what makes even simple loops 4x slower

Поділитися
Вставка
  • Опубліковано 13 тра 2024
  • 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 роки тому +2

    Here's some more ECS talks:
    Overwatch architecture: www.gdcvault.com/play/1024001/-Overwatch-Gameplay-Architecture-and
    SAConf: ua-cam.com/video/SFKR5rZBu-8/v-deo.html
    RustConf talk: ua-cam.com/video/aKLntZcp27M/v-deo.html
    Check the description for even more resources!

  • @addvector4918
    @addvector4918 5 місяців тому +2

    I wasnt expecting an ecs runthrough from the title but you did a great job running it down!

  • @DanieleTabanella
    @DanieleTabanella 2 роки тому +5

    Pure gold, can't wait to access that repository

  • @browsermage
    @browsermage 2 роки тому +2

    Your content is getting better and better Tommy, well done!

  • @Mickey-pt7yi
    @Mickey-pt7yi 2 роки тому +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
      ua-cam.com/play/PLumYWZ2t7CRtUDC3eEpa5EZgSmbSdBBI7.html

    • @supertommy
      @supertommy  2 роки тому

      I think you’ve seen some of them but it goes through sprites, then Arcade Physics, and lastly Matter Physics

  • @LawZist
    @LawZist 2 роки тому +1

    Really enjoy your videos!

  • @th1nhng0
    @th1nhng0 2 роки тому +2

    Great content

  • @terry-
    @terry- Рік тому +2

    Great! I knew there was an evolution from plain OOP. I think this seds me in the right pad.

  • @indycinema
    @indycinema 2 роки тому +1

    You make great videos sir. You need more subs.

  • @EridCR
    @EridCR Місяць тому

    Hi! Have you released the repository? I tried looking for it, and I couldn't find it.
    Thanks for these videos!

  • @y-li2983
    @y-li2983 2 роки тому +1

    Great video.

  • @annbushhome
    @annbushhome Рік тому +1

    top notch content

  • @DarkDunkelheit
    @DarkDunkelheit 2 роки тому +1

    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 роки тому +1

      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!

  • @Architector_4
    @Architector_4 8 місяців тому +3

    ...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

  • @dakunskye
    @dakunskye Рік тому +1

    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 роки тому +1

    So there is alpha?

    • @supertommy
      @supertommy  2 роки тому

      Not yet but working on it!

  • @dontvoteme2829
    @dontvoteme2829 Рік тому +1

    Bruh my computer just looped like 16x slower

  • @execute214
    @execute214 4 місяці тому

    It's windows, that's the cause