Cold, Hard Cache Insomniacs Cache Simulator

Sdílet
Vložit
  • čas přidán 29. 07. 2024
  • In this 2017 GDC session, Insomniac Games' Andreas Fredriksson presents Insomniac Games' Cache Simulator, an in-house tool developed to gain additional insights into cache performance and utilization of arbitrary CPU code.
    Join the GDC mailing list: www.gdconf.com/subscribe
    Follow GDC on Twitter: / official_gdc
    GDC talks cover a range of developmental topics including game design, programming, audio, visual arts, business management, production, online games, and much more. We post a fresh GDC video every day. Subscribe to the channel to stay on top of regular updates, and check out GDC Vault for thousands of more in-depth talks from our archives.

Komentáře • 36

  • @THERE_IS_NO_DATA
    @THERE_IS_NO_DATA Před 3 lety +20

    So this is how they archive such amazing visuals in old hardware that is not ridiculously powerful hardware, by being extremely memory efficient and taking the time to optimize every part of the Game!
    Simply Amazing!

  • @Littlefighter1911
    @Littlefighter1911 Před 2 lety +5

    As someone who's been playing around with CheatEngine a lot, this smells like familiar black magic of the forbidden arts of modding, cheating and reverse engineering.

  • @scottmonaghan1078
    @scottmonaghan1078 Před 3 lety +3

    using what was already there in a clever way - love to see it. cant wait to see the legacy of what this turns into

  • @dicegameuchiha
    @dicegameuchiha Před 3 lety +4

    thank you for releasing this talk!

  • @thegnosticatheist
    @thegnosticatheist Před 3 lety

    mind-blowing

  • @peterdelevoryas4684
    @peterdelevoryas4684 Před 3 lety +3

    Did the people with questions at the end not listen to the beginning of the talk?? The first thing he covered was how this compares to cachegrind and hardware performance counters.

  • @soraaoixxthebluesky
    @soraaoixxthebluesky Před 3 lety +12

    Insomniac I love you guys!
    Edit: This is what we call a true optimisation. *cough*Ubisoft*cough*

    • @machinefannatic99
      @machinefannatic99 Před 3 lety +4

      Well insomniac make games for singular system PlayStation mainly there games have to be infinitely optimised whereas Ubisoft make games for any thing called a computer they'll never be optimised

    • @ThePaypay88
      @ThePaypay88 Před 3 lety +1

      @@machinefannatic99 I'm sure ubisoft has optimization tools too. You can't make 4-5 big AAA ass games without breaking that fast every year.
      They probably have super fast pipeline also remote teams from different countries-different time etc.

    • @machinefannatic99
      @machinefannatic99 Před 3 lety +2

      ThePaypay88 doesn't matter how many optimising tools you have you can't make a well optimised game when it has to work for a dozen devices. Insomniac games are locked 30 and locked 60 because they work for one device a PlayStation so they can squeeze as much performance on it that they want

    • @donkeyy8331
      @donkeyy8331 Před rokem +1

      @@machinefannatic99 Not at the time of this presentation, when they used to be independent.

  • @thanatosor
    @thanatosor Před rokem

    Keep local cache positions in parallel array ( also : avoiding the GetPosition() call entirely )
    Result : 650 us/frame saved

  • @GonziHere
    @GonziHere Před 3 lety +5

    Wow. Just Wow. I didn't get most of it, just concepts and ideas and I'm amazed by the knowledge needed to work on this level. I'm not scared by assembler or c++, yet doing this is so much outside the "normal" programming that I'm simply unable to think about it... Just the fact that you add a significant performance boost by changing the order of properties is simply baffling (from the algorithm perspective).
    I understand the problem itself, but I would be only able to do some pragma comments, like "optimize this loop to fit into the cache" :-D. I know that I'm just some random programmer, but it nice to be reminded how the gods think.

    • @ThePaypay88
      @ThePaypay88 Před 3 lety +4

      its not rocket science. ( maybe it is because game devs usually hired to work on rockets since they are pretty similiar)
      but you just read books , do some experiments take some classes. It's just different kind of path in computer science. That's not flashy like AI or web development but hero we need.

    • @GonziHere
      @GonziHere Před 3 lety +1

      @@ThePaypay88 I get it, it's just that If you want to program the game, you go from really high concepts (city life manager) to really low concepts (this instruction misses L1) and you just cannot grasp all of it (and then there is the rest of the game).
      Which is I guess why indies tend to be pretty demanding all things considering. I just cannot read upon AI, physics, game algorithms, Unreal architecture, c++ principles, networking, ... and add this layer on top of it. It's simply impossible. But the people that can work on this level are the guys who make Tsushima loading speeds or Factorio scale possible, I guess.
      My respect is partly based on the fact that they actually can spend time on these things. I assume that working on that was incredibly rewarding.

    • @UgurkanAtes
      @UgurkanAtes Před 3 lety +3

      @@GonziHere i mean thats why most indies use game engines which hopefully do some optimization ( not to extent like this ) obviously.
      its time-money balance.

    • @UgurkanAtes
      @UgurkanAtes Před 3 lety +1

      check Chermo on youtube , he has lots of good tutorials

    • @GonziHere
      @GonziHere Před 3 lety

      @@UgurkanAtes Yep, I watch Chermo - but that's pretty much what I mean... he barely touches on these topics (for obvious reasons).

  • @Blag_Cog
    @Blag_Cog Před 3 lety +5

    Really great talk. Interesting that this would be released publicly just after PS5 was released. PS5 has a ton of cache customizations so it makes sense they would use something like this as well.

    • @Rakkoonn
      @Rakkoonn Před 3 lety +2

      It wasn't. This is from 2017, just was only on the site and not on CZcams yet.

    • @Blag_Cog
      @Blag_Cog Před 3 lety

      @@Rakkoonn I thought those on the site weren't public. There is a lot you can't watch there. But yes it was a great talk.

  • @ZanyarSaid96
    @ZanyarSaid96 Před rokem

    Isn't Andreas Fredriksson Swedish? 😀 Great presentation by the way. Heja Insomniac!

  • @DanielKierkegaardAndersen

    Hmm.. this got me curious, now i wanna implement it into Unity 👀

    • @snaldan7228
      @snaldan7228 Před 2 lety +1

      Well the author (Anderson) and Mike Acton (former engine director at Insomniac, his "boss" he mentions in the talk) work both at Unity now on DOTS.
      Sound very promising for Untiy

    • @DanielKierkegaardAndersen
      @DanielKierkegaardAndersen Před 2 lety +1

      @@snaldan7228 I know Anderson, is two heads up from me, he's my managers manager :P

  • @UgurkanAtes
    @UgurkanAtes Před 3 lety +2

    Pretty good and lmao I was calling myself embedded developer , embedded developer my ass ( me )

  • @UgurkanAtes
    @UgurkanAtes Před 3 lety

    One thing I didn't understand , why they are not using Valgrind since all playstations are based on some kind of openBSD(linux?). Maybe this cache sim was before and they were using VR-windows-xbox games ?

    • @Shl0kk
      @Shl0kk Před 3 lety +1

      3:03 - he references valgrind at that timestamp

    • @UgurkanAtes
      @UgurkanAtes Před 3 lety

      @@Shl0kk yeah but he says its on linux so they dont use it. I guess they develop games on windows and just compile for Sony machine ? IDK how console exclusive development works really. But what im guessing sony have some glorofied IDE access via ssh to devkits or something . So they probably use VStudio and connect to devkits. But what i dont understand since they compile for linux(ps4 code) i thought valgrind would work
      IDK really

    • @Shl0kk
      @Shl0kk Před 3 lety +1

      @@UgurkanAtes Perhaps windows is their preferred development environment ... but I think it's due to their engines needing to work on more than just playstations, hence, why he did that demo on simulating a jaguar console - and also, apparently, because valgrind is really slow

    • @UgurkanAtes
      @UgurkanAtes Před 3 lety

      @@Shl0kk yeah thats what i said ( all this work was before sony acquisition ) they were doing pc vr games , mobile and xbox -pc stuff

    • @Psyk60
      @Psyk60 Před 3 lety +1

      @@UgurkanAtes Yes, development for consoles is usually done on Windows in Visual Studio and then remotely deployed to a console devkit.
      Maybe there would be some way to get valgrind working on it, but the devkits don't give you the same level of access to the core OS as you'd get on a PC. The underlying OS might be based on FreeBSD (or some other open source OS), but you can only really use it via the tools provided by the manufacturer. So it might be tricky to get that working unless it's something that's already supported.
      Even if you could get that to work, having something you can use on Windows is more convenient because then you don't need a devkit.

  • @arsenbabaev1022
    @arsenbabaev1022 Před 3 lety +1

    1st