Why is PS3 emulation so fast: RPCS3 optimizations explained

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ธ.ค. 2024

ความคิดเห็น • 1.4K

  • @MrWhatcookie
    @MrWhatcookie  8 หลายเดือนก่อน +1757

    Do you feel like an assembly wizard after finishing the video?

    • @jack54guy
      @jack54guy 8 หลายเดือนก่อน +117

      Havent finished, tho I want to thank you and the other devs for allowing me to play Toy Story 3 in a superior way.

    • @stevensv4864
      @stevensv4864 8 หลายเดือนก่อน

      Hello staff, nice to greet you.
      I'm here to share a video that you may not even see but I'll try anyway, I'm a fan of God of War 3 and I never had a PS3, thanks to you I can play it at a speed and graphic levels higher than the PS3, bravo to you. However, I have noticed a problem that I tried to share in the discord group but for some reason no one could understand me, I think I was a bit insistent about making a video to show what I saw but in the end they ended kicked me from the group unfortunately. Here I share it with you, greetings and thanks to you guys.
      th-cam.com/video/2_DBNvavIH0/w-d-xo.html

    • @dacueba-games
      @dacueba-games 8 หลายเดือนก่อน +259

      I feel like the dumbest man alive

    • @HellBaron-rb4vu
      @HellBaron-rb4vu 8 หลายเดือนก่อน +37

      you cant just tease us with an SPU doujinshi and not give us any names or sauce like that, can you?
      I REQUIRE that sauce IMMEDIATELY.

    • @ppolo12
      @ppolo12 8 หลายเดือนก่อน +19

      ​@@HellBaron-rb4vu
      SPEを256倍使い倒すための

  • @devzozo
    @devzozo 8 หลายเดือนก่อน +4008

    I swear, every video about assembly optimization has something along the lines of "this implementation was slow, so I used the fppnis14c0012gngbng12 instruction..."

    • @thepwrtank18
      @thepwrtank18 7 หลายเดือนก่อน +1

      2032: "this implementation was slow, so I used the "playgranturismo6" instruction and it worked perfectly

    • @tuple5982
      @tuple5982 7 หลายเดือนก่อน +51

      frfr

    • @Eric-zz5ij
      @Eric-zz5ij 7 หลายเดือนก่อน +363

      pnis and gngbng was on purpose right?

    • @-dubu
      @-dubu 7 หลายเดือนก่อน +180

      RISC bros in shambles

    • @atlusofstone
      @atlusofstone 7 หลายเดือนก่อน +299

      Floating Point Precision for Negative Integer Sequences version 14C-0012 Grouping Numbers Greater than Bitwise Negative Generating 12
      Is one of the instructions of all time!!
      It's used when you need to group 2 buffers (compatible with arrays/lists) of negative integers of size -12.3333... bytes or smaller.
      It's a rarely used opcode, but can be found in programs that convert 0D Video Renders of 4D Hyperspace Simulations to 3D Videos, make JavaScript actually palatable (Note: Public builds were blacklisted due to the lack of web developer tears), solving web error 418, and Red Star OS to Temple OS compatibility (Not to be mistaken for 21gnbgng2100c41sinppf which is is used for Temple OS to Red Star OS compatibility).

  • @JacksooN2000
    @JacksooN2000 8 หลายเดือนก่อน +1281

    Geeking out about CPU instructions is something I never thought I'd be doing, but here I am, listening to a dude explain the intricacies of CELL emulation and not skipping the video...

    • @wykydytron
      @wykydytron 8 หลายเดือนก่อน +7

      Same, I don't really care but it's still very interesting

    • @wyattbottorff2473
      @wyattbottorff2473 7 หลายเดือนก่อน +1

      Same. And I even downloaded it to finish later! (Now)

  • @J.A.Z-TheMortal
    @J.A.Z-TheMortal 8 หลายเดือนก่อน +1688

    I am not a developer, so i don't fully understand, but as a emulation enthusiast, i want to thank all of you for your work. It is a shame that Sony opted not to provide Backwards compatibility with the PS5, so you are not only doing Sony's work, you guys are doing it much better than they would ever do!!

    • @xmaverickhunterkx
      @xmaverickhunterkx 8 หลายเดือนก่อน +120

      It would be cheaper for them too. No need to keep PS3 servers for cloud gaming.

    • @guy_autordie
      @guy_autordie 8 หลายเดือนก่อน +59

      If you make a server-client system, you have to handle it to the end of Time or give the code to the public.

    • @Katiethekitten
      @Katiethekitten 8 หลายเดือนก่อน

      Amen

    • @itsdokko2990
      @itsdokko2990 8 หลายเดือนก่อน +48

      as someone who has the coding skills of a chimpanzee under the effects of LSD, i concur with you. You coders are freaking godsends, if it weren't for you all, i wouldn't be able to re-live my adolescence days playing MGS Peace Walker and many other games

    • @Kabodanki
      @Kabodanki 8 หลายเดือนก่อน +5

      @@guy_autordienobody does that though

  • @andraszodon
    @andraszodon 8 หลายเดือนก่อน +2617

    the SPU doujinshi bit killed me

    • @nonetrix3066
      @nonetrix3066 8 หลายเดือนก่อน +106

      I will use this to learn Japanese

    • @lucascamelo3079
      @lucascamelo3079 8 หลายเดือนก่อน +121

      Japan is built different

    • @hsmreu
      @hsmreu 8 หลายเดือนก่อน +5

      Funny

    • @ManuelSLaraBisch
      @ManuelSLaraBisch 8 หลายเดือนก่อน +77

      I have a doujinshi that tells you how to build a SAN to house your collection of animu recordings, and thought that was exotic. Now i need to hunt down processor code doujinshi.

    • @1Bagoly1
      @1Bagoly1 8 หลายเดือนก่อน +19

      fr, i only knew about the database manga until now

  • @kombinezon
    @kombinezon 8 หลายเดือนก่อน +355

    - shows up
    - creates one of the most influential piece of code for PS3 emulation
    - explains everything in detail
    - leaves
    You Sir, are a gentleman and a scholar

    • @Dubulcle
      @Dubulcle 3 หลายเดือนก่อน +2

      "Influential" has become such an overused word

    • @fraydizs7302
      @fraydizs7302 3 หลายเดือนก่อน +14

      @@Dubulcle except its not in this case. This video has over half a million views and is directly referring to something that has lead to a major leap in the emulation performance and compatibility of a very popular console.

    • @Rodemu
      @Rodemu 2 หลายเดือนก่อน

      You could have made that comment in a less cringeworthy way man the hell is that hahahah you think this is reddit or 4 chan?

  • @stylie473joker5
    @stylie473joker5 8 หลายเดือนก่อน +2097

    I have no idea what you're saying but still enjoyed it thank you for the explanation

    • @Jay34k
      @Jay34k 8 หลายเดือนก่อน +25

      same

    • @delatomvione9943
      @delatomvione9943 8 หลายเดือนก่อน +23

      You have to learn Computer Architectures bro.

    • @The.love1
      @The.love1 8 หลายเดือนก่อน +47

      this is not good explaintion ,,it is like you speak a foreign space language , that no know understand ,,and since the majority of the viewers ,here can not understand this technical stuff ,,if you want everyone to benefit from your knowledge ,,,you should teach us and explain it in a beginner easy way,,

    • @Greeem
      @Greeem 8 หลายเดือนก่อน +53

      @@The.love1 get over it

    • @PowerUpT
      @PowerUpT 8 หลายเดือนก่อน +81

      "I like your funny words, magic man!"

  • @dp12345god
    @dp12345god 8 หลายเดือนก่อน +89

    Mr.Sujano Brought me here and even though I don't really understand it on a deep level I deeply enjoyed it thank you.

    • @ThatGuy-ky2yf
      @ThatGuy-ky2yf 8 หลายเดือนก่อน +6

      All stuff and no fluff

  • @dormanthero
    @dormanthero 8 หลายเดือนก่อน +443

    RPCS3 doing emulation gods work. Thanks to the team as always for allowing me to play my old Ps3 games and my favourite online game ever Metal Gear Online 2

    • @ForeverZer0
      @ForeverZer0 7 หลายเดือนก่อน +3

      I am still salty that we will never get another MG game.

    • @DawnApon
      @DawnApon 5 หลายเดือนก่อน +2

      ​@@ForeverZer0 Well you can look forward to MGS 3 Delta (the remake)

    • @fireballs7346
      @fireballs7346 5 หลายเดือนก่อน

      Its shite they cant even implement fsr 3 with frame gen lazy devs as always

    • @Dark_sparky
      @Dark_sparky 4 หลายเดือนก่อน +1

      Playing MGO2 on it is amazing, can confirm.

  • @indignasmr7379
    @indignasmr7379 8 หลายเดือนก่อน +243

    As someone who hasn't seen this channel, I expected this to be 23 minutes of nothing-talk, but I still clicked because I love the idea of PS3 emulation. I was not expecting such an in-depth, real essay on the instruction set optimizations. Awesome surprise, dude (: Thanks for the video

  • @riccardoman7620
    @riccardoman7620 8 หลายเดือนก่อน +37

    thank you so much for your contribution to the rpcs3 project

  • @magiccandy0619
    @magiccandy0619 8 หลายเดือนก่อน +552

    So many abbreviations, I thought you were casting a spell on me.

    • @samlletas
      @samlletas 8 หลายเดือนก่อน +5

      😂

    • @Thunder_Owl
      @Thunder_Owl 8 หลายเดือนก่อน +2

      😁😄😆

    • @KitOkunari
      @KitOkunari 8 หลายเดือนก่อน +3

      Techno wizard.

    • @Elratauru
      @Elratauru 8 หลายเดือนก่อน +8

      "Any sufficiently advanced technology is indistinguishable from magic" - Clarke's third law

    • @georgepierre3594
      @georgepierre3594 7 หลายเดือนก่อน +2

      I think people who develop emulators would understand. Regular person hell naw

  • @guest7329
    @guest7329 8 หลายเดือนก่อน +35

    Great video
    YT has a lot of videos about 6502
    And in depth high performance emulation content very rare
    Looking forward for more stuff 😊

  • @TMracer73
    @TMracer73 8 หลายเดือนก่อน +19

    Thanks for the video. IN the past I followed rpcs3 progress and also supported it. It was always for read about the new improovements.

  • @fgregerfeaxcwfeffece
    @fgregerfeaxcwfeffece 8 หลายเดือนก่อน +120

    Epxlanation on "disabled for better yields":
    They basically only expect 7 out 8 to work. No matter if that's the case or not. If all work they just disable one arbitrarily to keep everything consistent.
    AMD did that too in Desktop CPU during the late 2000s so some times you could get literally free performance (Except for slightly higher thermals and power draw) by re-enabling one. (sometimes required custom bios. But one company actually implemented that in stock for a while. don't remember which one.) Or random crashes if it actually was broken. That's what the 3 cores where.

    • @Deliverygirl
      @Deliverygirl 8 หลายเดือนก่อน +46

      Disabling units is still very much done today, however now instead of disabling them in bios the transistors themselves are lasered off during the triage process when being manufactured. One of the reasons why the chiplet architecture used by AMD is so important is that it allowed to minimize losses from yields, it's a lot easier to manufacture smaller pieces with no defects and glue them together than to manufacture a massive monolithic piece of silicon with no defects.

    • @Jaker788
      @Jaker788 8 หลายเดือนก่อน +14

      ​​@@Deliverygirl Aside from large block cores. We also have GPUs that have more compute units or cuda cores but a percentage of them are disabled or were already bad, it's redundancy across much smaller parts of a chip compared to an SPU or CPU core
      The PS5 and Xbox both have redundant compute units for the GPU part of the SOC, but all of the CPU cores are expected to at least work within the designed operating frequency.

    • @chillhour6155
      @chillhour6155 6 หลายเดือนก่อน +5

      Biostar had core unlocker functionality in some of they're board's back in the day

    • @satibel
      @satibel 4 หลายเดือนก่อน

      sometimes one core will be slower but not completely out of commission too. (e.g. it will crash at over 2.5ghz instead of the rated 3.5)
      but yeah that's why we have binning, more often than not, I5 and I7 (or r5 and r7) are the same chip, just that the 5 series chips didn't pass all the tests, so they just have fuses blown off to isolate the misbehaving parts.
      it's kinda like if you buy a field, it's cheaper than another one of the same area, but there's sinkholes in it so they have been fenced off.

    • @Brahvim
      @Brahvim 4 หลายเดือนก่อน

      @@Deliverygirl So, binning?

  • @ZekuTokairin
    @ZekuTokairin 8 หลายเดือนก่อน +15

    This video is amazing! Thanks for breaking down the details in how a lot of these specific instructions save cycles, it's something i was always curious about!

  • @Wunkolo
    @Wunkolo 8 หลายเดือนก่อน +2287

    AVX-512 bros we keep winning 📈📈📈📈📈📈📈📈📈📈📈📈

    • @GhettoPCbuilds
      @GhettoPCbuilds 8 หลายเดือนก่อน +49

      11700K GANG

    • @Wunkolo
      @Wunkolo 8 หลายเดือนก่อน +60

      @@GhettoPCbuilds 11th gen gang THIS IS OUR MOMENT 🗣🗣🗣🗣🗣🗣🗣🗣

    • @stevensv4864
      @stevensv4864 8 หลายเดือนก่อน +134

      my i7 12700kf is nerfed thanks to intel, thanks intel.

    • @eekpanggang
      @eekpanggang 8 หลายเดือนก่อน +18

      12700KF 8P gang💪

    • @LandyRShambles
      @LandyRShambles 8 หลายเดือนก่อน +5

      Wunk Sighting

  • @ChannelSho
    @ChannelSho 7 หลายเดือนก่อน +27

    I remember back in the day people were saying how "impossible" it'd be to emulate the PS3 and the first release of this emulator would only able to play basic 2D games at an okay frame rate. I think this was also around the time PS2 emulation was barely taking off too with commercial 3D titles.
    Well, here we are.

    • @nyrahl593
      @nyrahl593 3 หลายเดือนก่อน +2

      Same, I first saw this on emucr and the comments were mocking it and laughing at the developers for making an attempt.... PCSX2 was pretty well developed by then but not without glitches.

    • @MuhammadAhmedQureshi-ed8ge
      @MuhammadAhmedQureshi-ed8ge 4 วันที่ผ่านมา

      Up until 4 years IT WAS very hard, if you emulate the last of us

  • @DJDiarrhea
    @DJDiarrhea 8 หลายเดือนก่อน +27

    Compiler design is a dark art and nobody can convince me otherwise

    • @sebastiangudino9377
      @sebastiangudino9377 2 วันที่ผ่านมา

      If you want to learn, there is a very approachable introduction calles "Crafting Interpreters". Which shows you how to make a very basic Lua based programing language, interpreting using another language's runtime, then finally compiling it directly to binary in C, all with simple language and nice/funny drawings in the process.

  • @Frickolas
    @Frickolas 8 หลายเดือนก่อน +190

    I knew the SPUs were hard to program for, but I had no idea that they were literally only capable of SIMD instructions. That's actually insane.

    • @platinumsun4632
      @platinumsun4632 8 หลายเดือนก่อน +9

      whosawhats

    • @jimb12312
      @jimb12312 8 หลายเดือนก่อน +30

      Not insane. They are SIMD accelerators, not the main CPU.

    • @saricubra2867
      @saricubra2867 7 หลายเดือนก่อน +1

      The CELL CPU predicted Big-Little ARM and Intel.

    • @jimb12312
      @jimb12312 7 หลายเดือนก่อน +14

      @@saricubra2867 Not the same concept. Big-Little refers to cores with different processing speed but the same functionality. The SPU's are coprocessors with totally different functionality to the CPU core.

    • @Anticorriente
      @Anticorriente 7 หลายเดือนก่อน

      ​@@saricubra2867Not Big.little but the APU's of AMD.

  • @OldKingMaple
    @OldKingMaple 8 หลายเดือนก่อน +13

    Fascinating, great video. Your explanations strike a good balance between not being too computer 101 and not being too technical that only another dev could follow.

  • @masonskellon5290
    @masonskellon5290 8 หลายเดือนก่อน +21

    I clicked on your page to find other similar conttent only to find only one video from 9 years ago...wow. Good work on the video man!

  • @actualFix
    @actualFix 8 หลายเดือนก่อน +86

    This is my first peek into how RPCS3 works, and I had no idea you guys utilise LLVM, but it makes sense.
    This was easy to follow (granted, I have some xp with x86 asm), and I'd love to see more!

  • @Kiyuja
    @Kiyuja 8 หลายเดือนก่อน +8

    I read through your blog about the importance of AVX-512 half a dozen times and I enjoyed it a lot. So seeing a video like this made me really happy, thank you!

  • @aaron96244
    @aaron96244 8 หลายเดือนก่อน +16

    I've been optimizing assembly since the days of the Pentium I and N64 RSP emulation. Your explanation was right on with my knowledge base and I've been dreaming of using LLVM for optimization for years. I just have never found myself between jobs. Best wishes. Awesome video!

  • @SimplyAustins
    @SimplyAustins 8 หลายเดือนก่อน +20

    Now this is Gold! Interesting look at some of the amazing work done optimizing code. The instructions explanation blows my mind as you talk in tongues. But makes me smile with the knowledge I have AVX512.
    You are a natural at the TH-cam stuff, definitely keep it up. If ever you need anything give me a shout, but looks like you got this in the bag if you continue.
    Great work on emulation and TH-cam!

    • @ThexXxXxOLOxXxXx
      @ThexXxXxOLOxXxXx 4 หลายเดือนก่อน

      Y u don't upload no more your videos used to always cheer me up

  • @sitedel
    @sitedel 8 หลายเดือนก่อน +9

    Ouch, this was a really tough video to follow !!
    Adress translation, single processing unit, single instruction multiple data, bitwise instructions, rvx-512 instructions, and so much more concepts only some nerds like me could understand ! I had to see it several times to mostly understand what you told as English is not my native language, I don't dare to enable subtitles because i thought they may not be accurate.
    Anyway.....
    Thanks a lot for this deep dive into PS3 emulation.

  • @Thatguy-uc3dy
    @Thatguy-uc3dy 8 หลายเดือนก่อน +9

    youtube just recommend this to me, I do love to know about how things work behind curtain about movies, games, hardware and software and while I have 0 technical knowledge about the subjects I look into, and everything you just said sounds like a foreign language, the one thing that is clear to me is that we are lucky to have people like you, making an emulator is often a thankless job, you hardly get any money for it or any recognition, you might not hear thank you often, so thank you for all you hard work, you and you your fellow devs, I really appreciate your work.

  • @timseguine2
    @timseguine2 8 หลายเดือนก่อน +11

    As someone who studied math at Uni, I think the fact that there are dedicated processor instructions for Galois Field Arithmetic is awesome.

  • @BretKuhns
    @BretKuhns 7 หลายเดือนก่อน +9

    YT kept recommending this video but I avoided it for the thirsty thumbnail. Finally checked it out thanks to a friend recommending it days later.

  • @Xaymar
    @Xaymar 8 หลายเดือนก่อน +8

    Woah, that timer instruction probably will fix one of the big power drains in one of my time sensitive software. Thanks man.

    • @MrWhatcookie
      @MrWhatcookie  8 หลายเดือนก่อน +5

      I'm glad you found a use for them! I included them in the video because I felt like nearly no one was aware of these instructions. There were probably more interesting things to talk about from the PS3 perspective, but I wanted to highlight some favourite x86 instructions too.

  • @garaktartv3647
    @garaktartv3647 8 หลายเดือนก่อน +6

    as soon as he pulled out a doujinshi about SPU programming i knew he was the real deal. you are doing god's work.

  • @astrea555
    @astrea555 8 หลายเดือนก่อน +16

    Great video even if I'm just an artist and not a programmer. Sometimes I wonder if buying a 7800X3D was a good choice for emulation and it's nice to see that at least rpcs3 is making use of avx 512 (wish it used the cache more tho)
    Defo curious to hear more from you. Nice Wipe gameplay, I've been playing it at 120fps myself, and I'm pretty amazed by RPCS3 right now, unlike somes like the S!witch emus, the frametimes are perfect with no stuttering issues at all. Disabling SPU related effects got me to play stuff like Motorstorm 3 at near 60fps, too.
    btw 2:05 no fucking way lol

    • @stevensv4864
      @stevensv4864 8 หลายเดือนก่อน +2

      if you ever buy it you should make a video with my settings in god of war 3, i want compare performance.

  • @MAJ0R_TOM
    @MAJ0R_TOM 8 หลายเดือนก่อน +57

    Been really enjoying Demon's Souls at 21:9 upscaled to 4k with online servers.

    • @zenmastakilla
      @zenmastakilla 8 หลายเดือนก่อน

      What's your frame rate?

    • @MAJ0R_TOM
      @MAJ0R_TOM 8 หลายเดือนก่อน +9

      @@zenmastakilla You can use a 60 fps patch. It works great with the only exception being the way the camera pans in cutscenes. It's like the camera still moves at 30 even though the animations still run at 60.

    • @zenmastakilla
      @zenmastakilla 7 หลายเดือนก่อน +1

      @@MAJ0R_TOM Is 120 fps possible?

    • @MAJ0R_TOM
      @MAJ0R_TOM 7 หลายเดือนก่อน +3

      @@zenmastakilla probably. The patch is just labeled "unlock fps". I just don't have a monitor for 120 myself.

    • @zenmastakilla
      @zenmastakilla 7 หลายเดือนก่อน +5

      @@MAJ0R_TOM Apparently 120 fps introduces physics bugs. Ah well.

  • @djrmarketing598
    @djrmarketing598 7 หลายเดือนก่อน +4

    It's crazy to think that I knew 6502 and x86 assembler back in the 90's and today there's so much new instructions that I never kept up with

  • @the_mister_magister
    @the_mister_magister 8 หลายเดือนก่อน +863

    HOW DARE THEY take away boob jiggle from us!

    • @Stalker7u7
      @Stalker7u7 8 หลายเดือนก่อน +110

      is a true ps3 exclusive 🤪

    • @RedSkyTeam
      @RedSkyTeam 8 หลายเดือนก่อน +44

      @@Stalker7u7 not ANYMORE! :D

    • @CopeAndSeeth
      @CopeAndSeeth 8 หลายเดือนก่อน +44

      A true crime against humanity!

    • @igorthelight
      @igorthelight 8 หลายเดือนก่อน +28

      @@CopeAndSeeth You mean - against MANkind? ;-)

    • @Jeff-ss6qt
      @Jeff-ss6qt 8 หลายเดือนก่อน

      ​@@igorthelightNah. Some women like jiggly boobs too.

  • @playman350
    @playman350 8 หลายเดือนก่อน +20

    I did not expect Galois theory to show up in this video; I studied this shit ten years ago before going to grad school
    I'm even doing a PhD where SIMD and other CPU instructions are quite relevant for high performance computing and I didn't know about this connection at all
    Truly amazing video. Can't wait to see what you put out next

  • @steve81937
    @steve81937 8 หลายเดือนก่อน +341

    If you don't understand it, don't worry, I'm a developer and me neither.

    • @rosly_yt
      @rosly_yt 8 หลายเดือนก่อน +41

      I assume many of the developers back in the day who worked on the PS3 didn't either. A lot of making old software (emulated or otherwise) continue to work is to have things function even if the developer did it the "wrong" way. This runs the gamut from Factor 5's work on Star Wars: Rogue Squadron II, a game that used the Gamecube's RAM in such an unusual (but very efficient for the target system) way that it was one of the last games to run correctly on Dolphin, to downright incompetence like the recent Pokemon Scarlet/Violet releases that were full of major performance issues and visual bugs (which were emulated correctly in Ryujinx).
      Both Linux and Windows go out of their way to support software written in horrifying ways, because someone, somewhere relies on it.

    • @meinkek7896
      @meinkek7896 7 หลายเดือนก่อน +1

      @@rosly_yt just put everything until it works

    • @Smoshylife
      @Smoshylife 7 หลายเดือนก่อน +3

      Developers aren’t responsible for knowing computer architecture

    • @SDogo
      @SDogo 7 หลายเดือนก่อน +13

      I'm a dev and have a little grasp on assembly code... Everything said in this video flew over my head XD

    • @YUGAMISEKAI
      @YUGAMISEKAI 6 หลายเดือนก่อน +9

      @@Smoshylife And this is exactly why meaningful optimization for games is dead

  • @goyban
    @goyban 8 หลายเดือนก่อน +4

    That was amazing! Thanks for the very good explanation.
    Keep up the good work and I really enjoyed this one and I think these videos can make more people interested in emulation.

  • @ArthurLopes39
    @ArthurLopes39 8 หลายเดือนก่อน +94

    The thumbnail peaked my interest and the video didn't disappoint

    • @GrainGrown
      @GrainGrown 8 หลายเดือนก่อน +28

      *piqued

  • @mohammedrashid1910
    @mohammedrashid1910 8 หลายเดือนก่อน +4

    i dont understand anything and dont even use RPCS3 but your efforts are amazing and the community appreciates it.

  • @b0ntr4g3r3
    @b0ntr4g3r3 8 หลายเดือนก่อน +2

    Clicked thinking I'd watch for a few minutes while on the bus. Got home and fired up the rest of this vid on PC. Great style and intution on the subject at hand. Thanks :)

  • @soulofalbedo
    @soulofalbedo 7 หลายเดือนก่อน +3

    understood basically nothing you said but boy do i find it relaxing to listen to smart people yap about stuff they are in to.

  • @Ninjaeule97
    @Ninjaeule97 7 หลายเดือนก่อน +1

    I didn't know what I was getting myself into when I clicked on this video which I only did cause I like emulators in general and find RPCS3 in particular pretty impressive. Was pleasantly surprised by an in-depth explanation of assembly optimizations that could be followed as long as you know what floating points and some common instructions like and, etc. are. Kudos to you.

  • @AURORAFIELDS
    @AURORAFIELDS 8 หลายเดือนก่อน +54

    This is really cool, seeing what kind of crazy unhinged obscure things modern x64 CPU's can do and how they can be used to optimize emulation. Truly fascinating and sadly kind of a dying skillset in a lot of even performance-critical applications.

    • @Iaotle
      @Iaotle 8 หลายเดือนก่อน +10

      I dunno about dying, it's just niche.

    • @sepg5084
      @sepg5084 8 หลายเดือนก่อน +4

      If ya'll think it is dying, then learn it and make bank 😉

    • @KibitoAkuya
      @KibitoAkuya 8 หลายเดือนก่อน +21

      ​@@Iaotleit is kind of, that's why games have barely improved in graphics the last 10 years, because hardware is so good these days, devs just don't put much work into optimizations anymore and just brute force stuff

    • @mr.shplorb662
      @mr.shplorb662 8 หลายเดือนก่อน +2

      ​@@KibitoAkuyaI think your just blind

    • @KibitoAkuya
      @KibitoAkuya 8 หลายเดือนก่อน +14

      @@mr.shplorb662 pick a 2004, 2014 and 2024 game and then tell me the improvement is as drastic between the 2014-2024 game as it is between the 2004-2014 one
      It isn't

  • @demobin
    @demobin 8 หลายเดือนก่อน +2

    This is the most badass-looking programming-related video that I have seen for a long time.
    Keep going if you have something else to say.

  • @diegobellani
    @diegobellani 8 หลายเดือนก่อน +3

    OMG, this video is amazing! Do more video like this, I need more content like it!

  • @leemar1978
    @leemar1978 8 หลายเดือนก่อน +2

    This is your first upload in nine years and it’s absolutely brilliant. I hope you upload more content as this was excellent.

  • @buriedpet
    @buriedpet 8 หลายเดือนก่อน +5

    I really wish I was able to understand more assembly code. I understand the functions you talk about in isolation, like what they do on a hardware level, but I have a really hard time comprehending how they come together to make the game that we see. I would love to watch a video where you show which lines of code are doing what in terms of what the player can see. Like “Here’s a line of code. This is how the game looks/performs with it. Now here’s how the game looks/performs after applying an optimization and why.”
    That would really help laymen like myself get a better picture of what’s actually going on.
    Anyway, great vid, thank you for taking the time to make it. Idk if your work is partially responsible for getting Skate 3 to run at 60fps on my Steam Deck, but I’m just gonna assume it is and say you’re my hero.❤️

    • @Sammysapphira
      @Sammysapphira 8 หลายเดือนก่อน +5

      Usually these lines of code are performing a small instruction of the whole. Think of how you speak English, and how you don't need to think about the individual letters when you speak. If each word suddenly requires you to spell out every letter and describe its shape before moving onto the next letter, you can realize why that would massively slow down your ability to speak despite not affecting the accuracy or concept of what's being conveyed. If you're looking at stuff on the byte level, you can't boil it down to "a whole" and you have to take things as atomic as possible.

    • @wiegraf9009
      @wiegraf9009 7 หลายเดือนก่อน +2

      When developing an emulator they don't really need to know how the game engine puts the game together step by step, they just need to make sure the system architecture runs efficiently and (fairly) accurately, and if there are specific things that don't work then they have to find the pain points and fix them. Reverse engineering each game is too much work!

  • @aburshrsh1
    @aburshrsh1 หลายเดือนก่อน +1

    This video came up in the feed for some reason and although I didn't understand anything I enjoyed listening to the wealth of information this man has, you are truly amazing and we are lucky to have such brilliant people among us who put their knowledge to good use.

  • @nisbahmumtaz909
    @nisbahmumtaz909 8 หลายเดือนก่อน +11

    those dota chat logs at the end got me HARD
    it didn't go unnoticed, you absolute Immortal legend

  • @RedBerylFTW
    @RedBerylFTW 7 หลายเดือนก่อน +1

    I love the no nonsense approach to this explanation. You covered everything. LLVM's god tier ingenuity, the beautiful simplicity of the GFNI monstrosity, and a really straightforward talk on memory reservation. I use RPCS3 a lot and appreciate your hard work and brilliant insight.

  • @larrythehedgehog
    @larrythehedgehog 3 หลายเดือนก่อน +3

    The minute MGRR gameplay was on screen my brain turned off out of habit because i love watching/playing that game so much.

  • @glowinggrenade
    @glowinggrenade 7 หลายเดือนก่อน +1

    the fact that if I studied just this video I could understand what is being explained is an impressive feat, good job!

  • @Xeit
    @Xeit 8 หลายเดือนก่อน +4

    I literally had 20 minutes of "I like your funny words magic man". Hoooly fuck, huge respect.

  • @IGNACIOSOLAR1
    @IGNACIOSOLAR1 8 หลายเดือนก่อน +2

    Doing my MIPS course rn in uni, holy shit this looks amazing, thanks for the vid!!

  • @MrCoolTheCucumber
    @MrCoolTheCucumber 8 หลายเดือนก่อน +11

    One of my work colleagues has been going on about adding AVX-512 support to his toy language so I'll definitely share this with him 😂. As an idea for another video, do you think you could do an code architecture overview/walkthrough of the emulator? Would be pretty cool to see what goes into emulating a more "modern" system compared to say the gameboy.
    EDIT: Nvm just realized one of the links in the desciption is a talk on the internals

  • @rambot670
    @rambot670 3 หลายเดือนก่อน +1

    I have no idea why I watched this video even though I did not understand a single word you were saying. Still liked and subbed to support. Have a great time and success ahead !

  • @Eugensson
    @Eugensson 8 หลายเดือนก่อน +3

    That GF(2^8) operation abuse is magic! Really reminds me the old days of demoscene when people were emulating SIMD with packing 8 bit numbers into EAX and bitshifting/masking stuff.

  • @szpsubzero11
    @szpsubzero11 2 หลายเดือนก่อน

    I understood that there is multiple translations taking place other than that, I was lost. So awesome that you can work the code for RPCS3!

  • @mr.electronx9036
    @mr.electronx9036 8 หลายเดือนก่อน +12

    It is still a mystery to me why sony is not allowing ps3 emulation on ps5 hardware.

    • @southsidetherealest2860
      @southsidetherealest2860 8 หลายเดือนก่อน +4

      they want to resale remasters remastered

    • @cyropox8235
      @cyropox8235 8 หลายเดือนก่อน

      Sony isn't able to emulate PS3 hardware because of the very specialized spus that were used so heavily as part of the console architecture. For their PlayStation now PS3 titles, they're not emulated. they literally have warehouses of old PS3s set up to run the games.
      Maybe once the open source community solves ps3 Emulation, Sony might copy their work to create an "official" PS3 emulator.

    • @southsidetherealest2860
      @southsidetherealest2860 7 หลายเดือนก่อน

      @@cyropox8235 yet my notebook can emultae ps3 with a worse gpu tha. ps5 stop taking up for ps you ponys are the worse gamers period stay in defense mode lying for playstation

    • @vlc-cosplayer
      @vlc-cosplayer 7 หลายเดือนก่อน +1

      @@cyropox8235 RPCS3 is GPL'd, so as long as Sony is willing to release all the code that's required to make it work on the PS5... 😆

    • @saricubra2867
      @saricubra2867 7 หลายเดือนก่อน

      The PS5 uses Zen 2.

  • @IB-Frost
    @IB-Frost 7 หลายเดือนก่อน +1

    Nothing more enjoyable than someone talking about the most opaque of subjects and trying to explain them concurrently with explaining their implementation. That sounds sarcastic, but I honestly love it :D

  • @pleaserespond3984
    @pleaserespond3984 7 หลายเดือนก่อน +3

    Thanks to your hard work I was finally able to enjoy Demons' Souls and Armored Core 4A.

    • @kunka592
      @kunka592 4 หลายเดือนก่อน

      Excellent choices.

  • @xevalro
    @xevalro 8 หลายเดือนก่อน +1

    This is such an introspective look into the development of rpcs3 emulation, its super interesting. I want to see more

  • @ostin83
    @ostin83 8 หลายเดือนก่อน +3

    You´re a genius, keep up that excelent work!! I´ll wait until I can play GOW smoothly with my i5 3330 :-P

  • @ChipterLP
    @ChipterLP 8 หลายเดือนก่อน +1

    As someone working to become a computer engineer, this kind of content is a godsent. Thank you :)

  • @catercu1
    @catercu1 8 หลายเดือนก่อน +3

    awesome thumbnail choice!

  • @TrueSaintly
    @TrueSaintly 7 หลายเดือนก่อน +1

    Good heavens, this bloke gets right into it, no forced comedy or anything, just the facts. Bravo!

  • @papap9379
    @papap9379 7 หลายเดือนก่อน +10

    5:22 yeah, wth

  • @Gusr404
    @Gusr404 8 หลายเดือนก่อน +1

    My head hurt really hard watching this video, but thank you man, I'm grateful for people with big brains like you that makes possible to keep playing my childhood favorite games without being dependente on the aging and ever more scarce original hardware.

  • @Rowlesisgay
    @Rowlesisgay 7 หลายเดือนก่อน +4

    "she's a unique girl who emitted electromagnetic interference (within legally allowed limits) every day and can't run Linux due to government regulations" WHTRfgbn that's cracking me up i need this fckin SPU programming doujinshi-

  • @ambiently_occluded7154
    @ambiently_occluded7154 7 หลายเดือนก่อน +1

    I had no idea what you said but I definitely enjoyed it! Great job

  • @PatchFact
    @PatchFact 3 หลายเดือนก่อน

    I barely managed to follow, but I am utterly amazed at the level of love and dedication put into this project. Thank you so much for all your work!

  • @Qerewe
    @Qerewe 4 หลายเดือนก่อน +3

    I like your funny words, magic man

  • @andyp123456
    @andyp123456 8 หลายเดือนก่อน +2

    Thanks for all your hard work on RPCS3. I didn't fully grok what you were talking about, but without your awesome work, I wouldn't be able to play the games I worked on in the past on my Steam Deck! Emulators are amazing, and I'm blown away by the fact PS3 games can run at all on Steam Deck. Steam Deck uses Zen 2 CPU afaik, so I'm looking forward to seeing what improvements to emulation the next Deck will bring with CPU architecture upgrades.

  • @3XPLOSlV3
    @3XPLOSlV3 8 หลายเดือนก่อน +3

    you guys are crazy, good job

  • @NockDog.
    @NockDog. 7 หลายเดือนก่อน +1

    Blud cooked with this video💀, 9 years with no new content and just releases a video that gets boosted by youtube algorithm, Pretty good video, here goes my like 🔥

  • @magnomliman8114
    @magnomliman8114 8 หลายเดือนก่อน +4

    12100f not supporting AVX-512 F******** MAN WAY THEY DID THIS TO ME.

  • @Jcorella
    @Jcorella 4 หลายเดือนก่อน

    Okay, I was too stupid for most of this but you're very articulate and very easy to listen to. Keep at it.

  • @Fine_Mouche
    @Fine_Mouche 4 หลายเดือนก่อน +5

    5:02 : best excuse ever to zoom on your waifu.

  • @SpringHaIo
    @SpringHaIo 8 หลายเดือนก่อน +1

    Impressive video editing for the first real video on your channel! The only thing I could recommend is that when you put text on screen, add some sort of static or blurred background behind it for easier readability. This info is best digested in the blog format you've already linked, but video is definitely the gateway to a larger audience. Cheers and good luck on finding a job. Commenting for the algorithm!

  • @chrono0097
    @chrono0097 8 หลายเดือนก่อน +2

    I literally tested RPCS3 for the first time to experience the original Nier Gestalt after finishing the Replicant remake, and wondered why it ran so good, i imagined some recompilation goodness, but god this video is a CPU geek paradise, thank you!

  • @GhettoPCbuilds
    @GhettoPCbuilds 8 หลายเดือนก่อน +11

    BRING BACK JIGGLE PHYSICS PLOX

  • @luigiymario2xd
    @luigiymario2xd 8 หลายเดือนก่อน +2

    Nice! I just realized my AMD top of the line cpu does have AVX-512 so I can take advantage of this for PS3 emulation 😎

  • @Prinz_Kasper
    @Prinz_Kasper 8 หลายเดือนก่อน +4

    Man low level programming is just crazy to me, I'll stick to my weird and wacky Javascript frameworks 😅

    • @jc_dogen
      @jc_dogen 8 หลายเดือนก่อน +11

      you're sabotaging yourself thinking this way. this is far from typical. low level programming is not inherently super hard or anything. even normal assembly code is honestly pretty easy to learn, but almost nobody even goes that low these days.

    • @Deliverygirl
      @Deliverygirl 8 หลายเดือนก่อน +1

      +1 to what jc said, emulation and instruction set micro-optimization is edge case stuff, you can get into low level programming without having to delve into the magic like shown in this video, probably what will throw you off the most is how ugly the syntax tends to be for low level stuff, if you work with high level languages like javascript you'll probably be used to the high abstraction with very descriptive naming schemes for methods and data structures, whereas in low level programming everything looks like magic from everything being an abbreviation of an abbreviation.

  • @_BlaXEr
    @_BlaXEr 7 หลายเดือนก่อน +1

    Tbf bro im more of an arts/language dedicated man, all my life been techy to a certain degree so always loved videogames. Shit at math too. And honestly, knowing I’m barely capable of understanding the surface level of a technical vid like this, I end up encountering this content to be fascinating. Just having someone really make an explanation of reverse engineering shit like this is valuable to me.
    Big up and love!

  • @ElementalTJ
    @ElementalTJ 8 หลายเดือนก่อน +7

    The same crackhead floating point format as the PS2 uses lmfao

    • @lpfan4491
      @lpfan4491 8 หลายเดือนก่อน +2

      I still love that Dolphin emulator of all things had to implement it because the curse upon this realm that is True Crime: New York straight up ported the PS2 format over to GC because "why not?" And it's entirely worthless too because it is a bad port of an already unfinished game, just pure meme material.

  • @nosidenoside2458
    @nosidenoside2458 4 หลายเดือนก่อน +2

    You knew what you were doing with the thumbnail. It worked

    • @MJ-uk6lu
      @MJ-uk6lu 3 หลายเดือนก่อน

      jiggly

  • @l3xforever
    @l3xforever 8 หลายเดือนก่อน +3

    SPEを256倍使い倒すための本 😳

  • @mika2666
    @mika2666 8 หลายเดือนก่อน +1

    Man these videos are super interesting, I'm doing my thesis on performance enhancement on x86 for some internal software and these videos make me learn something new each time!

  • @LandonEmma
    @LandonEmma 8 หลายเดือนก่อน +22

    I don’t get it 😂

  • @bal5007
    @bal5007 6 หลายเดือนก่อน

    not even one seconds in bro already jump straight to the point, great video

  • @mertgoksel35
    @mertgoksel35 8 หลายเดือนก่อน +5

    Hahahhaah explained as in if u can understand xD

    • @stylie473joker5
      @stylie473joker5 8 หลายเดือนก่อน +1

      Same XD

    • @3XPLOSlV3
      @3XPLOSlV3 8 หลายเดือนก่อน +3

      it's probably more for people who wants to understand it

  • @Aram.J.K
    @Aram.J.K 4 หลายเดือนก่อน

    And I thought I knew about processors...
    I always feel like an amateur after seeing how deeply educated emulation developers are in understanding & implementing on vast different architectures,
    You have my respect.

  • @FaizalKuntz
    @FaizalKuntz 8 หลายเดือนก่อน +1

    There's so many stuff inside PS3 and I'm amazed how game dev utilize it and also I'm amazed PS3 can be emulated with so many things need to convert to make it work with any current PC hardware. I always thought that emulation development is only need to recreate the PS3 CPU using line of code, but now I understand that it's way more complex than that.

  • @pawel785
    @pawel785 8 หลายเดือนก่อน +1

    Sick video although I understand very little lol, but super enjoyable watch and I'm gonna take a deeper dive now into tech side of emulation! Please post more

  • @edwardelric1447
    @edwardelric1447 4 หลายเดือนก่อน

    I like how he explains things, he just gets to
    The point.
    Does not drag things around. 👍🏻

  • @euphoricbread
    @euphoricbread 4 หลายเดือนก่อน

    I have a very limited understanding on any of this, but I have to say I do like the way you break it down into a digestible format. I look forward to more uploads :)

  • @BirdNoise77
    @BirdNoise77 4 หลายเดือนก่อน

    I am not an engineer, but I love playing old games. Thanks for your great explanation, and all your work! It does not go unappreciated :)

  • @SupLosers2552
    @SupLosers2552 8 หลายเดือนก่อน

    one of the first videos in a while that i watched without skipping a single time. amazing video