Why was the Sony PlayStation 3 so hard to develop games for ? | MVG

Sdílet
Vložit
  • čas přidán 19. 06. 2024
  • A deep dive into the Cell BE Processor on the Sony PlayStation 3 console, and why developers disliked developing games for the system despite its powerful architecture.
    Thanks to Digital Foundry. Bayonetta 1 Wii U vs Xbox 360 vs PS3 Frame-Rate Test - • Bayonetta 1 Wii U vs X...
    ► Consider supporting me - / modernvintagegamer
    Links:
    ► gamingbolt.com/the-untapped-p...
    ► www.engadget.com/2007/10/11/g...
    Social Media Links :
    ► Facebook : / modernvintagegamer
    ► Twitter : / modernvintageg
    ► IG: / modernvintagegamer
    ► BandCamp : modernvintagegamer.bandcamp.com/
    ► The Real MVP Podcast : player.fm/series/the-real-mvp
    #PlayStation3 #Cell #PowerPC
  • Hry

Komentáře • 2,3K

  • @hello235698741
    @hello235698741 Před 4 lety +7946

    Gabe newel only said it was difficult because it has a 3

  • @samuelprados4975
    @samuelprados4975 Před 4 lety +852

    I once dreamed about writing a Sega Saturn emulator for PS3 and optimize the use of the SPEs to run the Saturn's multiprocessor architecture. Then I woke up from this nightmare.

    • @guestc142
      @guestc142 Před 3 lety +18

      PFFT

    • @Cholimao
      @Cholimao Před 2 lety +33

      There's was i believe a Spanish Guy that actually maneged to put a Saturn Emulator(In needed more development and optimization but still) in ps3 and Pitched to sega but that was to late in the PS3 life and i am sure Sega didn't wanted an Emulator like that there's demo videos here in youtube.

    • @technicolordiode9891
      @technicolordiode9891 Před 2 lety +7

      @@Cholimao that sounds like a lie lol

    • @dqwno4900
      @dqwno4900 Před 2 lety +11

      That definitely sounds possible. It may be very hard to do, but it seems possible.

    • @Lyricaldeamin
      @Lyricaldeamin Před rokem

      @@technicolordiode9891 Not verifying, if it’s a lie or the truth, but I heard the same rumor

  • @-DeScruff
    @-DeScruff Před 4 lety +802

    I remember someone explaining once that the PS3's Cell was like hiring a bunch of guys to work for you, but rather then being able to tell quickly telling them what they need to do that day when they clocked in, you had to hold a meeting, complete with a power point presentation.
    But then tools came around that essentially made the powerpoint for you.

    • @brandonmuse5532
      @brandonmuse5532 Před 4 lety +77

      Thanks. That really puts it easier terms for people like me. Sony should have done that earlier but they were a little bit slow moving this generation. Still a great system though.

    • @RobertK1993
      @RobertK1993 Před 4 lety +12

      brandon muse Sony abandon Cell because third party developers were finding it hard to program for only some used all if SPEs

    • @47Mortuus
      @47Mortuus Před 4 lety +71

      @@brandonmuse5532 "Sony should have done that earlier" the 140 lines of code you need to write a Hello World program ACTUALLY IS a ton of PREDONE work for the programmer(s). It's not even that uncommon to do this style of coding in the games industry, just that such a task would NEVER run on any other than the main thread, so it's kind of a bad example.
      The REAL problem is PORTING. PS3 exlusives like The Last Of Us or even the 2008 Metal Gear Solid 4 are stunning and I've never heard a serious programmer complain about being able to write SAFE, multithreaded code. WHAT YOU DO HEAR LOTS OF COMPLAINTS ABOUT is rewriting millions of lines of code "just" to gain 10 fps. Nobody wants to DO that and more importantly PAY for that.

    • @47Mortuus
      @47Mortuus Před 4 lety +2

      @Nathan Peterson You gotta learn the alphabet before you can write anything.

    • @47Mortuus
      @47Mortuus Před 4 lety +13

      @Nathan Peterson You didn't get the context.
      So how much do you know about programming?
      Even if you fully understand a programming language, there can be things we call "libraries". They can sometimes be entire game engines or even just a framework for coding for the multithreaded PS3 architecture.
      These things have to be learned all the time by professional programmers, apart from also having to learn entirely new languages and frameworks for them aswell...
      Those "meetings" are necessary (what I meant with my previous post) but nothing special at all in the course of a programmers career, even if you just look at a single year. SO... I don't know what you're trying to say - it seems you don't understand much of what you're criticizing

  • @povilasstaniulis9484
    @povilasstaniulis9484 Před 4 lety +126

    The best PS3 games were developed either by Sony themselves or by one of their subsidiary studios. They knew the architecture and capabilities of their system much better than any third party developer so they could optimize their games very well. Even today, most Sony titles are extremely hard to run on an emulator due to these optimizations.
    Cell is indeed a pretty strange architecture. No wonder many third party developers hated it. Xbox 360's Xenon was based on Cell's PPE cores, but without the SPUs. It was a much simpler processor.

    • @JoeStuffz
      @JoeStuffz Před 4 lety +15

      It's more like the Cell's CPU was somewhat GPU-like. It would be like three PCs. One PC had a balanced CPU and GPU combo, and the other had a weaker CPU but "stronger GPU", provided you knew how to use the SPEs. Now, if you didn't use the SPEs, you basically had a system with both a weaker CPU and a weaker GPU. Getting from PC #3 to PC #2 was the trick

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

      @@JoeStuffz righto

    • @youtubeshadowbannedmylasta2629
      @youtubeshadowbannedmylasta2629 Před měsícem

      you do know the 360 cam out over a year befor the ps3 though do you not, so cell was based on the 360's cpu if anything.

    • @kiruadark
      @kiruadark Před 9 dny

      @@youtubeshadowbannedmylasta2629 You do know the development of the Cell began two years before that of the Xenon though do you not. So yes and that's a fact, the 360's Xenon was based on Cell's cores.

  • @joey199412
    @joey199412 Před 4 lety +1760

    I LOVE how you actually integrate architecture concepts like Out-of-order execution. As a Computer Science student I really appreciate you taking the time to explain these concepts and not dumb your videos down to make them more accessible. You made me personally interested in building emulators and homebrew.

    • @gaganb
      @gaganb Před 4 lety +30

      Agreed, that was splendid to see an example of.

    • @ScarredRealist
      @ScarredRealist Před 4 lety +25

      Now that you understand what o-o-o execution is, you can go and read up on Spectre/Meltdown :D

    • @Kalvinjj
      @Kalvinjj Před 4 lety +27

      true, there are always different audiences, and one shouldn't try to please them all at once, since it's downright impossible. He captures the audience that understands (or wants to know about) the most hardcore details and technical specifications about the hardware and code, and shouldn't change it out, there must be plenty already that cater to the less knowledgeable on the subject, and their job is also not to be frown at.

    • @jerryryan5546
      @jerryryan5546 Před 4 lety +21

      As a recent CS graduate myself, I feel the same way. Seeing actual source code and how it would run was super beneficial from an explanation standpoint.

    • @nicolassilvagni7909
      @nicolassilvagni7909 Před 4 lety +8

      One even better advantage of OoOE is the "branch prediction", the CPU can start evaluating both branch, and just discard the side that is not taken once known. Will on the in order CPU, a branch is always a pipeline flush ( we had some manual branch hinting bit, but it is not the same and it was static )

  • @KarlRock
    @KarlRock Před 4 lety +434

    Really enjoying this series with the low level approach.

    • @VikDarkbomb
      @VikDarkbomb Před 4 lety +11

      I never knew you were into this sort of stuff

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

      @Ancient Warrior the joke
      You

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

      Karl What Are you doing here I Didn't knew you are in gaming?

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

      Woa. What r u doing here karl!

    • @Zanoladab
      @Zanoladab Před 2 lety

      @@lordzooq8987 tht was gud. I kept spamming it like a r*tard

  • @TreyHarrison
    @TreyHarrison Před 4 lety +209

    That SPE hello world example does a great job of demonstrating the complexity involved in coding for them. That's exactly the kind of content I love from this channel!

    • @technite5360
      @technite5360 Před rokem +7

      Well you have to make a library/framwork and that's it... also/// Hello World is just a printf you don't use directly the Hardware unlike his example (also some library and engine did exist for the PS3 by sony), it's something important to have the hand on low level... I don't see the problems... complaints are mostly from lazy programmers (understandable tho).... try to do that with a PC... with semaphores and threads... can be messy and yet you'll not have this proximity with the hardware.
      using the printf function in a main as an example is dishonest
      Remember it was 2006/2007 it was a beast... 8 cores in a time when it was mostly 1 core or sometimes 2 cores... surely Sony have some balls to do that.

    • @hayax
      @hayax Před rokem +10

      @@technite5360”lazy”? Even studios like Naughty Dog, who were a Sony studio who tried more than any other developer to utilise the CELL could not utilise all of it until basically when the PS4 was being released.
      You severely underestimate how much of a drag it was to bring performance to even the same level of the 360 for the PS3, no less having more performance

    • @SI0AX
      @SI0AX Před rokem

      @@hayax I have never seen the point of making something more efficient at the severe cost of development speed. Labor is worth more that hardware so it's just not efficient or cost effective to have something more difficult to develop for. This is why I always use the "slowest programming language", Python at work. I've made a whole web app with Python as a backend yet everyone else in my company just wants to use Java, then they take months to make changes to the code and break all kinds of stuff while I take less then a week to do the same. And at the end of they day, the performance difference between my Python app and their Java app is not noticeable at all.

    • @aoeu256
      @aoeu256 Před rokem +1

      @@technite5360 If you had the power of LISP to generate code maybe it would have been easier to automatically handle putting code into the SPUs O_o.

    • @Skiman__
      @Skiman__ Před 11 měsíci +7

      I legit laughed out load when in the next comparison the Wii u was running at 60fps vs the ps3 at 30. With the amount of deadlines console titles have, there’s absolutely no reason to make it harder to code for. You’re only gimping your own product from its full potential

  • @NaumRusomarov
    @NaumRusomarov Před 4 lety +351

    when you've got amazing hardware vs. deadlines, the latter usually win.

    • @absoluterainbow
      @absoluterainbow Před 4 lety +5

      Unless it's amazing

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

      LBP3 on launch was destroyed by deadlines. Yeah, it could be because it was being pushed to a developer with nothing to do with the franchise, but the game on launch was a trainwreck.

  • @CrowCZ
    @CrowCZ Před 4 lety +1012

    It should be also mentioned that the memory layout was widely different between them. Both offered 512MBs of memory, but PS3 had a hard divide offering 256MBs for each system and video RAM. While on 360 you could use whole 512MBs for whatever you needed.

    • @brpadington
      @brpadington Před 4 lety +237

      This was a big deal. It is why the 360 had better textures in most games.

    • @ModernVintageGamer
      @ModernVintageGamer  Před 4 lety +324

      thats true, the 360 also had EDRAM very fast bandwidth. 32gb/s

    • @hojnikb
      @hojnikb Před 4 lety +59

      you could use graphics memory as a system memory and vice versa, BUT reading gddr memory from cell was extremely slow (like 16MB/s slow) so extra tricks had to be used for that.

    • @BSzili
      @BSzili Před 4 lety +53

      The unified memory architecture of the XBox 360 was also one of the reasons PC ports often sucked, as 360 games weren't designed with swapping textures in and out of video memory in mind.

    • @dan_loup
      @dan_loup Před 4 lety +70

      Another literally big issue on the cell was the big pipeline.
      It pretty much did the same mistake as the pentium 4 CPUs of using a too large pipeline.
      The "rule" so far was that the bigger the pipeline, more clock you can put but you sacrifice performance as the stalls last longer, and sony designed the Cell CPU to run at 5Ghz.
      But as with the pentium 4, the transistors themselves were just unable to reach that speed, no matter how much pipeline stages you had, so they got the performance sacrifice without the clock advantage.
      But at least they didn't designed it for 15Ghz like intel did with the P4.

  • @bhvrd
    @bhvrd Před 4 lety +763

    144 lines of code to output hello world from the spu, good lord, my brain hurts just thinking about having to code using those, calling it a nightmare was not an exaggeration, wow.

    • @silentdebugger
      @silentdebugger Před 4 lety +259

      "Yes, but your SPU Hello World code runs _one million times_ faster " -Sony marketing team

    • @stifflery
      @stifflery Před 4 lety +35

      I know right!? Now I can say that creating GUI in Win32 API is a lot easier :D

    • @zmast333
      @zmast333 Před 4 lety +125

      To be fair, that's because most of the program is boilerplate needed to interface CPUs. It's not like all programs would always take 50 times the amount of code.
      The biggest problem IMHO is that the game needs to be structured in such a way that different tasks can be run in different CPUs and synchronise everything. Similar to multithreading, although I imagine this would be harder.
      I can see why studios weren't willing to use those when developing for multiple platforms. There are already other things to think about (different GPU, controls, etc).

    • @NiekNooijens
      @NiekNooijens Před 4 lety +10

      i had to program for a TPM (trusted platform module) that's als quite the disaster!

    • @furball_vixie
      @furball_vixie Před 4 lety +9

      and i thought that hello world in assembly took long to write, i have to take my word back

  • @cyphaborg6598
    @cyphaborg6598 Před 3 lety +133

    This has to be the most convoluted " Hello World " ever.
    144 lines of code?

    • @nerdy_dav
      @nerdy_dav Před 2 lety +14

      Try writing it in assembly for x86

    • @atoma8921
      @atoma8921 Před 2 lety +32

      @@nerdy_dav That would only be ~10 lines...

    • @tommymalm
      @tommymalm Před 2 lety +6

      I believe he could have executed it directly on the PPU instead. 144 lines is because of parallelism achieved by using SPU's.

    • @RageQuitRQ
      @RageQuitRQ Před 2 lety +13

      @@tommymalm This does sum up why ports were shite though

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

      @@nerdy_dav BIOS has functions for printing null terminated strings. The assembly is pretty small you just set some registers and trigger a software interrupt.

  • @LongTimeAgoNL
    @LongTimeAgoNL Před 4 lety +587

    A few more things:
    - Sony threatened with "consequences" if they released games on Xbox 360 first before Playstation 3 if they needed more development time. (Because it would give the end-user thoughts that may be Microsoft had a 'exclusivity deal' with the publisher)
    This resulted in many games being delayed while the Xbox 360 version was well and done (and sometimes even leaked in Asia months before release because the "gold" disc was already with the factory)
    - Sony spend A LOT of money to fly "cell developers" all over the world to third-party big shot developers like Infinity Ward to help development just so that the Playstation 3 version of the game would atleast look equal to the Xbox 360 version. This rarely gets mentioned as Sony kept this (mostly) quiet.
    - The difference between Forza 2 and Forza 4 is also insane. Developers learned to code for multi-threaded processors during this generation after years and years of single-threaded performing hardware. It's not limited to Playstation 3 only.

    • @josuem7398
      @josuem7398 Před 4 lety +35

      True but to deny that the last of us was as close to next gen as we got last gen would be crazy. I've played that game in PS3 and PS4 the only difference is the extra PS4 power gets it to 1080p

    • @chrisalcala1007
      @chrisalcala1007 Před 4 lety +23

      @@josuem7398 and it runs in 60fps too

    • @dun0790
      @dun0790 Před 4 lety +11

      @@chrisalcala1007 mostly 45 fps on standard ps4 not sure about the pro

    • @LeAlejx
      @LeAlejx Před 4 lety +8

      Font: dude Trust me

    • @Adam_U
      @Adam_U Před 4 lety +27

      The Last of Us on PS4 doesn't look as good as other games of its generation though. It really does look like an upres of a last gen game , just like The Phantom Pain did. Compare it to the other big PS4 games (including the same developer's own Uncharted 4 which is stunning)...

  • @Ricardordz11
    @Ricardordz11 Před 4 lety +1436

    Gabe Newell: The Playstation is a waste of everyone's time
    Interviewer: Which one sir?
    Gabe Newell: Playstation..... E...

    • @SteelSkin667
      @SteelSkin667 Před 4 lety +131

      The Playstation 2+1

    • @ButtonWalls
      @ButtonWalls Před 4 lety +57

      HAHAHAHAHAHAHA YOU MADE THE JOKE AGAIN EVERYONE LAUGH

    • @CODMarioWarfare
      @CODMarioWarfare Před 4 lety +90

      PlayStation 2 Episode 1

    • @whoptopfrop9828
      @whoptopfrop9828 Před 4 lety +39

      Playstation.... More than 2 but less than 4

    • @computersgamesstuff2299
      @computersgamesstuff2299 Před 4 lety +4

      ps1 was the shit way btr then any thing out there like snes and stuff ps2 was the shit btr then n64 or what ever was out ps3 same btr then wii but what a waste off time plus ps3 first consule able to boot lunix and link multi ps3 togeter to build super pc

  • @froggoboom
    @froggoboom Před 4 lety +242

    as a software engineer, I love that you walk through code, makes the problem easier to conceptualize!

    • @peterpanther8627
      @peterpanther8627 Před 4 lety +34

      we get it, you can code

    • @Totone56
      @Totone56 Před 4 lety +6

      Agreed, seeing an example was awesome

    • @campkira
      @campkira Před 4 lety +2

      to normal people... it mean it take time and money just to made one game for just one system.... while xbox 360 had similar in chip but more friendly to PC port.... Only few game used ps3 at it full power and to ps4 that still too weak....

    • @TorutheRedFox
      @TorutheRedFox Před 4 lety

      exactly

    • @user-yv2cz8oj1k
      @user-yv2cz8oj1k Před 4 lety

      Coding because we learnt to read and often went to university as well. 😀

  • @jarkkohelenius1384
    @jarkkohelenius1384 Před 4 lety +290

    Me: I couldn't care less about why PS3 was hard to develop for.
    MVG: *Uploads video about Why PS3 was hard to develop for*
    Me: Wow I was always curious about that!

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

      sony mistake is try to invest a lot of money to get a powerful chip but they keep it going for 10 years that is very long time for this chip before they can get new chip for ps4... which only for 6 years...without 3 years upgrade chip...

  • @EposVox
    @EposVox Před 4 lety +185

    Great video! The PS3 processor is always such an interestingtopic

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

      Yeah man! Tell me about it 😄 It's said that thing still had untapped potential when it ended so I am literally so curious about it's coding and architecture

    • @AgentSmith911
      @AgentSmith911 Před 2 lety +12

      @@AllaroundVideogames it's kind of ashame that today's console hardware is just scaled down PC hardware, but I understand it for simplicities sake.

    • @cemsengul16
      @cemsengul16 Před rokem +2

      @@AgentSmith911 Yeah I find it really depressing that today's consoles are just mini itx desktops. All of the magic is gone.

  • @charlesdeens8927
    @charlesdeens8927 Před 4 lety +243

    Your explanation of what went on behind the scene in the gaming development world is simply brilliant. Some of the most interesting gaming content on CZcams. I always look forward to your vids.

  • @sundhaug92
    @sundhaug92 Před 4 lety +580

    Short answer: Many devs treated the PS3 as a single-core Xbox 360 and ignored the SPUs

    • @tomstonemale
      @tomstonemale Před 4 lety +114

      Not really the devs fault though, especially when other devs have to work on those ports without the original devs supervision. Either they need a lot of money from the publisher or a lot of money and the help of other first-party devs.
      Short answer: You get what you paid for.

    • @princegroove
      @princegroove Před 4 lety +19

      Yep, most multi-plats looked dated on the PS3.

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

      Dual-core*

    • @xnonsuchx
      @xnonsuchx Před 4 lety +17

      @@claudiolluberes111 Single-core, but dual-thread

    • @nthgth
      @nthgth Před 4 lety +7

      That sounds a lot like the Saturn

  • @gameofyou1
    @gameofyou1 Před 4 lety +244

    This sounds eerily like the criticisms of the Sega Saturn.

    • @shukterhousejive
      @shukterhousejive Před 4 lety +54

      Both consoles had the same issue where the proposed hardware was drastically changed later than it should've (adding 3D acceleration hardware to the Saturn, and replacing the second Cell processor with a GPU for the PS3). The PS2 was also a nightmare machine compared to the competition but it was a well thought out nightmare that could play DVDs as well so everyone dealt with it.

    • @halo3odst
      @halo3odst Před 4 lety +9

      Yet when sony does it its acceptable in the end........

    • @nightruler666
      @nightruler666 Před 4 lety +10

      The atari jaguar also

    • @idonteatcheetos
      @idonteatcheetos Před 4 lety +4

      It's kinda like how the N64 is set up but with more co processors and more dedicated hardware,

    • @codo8584
      @codo8584 Před 4 lety +10

      @@halo3odst Yep, fanboys always defend their favourite consoles. In reality every one of the big three have made some very questionable decisions

  • @maximusretardious4597
    @maximusretardious4597 Před 4 lety +55

    MGS4 looks fantastic still in 2019

  • @nicolaramoso3286
    @nicolaramoso3286 Před 4 lety +190

    At my University's library there's a book solely dedicated on programming on Cell.
    Well, not only is hard to program for those SPUs but I've also read that if you want to share data between them you have to do it in a circular manner.
    Basically if you want to send data from SPU 0 to SPU 4 you can't write
    MOV SPU0 SPU4 (this is not real Power PC assembly, this is just an example, also check the comment below by Tom schleck),
    but you have to transfer the data on each concurrent SPU until you reach the desired one:
    MOV SPU 0 SPU1
    MOV SPU 1 SPU2
    MOV SPU2 SPU3
    MOV SPU3 SPU4.
    What a mess.
    This aspect was mitigated by the fact that the CPU can send data to whatever SPU you want but still it's a complicated business.

    • @brpadington
      @brpadington Před 4 lety +29

      This is why the Cell architecture was abandoned relatively quickly.

    • @Rex-zm7xb
      @Rex-zm7xb Před 4 lety +9

      @@brpadington I won't say abandoned. I think neglected would better.

    • @brpadington
      @brpadington Před 4 lety +22

      @@Rex-zm7xb They no longer use it in any of their products. Only legacy customers can get support for it. It's similar to the itanium stuff. You can get parts if you pay the crazy support fees but they no longer offer it to new customers.

    • @nicolaramoso3286
      @nicolaramoso3286 Před 4 lety +14

      @@brpadington yeah, in the book the Cell architecture is presented like it is some kind of breakthrough in the super computers market.
      They even wrote how to install Linux onto the console to install the Homebrew SDK, a few years later Sony pulled the Other Os feature from its console.

    • @garethfairclough8715
      @garethfairclough8715 Před 4 lety +5

      Wait, transferring it core by core would mean that each PPU would have to be 'spun up' as well, wouldn't it? If I'm right, you couldn't just jump from one PPU to the next, throw one line out to move the data and then jump to the next PPU, right?
      Christ, I'd love to have seen the reasoning behind using cell. The real reasoning, not the propaganda.

  • @musicismypassion7686
    @musicismypassion7686 Před 4 lety +518

    It's even more impressive that a group of developers were able to reverse engineer the ps3 and build an emulator for it. even metal gear solid 4 is able to run on RPCS3 at 60 fps at 4k

    • @Rex-zm7xb
      @Rex-zm7xb Před 4 lety +65

      I was suprised when they made mgs4 playable in just 2 to 3 weeks. Still they have a large amount of work to do with getting other Sony exclusive. God of war 3 and ascension do seem to be coming to playable state.

    • @yubos98
      @yubos98 Před 4 lety +106

      There should be a major asterisk here: so far it runs at 60 FPS only in some less demanding places only on very powerful CPUs and only on custom builds.

    • @Mir.Hammal.Baluch
      @Mir.Hammal.Baluch Před 4 lety +3

      That's good but why not other games like RDR ?

    • @faisalbalamash6847
      @faisalbalamash6847 Před 4 lety +7

      Mir Hammal they already did that

    • @trignite
      @trignite Před 4 lety +82

      They didn't make MGS4 playable, BSoD's video and the dsoGaming article are clickbait. All the developers and admins are annoyed because it's misleading people into thinking it runs better than it does. The DSOgaming article says it runs at mostly 60fps and yet, they didn't even mention the hardware used. You need to use a custom build which still has crashes from time to time and performance requires a top of the line CPU for even half-decent fps. An overclocked 8700k cannot get 60fps everywhere, its more like 40-50 and will dip below 25fps in some scenes like the REX chase sequence.

  • @dun0790
    @dun0790 Před 4 lety +36

    As a computer geek i will always love the cell and if the industry had caught on and cells were made it would a very interesting i mean multi core and low latency thats basically were computing has been moving for the last 15 years anyway

  • @drxym
    @drxym Před rokem +19

    The Cell processor was just a precursor to modern GPGPU programming - the CPU was basically meant to offload work onto little programs running on the SPUs much like modern games would offload physics and stuff onto a shader. It's just at the time developers were kind of clueless to this sort of programming so it seemed exotic and hard because their games weren't designed around that sort of pipeline.

    • @FotisValasiadis
      @FotisValasiadis Před 4 měsíci +3

      Honestly yeah, it's not that Sony gave up to the idea, it's rather that all those SIMD instructions are now baked into the everyday processors we use. To this day it's still hard to write good code that utilizes your hardware fully, and seeing the date that all this debate took place, it occurs to me that devs needed to "git gud".
      Proper tooling that abstracted away intrisincs might have helped, because even today I'd argue most devs have no idea over how to code with AVX512.

  • @Manx123
    @Manx123 Před 4 lety +68

    The design philosophy of underpowered CPUs to cut costs, while having powerful GPUs, carried over to the current generation.

    • @ephemeralViolette
      @ephemeralViolette Před 4 lety +7

      lmao current consoles use iGPUs from 2010. I fail to see how they're powerful at all...

    • @Manx123
      @Manx123 Před 4 lety +29

      @@ephemeralViolette Relative to their cost, and, more materially, relative to their CPUs, they are powerful: that was my point.

    • @BlitzvogelMobius
      @BlitzvogelMobius Před 4 lety +11

      Their CPUs were vector/floating point monsters - a very important thing to have in a system designed for graphics, real time physics, animation, and sound. The problem with both CPUs is they lacked other performance metrics more needed in traditional non-gaming computing. Xenon actually still retained some semblance of this, while Cell went full retard on vector performance, because Ken Kutaragi of Sony thought everything could thrown onto floating point and vector engines, building off what the Emotion Engine was in the PS2.
      A good example of the gaming processing landscape changing, is that a dual core PC CPU from 2005 would struggle to run GTAV as well as the Xenon on 360, which has the same transistor count as a *single core* Athlon 64 w/ 1 MB L2 cache from that same 2005 era. It highlights how vector/floating point dependent games got to run such large, interactive worlds, where as integer and branch prediction performance really wasn't as important

    • @ephemeralViolette
      @ephemeralViolette Před 4 lety +4

      @Transistor Jump The Xbox One and PS4 both use AMD APUs (basically their series with iGPUs) from around the early 2010s.
      edit: specifically, they use the Jaguar microarchitecture from around 2013... so I was a little off.

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

      @Transistor Jump The PS4 Pro came out in 2016, and 2010 was just an estimate (2013 is still early 2010s).
      Not to mention they still use iGPUs that are worse than any dGPU today you can get for the same price as the console itself.

  • @bass2126
    @bass2126 Před 4 lety +60

    honestly I've always wanted to know how much did Persona 5 took advantage of the PS3s hardware, it was released in 2017 & it's easily one of the best looking games of this generation despite being on a last gen console..

    • @robertvuitton
      @robertvuitton Před 4 lety +13

      I think almost every game with that kind of art style looks great. For example, look at those 2D art style games from many years ago how great they look. Ni no kuni on the PS3 and much more.

    • @zgmf-x19ainfinitejustice28
      @zgmf-x19ainfinitejustice28 Před 4 lety +21

      while persona 5 is my favorite game of all time, it's graphics were definitely pretty average. It's the stylish aesthetic that makes the game look really good. Many anime games look way better than persona 5 when it comes to graphics.

    • @badabingbing474
      @badabingbing474 Před 4 lety +1

      It's the art style that makes it look great

    • @fakegeek5462
      @fakegeek5462 Před 4 lety +4

      it's a cross gen port i wonder why when the ps4 was dominate at this point but it was nice to see just how powerful the ps3 really was.

    • @88oscuro
      @88oscuro Před 4 lety +2

      Still wished to have seen a vita port :(

  • @awesomeme219
    @awesomeme219 Před 4 lety +37

    If you think about it, one of the reasons Naughty Dog was able to get so much out of the PS3, it was because they were a Sony exclusive studio. They didn't have the pressure on them to release cross platform games and only had to develop for one system. This made a huge difference in helping them push the PS3 resulting in games such as The Last of Us and Uncharted 3

    • @chrissoucy1997
      @chrissoucy1997 Před 9 měsíci +2

      They were also part of the ICE Team which was a team Sony created 2 to 3 years before the launch of the PS3 to help create libraries and learn how to best use the CELL with its SPU's.
      Because of this, Naughty Dog and also Insomniac are probably by far the two developers that know the most when it comes to programming to get the most out of the CELL. Naughty Dog had 8 to 9 years at this point of CELL programming experience when Last Of US came out so they really had a massive advantage compared to others. Not having to worry about other platforms also helped them like you said.

  • @madjoe8622
    @madjoe8622 Před 4 lety +10

    Sorry for my English...I worked on XBOX/PS3 Rainbow Six Vegas game. The development for PS3 was a real pain, especially when the main platform was Xbox.
    The Xbox was our main platform, with a small team for PS3. Basically, they took more than a year, just to make the run at 1-2 fps on PS3. Think about that, it took months to compile, months to start without crashing, months to display something else than a black screen.
    When the Xbox version was finished, the game was still barely running on PS3 (It took 9 more months to finish it)
    The PS3 had more power than Xbox on paper, but in practice it didn't: a lot of its computing power (SPU) was for calculations, which is not needed much for a game.
    Personally, I never saw a game on PS3 that runs better than its Xbox version.
    Problems I remember:
    - Low cpu power: 1 CPU 2 threads on PS3 compared to 3 CPU 6 threads for Xbox
    - Low system RAM: Video RAM (256 MB) and system RAM (256 MB) separated on PS3 instead of unified RAM (512 MB) for Xbox
    - Operating system (OS) using too much memory
    - low GPU performance: pipelines were weirdly inefficient compared to xbox
    - Hard to get power: SPUs only had 256k RAM each, running separate processes, required DMA requests access main RAM and PPU, specialized for calculations, tricky programming
    - Shitty API: not consistent, not thread safe, not reentrant, buggy, voice chat had to be redone, bad Sony support etc.
    - Inferior development platform: code warrior vs visual studio
    And the list could have been longer, there was a lot of problems.
    The biggest problem was the memory. The Xbox version used 510 MB (375 MB for game data and 135 MB for video).
    Now try to fit 375 MB in the 156MB available on PS3... oh yeah, the OS takes like 100 MB from the available 256MB (I cant remember the real amount, but it was high).
    The lack of CPU and GPU power was also bad (I am not familiar how it was fixed in the game).
    Months of work to split and simplify game levels in smaller parts, optimize memory, remove stuff, push some game data into the video RAM, simplify AI, decrease textures, decrease models complexity, doing weird hacks, etc. to be able to have an ugly, low fps, low resolution game.
    By hack, I mean something like that: before you open the virtual keyboard (which required 10 MB of free RAM), the game moves some game data from the RAM to the hard drive and when you close the VK, it moves the game data back from the HD to the RAM...
    It really have been unpleasant to work on PS3.

  • @NickEnchev
    @NickEnchev Před 4 lety +61

    Developers can still definitely optimize quite heavily considering the graphics APIs like DX12, Vulkan and even Sony's own are designed to be async/multi-threaded and low level in nature. They allow graphics developers to heavily optimize the graphics/system memory allocation and rendering pipelines. The initial convertion from OpenGL3.2+ to Vulkan for my own game engine ended up being orders of magnitude more code than it's OpenGL 3.2+ codebase. Graphics drivers make no assumptions nowadays about rendering intent and the majority of the work is put on the graphics developer instead (good thing). There is so much pipeline, memory and thread management for savvy GPU developers to take advantage of and optimize. You're right that systems are more indistinguishable from one another, but it definitely doesn't mean that there isn't heavy optimization to be done. Devs will have to be just as cautions to properly take advantage of the GPUs these low level graphics APIs expose. This isn't even mentioning the use of the hardware threads that modern CPUs still have and need to be maintained/synced in a game engine.

  • @capcomfan82
    @capcomfan82 Před 4 lety +188

    I remember how piss poor early ports were. The 360 killed it on multiplats especially madden. The first madden on ps3 ran at half the speed of the 360 port. Really made that 599 i spent look extremely foolish at the time.

    • @half-qilin
      @half-qilin Před 4 lety +14

      *Compares Wii U with other consoles*
      Me: Yes! The Wii U actually does something!

    • @SHUJINCELL
      @SHUJINCELL Před 4 lety

      Hahaha I bought 2 of em. Just for small form factor multimedia players, Virtua Fighter, and Linux.

    • @capcomfan82
      @capcomfan82 Před 4 lety +12

      SHUJINCELL ps3 is a awesome media player it plays everything

    • @kenrickeason
      @kenrickeason Před 4 lety +1

      @@half-qilin Hack the Wii U and it does more..

    • @half-qilin
      @half-qilin Před 4 lety

      Kenrick Eason I already did to mine.

  • @upvalue
    @upvalue Před 4 lety

    Man, you just keep on stepping it up with every new video! The technical explanations are just perfect. I also liked the last segment where you talked freely, that felt really “up close and personal” as compared to some other videos of yours where you apparently read the text. Please keep it up!

  • @GabrielMisfire
    @GabrielMisfire Před 4 lety +504

    "PS3 has no games"
    Here's a vintage meme for y'all

    • @Crashandburn999
      @Crashandburn999 Před 4 lety +34

      It was true in the beginning.

    • @Reydriel
      @Reydriel Před 4 lety +48

      @@Crashandburn999 It's kinda true for most consoles at launch lol. PlayStation 4 was frequently criticised the same way too... and look how that turned out XD

    • @Crashandburn999
      @Crashandburn999 Před 4 lety +61

      @@Reydriel The ps3 was even worse for it though. The ps4 at least still got all the 3rd party titles releasing on it, the ps3 was a console that devs wanted nothing to do with early on, so it didn't get most 3rd party multi-platform titles until about 2008 or so. There were actually games being released on ps2, xbox, xbox 360, pc, even wii but not ps3.

    • @josh18230
      @josh18230 Před 4 lety +9

      "Ps tree gotz da best games."

    • @vlinnstone6919
      @vlinnstone6919 Před 4 lety +21

      @@josh18230
      Memes aside, the PS3 does have some pretty amazing exclusives from Sucker Punch (inFAMOUS 1&2), INSOMNIAC (Resistance Trilogy, Ratchet & Clank Future Saga), Naughty Dog (Uncharted Trilogy, The Last of Us) and Santa Monica (God of War 3, Chains of Olympus & Ghost of Sparta Remasters).

  • @SilverAura
    @SilverAura Před 4 lety +30

    Heh, I'm kind of flattered to part of the chart I made for PS3 backwards compatibility on PS4 at 8:20. That whole post really took off a lot better than I thought it would. 😅

    • @ModernVintageGamer
      @ModernVintageGamer  Před 4 lety +10

      Thank you please let me know how I can credit you in the description!

    • @SilverAura
      @SilverAura Před 4 lety

      @@ModernVintageGamer imgur.com/gallery/zGJ1v
      Idk if CZcams will allow this link but this was the original post I made on Imgur. ^^
      Honestly, just a link to that and my alias (SilverAura) will work. I'm too humbled to expect more.

  • @MrCriistiano
    @MrCriistiano Před 4 lety +25

    That hello world example was amazing :O

  • @vogonp4287
    @vogonp4287 Před 2 lety +6

    To some extent, the PS2 was the same story. It was popular due to it's DVD player functionality though. Some early multiplarform games looked better on the Dreamcast as a result.

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

      True but Sony had a problem that it didn't have with the PS2.
      Releasing a year later than its competition.

    • @IndellableHatesHandles
      @IndellableHatesHandles Před 6 měsíci +2

      The PS3 had a Blu Ray drive, so it also had a media advantage over the 360. It wasn't quite as effective as with the PS2 though, since having a DVD drive was good enough for most consumers in 2006.

  • @jampac2018
    @jampac2018 Před 4 lety

    I'm so glad I found your channel, the immense amount of knowledge and information you share with your viewers with is absolutely mind blowing! Thank you so much for each and every one of your videos, they are always appreciated. (:

  • @panicfarm9874
    @panicfarm9874 Před 4 lety +7

    Epic vid as always, learning electronics and coding was never a thing without your channel, thanks man

  • @Definitely_a_Fox
    @Definitely_a_Fox Před 4 lety +381

    Teacher: "The test isn't that hard to understand."
    The test:

    • @AmyraCarter
      @AmyraCarter Před 4 lety +13

      Naruto Logic: 'Many of the test takers were there to aid in cheating'

    • @miguelpereira9859
      @miguelpereira9859 Před 4 lety +1

      @@AmyraCarter The cheating was the point of test... For some reason, I don't remember it clearly

    • @realislit8064
      @realislit8064 Před 4 lety

      @@miguelpereira9859 its a info gathering test

    • @playerslayer6923
      @playerslayer6923 Před 4 lety

      that joke wasn’t even funny

  • @ZPdrumer
    @ZPdrumer Před 4 lety

    Incredible video. As always I love the technicality and architecture explanations. As well as that code sample for the SPUs, that was really great to see, especially with all those comments and explanations. Great work. It was really appreciated and very interesting

  • @TargetRenegade
    @TargetRenegade Před 4 lety +7

    I'm surprised you didn't mention that Portal 2 was cross platform online play on the PS3 with the PC. You even got a free PC copy with the PS3 version. My brother and I had a blast, I was on the PS3 and he was on his PC it ran absolutely fantastic, I could see my brothers POV in a small window in the corner of the screen with no hiccups at all.
    I always hoped Valve would've brought more cross online play games, i'm sure there was rumours about it but it never happened. It's obviously more common now, but back then it was mind blowing. 😁👍

  • @exaltedb
    @exaltedb Před 4 lety +25

    Nice waking up the MVG in the morning
    Imagine how difficult this thing is to emulate. Kudos to RPCS3 to somehow pulling this off

  • @Lightblue2222
    @Lightblue2222 Před 4 lety +18

    Ps3 vs 360 reminds me of snes vs genesis.
    The snes was thought of as more powerful yet games that were on both systems almost always played smoother on Genesis.
    But games that were optimized for snes specifically could technically be better.

    • @Matanumi
      @Matanumi Před 4 lety +2

      I thought the Genesis was seen as the slightly more.powerful hardware on paper?
      But SNES had that incredible support

    • @Lightblue2222
      @Lightblue2222 Před 4 lety +4

      @@Matanumi Genesis has the faster cpu, and the higher resolution, but in all the other categories snes ranks higher. It just depends on opinion for which one is better.

  • @Kikker861
    @Kikker861 Před 4 lety +4

    I don't know any other channel that talks about processor architecture this eloquently. Fantastic video!

  • @Jetsetlemming
    @Jetsetlemming Před 4 lety +99

    This is really interesting. I thought previously that the PS3 was simply hard because it had more cores/distributed hardware and multicore parallel programming is hard. I had no idea the Cell was essentially a dual core with extremely low level coprocessing units.

    • @soraaoixxthebluesky
      @soraaoixxthebluesky Před 4 lety +5

      Jetsetlemming I’m no computer science student, but as for PS3 co-processing unit - does it mean that they don’t have/build a simple call function for developers to utilise like in modern game engine’s library or whatever correct terms for it?

    • @prateekpanwar646
      @prateekpanwar646 Před 4 lety +5

      I think they tried to make something similar to GPU. More cores with parallelism

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

      it was not really good in gaming... since og design is for running server.. but due to it powerful load compare to power to run.. it is very good but just the xbox used the modified one that are alot cheaper...

    • @-x21-
      @-x21- Před rokem

      Cell is a single core with 7 coprocessors

  • @pennygadget7328
    @pennygadget7328 Před 4 lety +20

    Maybe I'm crazy, but I always thought there was an element of future-proofing in the inanity of the PS2/3's architectures; it ensured that games would consistently improve in graphics and performance throughout the console's lifetime as developers learned to navigate the system.

    • @JoeStuffz
      @JoeStuffz Před 4 lety +7

      I'm wondering if it was to make emulation harder. The PlayStation got emulated during its active lifecycle

    • @MrAmi69
      @MrAmi69 Před 4 lety

      Why not just get the full potential out of it from the start?

    • @JoeStuffz
      @JoeStuffz Před 4 lety +1

      Somewhat difficult. The CPUs were using paradigms that weren't very common. You literally need several years of experiment and/or trial and error to really know how to use them

    • @MrAmi69
      @MrAmi69 Před 4 lety

      @@JoeStuffz Yeah, but it would have been better if they got 100% out of the console from the start. Bad move from Sony imo.

    • @JoeStuffz
      @JoeStuffz Před 4 lety

      For the PS3, it would have been hard for that era. Games were just starting to become multicore. Even on PC, CPUs were starting to hit the limit on single core systems. The whole video game industry was going through a transition. The Xbox 360 was even hard to use at 100%.
      PS2 era? Also hard. The problem with game consoles is that you couldn't slap in the most powerful PC CPUs because of the amount of watts they would use. Game consoles need to try to not be over around 250W or so. Game console makers especially in and before the N64 era were trying to figure out clever ways to get the CPU power with that power envelope
      This whole "percent of the console" is also ridiculous. It feels like a marketing ploy to keep the Sony fans happy since the console was marketed with "potential". It feels like there were Sony PR agents especially trolling gaming forums. It sounds like Sony chose to go more conservative lately by using an AMD-derived CPU
      The issue for consoles isn't just hardware, but software and education. What actually made the Xbox a viable product: the developer documentation was in English.
      CPU core counts also only scale so far. Once you hit a certain core count, with games especially, it starts becoming more of a GPU task over a CPU task.

  • @F0r3v3rT0m0rr0w
    @F0r3v3rT0m0rr0w Před 4 lety +133

    just goes to show you should always think of the developers when designing your hardware. you can make the most powerful hardware in the world but its useless if no one wants to develop for it.

    • @andljoy
      @andljoy Před 4 lety +17

      And then they will use shitty outdated and bloated APIs like directx on your sexy new hardware.

    •  Před 4 lety +8

      @@andljoy the ps3 used an nvidia geforce 7900 and directx 9

    •  Před 4 lety

      Just as the xbox 360

    • @q-_-p.d-_-b
      @q-_-p.d-_-b Před 4 lety +5

      Oh Sony knew exactly what was gonna happen. Port after port after lazy port. It said no thanks. Best decision ever.

    • @F0r3v3rT0m0rr0w
      @F0r3v3rT0m0rr0w Před 4 lety +1

      @ lol ikr XD Direct X is fine, nothing wrong with it. and it gets plenty of updates since its Microsoft's API

  • @WickedRibbon
    @WickedRibbon Před 4 lety

    Fantastic video. Really enjoyed how you went into the technical specifics.

  • @exiaR2x78
    @exiaR2x78 Před 4 lety +4

    I did a year studying software engineering (wasnt for me) around 10 years ago. I really enjoy the more in-depth programing aspects you give in your videos.
    Also with the consoles its crazy to look back on the older in terms how how the visuals improved with newer games. Its a bit of a shame there isnt any secret weapons anymore hardware wise. The current gen consoles werent a massive jump visually and due to hardware/architect we havent seen a jump during the lifespan

  • @lahma69
    @lahma69 Před 4 lety +4

    As usual, you pick the most fascinating of topics and somehow, they always feel like they appeal precisely to my own interests. Great work!

  • @Paneka_
    @Paneka_ Před 4 lety +12

    Awesome video, I learned a lot of new things.

  • @PabstOban
    @PabstOban Před 4 lety +1

    I just discovered your channel and I’m really enjoying your topics especially in light of the time frame. It gives you a current day take on things few people might have cared about say 10 or 15 years ago. Also, I love the shirt, I’ll have to find that one. I’m a Neo Geo enthusiast and collect both MVS and AES.

  • @TechnologistAtWork
    @TechnologistAtWork Před 4 lety

    Man I really enjoy your videos. Waiting a whole week for the next is hard.

  • @Bobbias
    @Bobbias Před 4 lety +14

    Man, you have no idea how much I appreciate you showing the actual code for initializing the SPEs.

  • @Furzkampfbomber
    @Furzkampfbomber Před 3 lety +10

    *Gabe Newel:* This box will make no money.
    .
    *Also Gabe Newel:* Hold my Steam Machine.

  • @davidmircea2050
    @davidmircea2050 Před rokem

    Splendid material dude !
    I understand that you are (or were) a very competent programmer.
    Sometimes it really takes someone who really knows what they're talking about just to understand the complexity of the issue.
    Thank you !

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

    HAH! YES! Amazing video and captures it perfectly!
    I remember writing my SIMD Vector/Matrix math library and ported it to CELL using IBM's Broadband Engine emulator. The test harness ended being more work than writing the actual math library!

  • @cryangallegos
    @cryangallegos Před 4 lety +62

    I ran into a guy playing disc golf back in the late 00s and he was a dev for EA Sports, his #1 complaint about the PS3 was its smaller texture memory

    • @PurushNahiMahaPurush
      @PurushNahiMahaPurush Před 4 lety +2

      Oh yea. The PS3 did not have a unified memory architecture unlike the 360. It was 256mb for the CPU and 256mb for the GPU. And usually, GPUs consume much more VRAM due to huge textures and 3d models. The benefit 360 had was that if the CPU was only using 100mb, then you had around 400mb of VRAM all to the GPU which mean higher res textures or more detailed character models.

    • @SalmaKhatun-ow6bf
      @SalmaKhatun-ow6bf Před 4 lety

      @@PurushNahiMahaPurush But why in GTA 5 and L.A. Noire grass on the ps3 could be seen. But when I checked Xbox 360 the grass was bleeding with the ground and blurred. How? I was dissapointed

    • @campkira
      @campkira Před 3 lety

      @@PurushNahiMahaPurush it just not what the dev train for since most of them used to something a little more simple...

    • @campkira
      @campkira Před 3 lety

      @@SalmaKhatun-ow6bf simple is xbox 360 don't had that extra power to run those thing... it was more simplify which most dev are train for while ps3 require addition coding and skill... it like the car with 12 cycle but you only know to made v8... it just not going to work...

    • @jrb363
      @jrb363 Před 3 lety

      Reading this in 2021 and "back in the day" + "complaint about PS3" hits hard. ;_;

  • @realdomdom
    @realdomdom Před 4 lety +4

    Kaz did an interview on that, stating that, for example, the PS2's texture fill rate was much higher than the PS3's, thus preventing them from implementing the heat haze effect in GT5 that was formerly in GT4 and GT3.

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

    I'm so glad I dabbled in C++ a bit, it made it so much easier to understand this video. I kinda see this as parallel to CUDA cores on nvidia, however in that case, games didn't end up using it for more than "optional" features, such as physx.

  • @thegoodlife167
    @thegoodlife167 Před 4 lety

    I love your explanation of out of order processing.This is so interesting, thank you so much !

  • @PHamster
    @PHamster Před 4 lety +170

    Python/BASIC: print “Hello World”
    PS3 Cell Architecture: 5000 lines for Hello World

    • @chrisakaschulbus4903
      @chrisakaschulbus4903 Před 4 lety +24

      python and basic can easily be run on hardware, but when you have to specify which core to use and stuff like that, it gets complicated...

    • @igorthelight
      @igorthelight Před 4 lety +19

      Python print("Hello, World!") looks like it's just one line of code but it's NOT EVEN CLOSE to 1 CPU instruction :-)
      That's the trade-off: fast and simple to understand vs fast executing code.

    • @PHamster
      @PHamster Před 4 lety +6

      @@igorthelight I hand that job to the compilers.... **Notices that printing takes 5000 cpu cycles**
      The Cycles Haven't Been Kind to You...
      ~Flynn

    • @FraserSouris
      @FraserSouris Před 4 lety

      Sony PR Person: Yes, but now your 5000 line code rubs better

    • @ForOdinAndAsgard
      @ForOdinAndAsgard Před 4 lety

      @@chrisakaschulbus4903 Depends on your system. An Amiga with Bridgeboard (Zorro expansion) and/or co-processor on the system bus had no problems whatsoever in specifying which core to use when. In fact that was the easy part of programming the Amiga, it was the rest which was fucking hard. Agnus, Denise and Gary mostly. Hard but satisfying as the result for that time was just incredible. Amiga was so far ahead that it took PC about 8 years to somewhat catch up. At the height of Amiga we had 4 channel stereo sound and millions of colors against the PC at the build in speaker noise and 4 colors max.

  • @calripkenturner
    @calripkenturner Před 4 lety +158

    I'm a simple man. I see a new MVG video, I click.

    • @omegarugal9283
      @omegarugal9283 Před 4 lety +4

      i wake up early every monday to watch the video before i go to work...

  • @Lauren_C
    @Lauren_C Před 4 lety +21

    From a high level, the PPE looks a lot like an Intel Atom (the original ones), being in-order, dual issue architectures with SMT. The PPE has a deeper pipeline to push higher clocks however.

    • @BlitzvogelMobius
      @BlitzvogelMobius Před 4 lety +2

      The PPE has a vastly better vector SIMD engine, especially on Xenon.

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

      @@BlitzvogelMobius no AVX on Atom? Or at least any other SIMD extensions?

  • @brandonc8792
    @brandonc8792 Před 4 lety +1

    Damn I always love these videos. Ive been learning C recently so every time your talking about the code I just nerd out.

  • @alexander_mejia
    @alexander_mejia Před 4 lety +9

    Another thing worth mentioning was the unified memory on the X360 being 512mb vs the split 256/256mb CPU and GPU.on PS3. This made open world game streaming much harder since your memory pools needed to be more aggressively managed. The technique of doing work on the CPU and having it available for the GPU was not effective and you would tropically just pre bake the operation on the disc since you had up to 50gb to stream from.

  • @willsi
    @willsi Před 4 lety +8

    When you said it had no out of order programming I almost fell in floor. The rise of quality toward the PS3's end-cycle makes so much more sense, now.

  • @quajay187
    @quajay187 Před 4 lety

    Great vid MVG. I really hope you make vids on this topic concerning the Sega Saturn and Atari Jaguar.

  • @hus_10001
    @hus_10001 Před 6 měsíci +1

    I love how your content is so genuinely good even when i have no idea what you're talking about i still enjoy it😅

  • @mrlithium69
    @mrlithium69 Před 4 lety +5

    I love this channel when you go into actual C or assembly code to show off the architecture or instruction set. Most people can't even do the research on this let alone present it properly, but you actually seem to know it outright. Well done m8.

  • @GameplayandTalk
    @GameplayandTalk Před 4 lety +5

    Very interesting stuff. This explains why some later PS3 titles were better optimized than 360 titles, yet so many cross platform titles in the early days of that generation performed much better on the 360.

  • @A1i1988
    @A1i1988 Před 9 měsíci

    Super interesting retro knowledge. I'm fascinated about how consoles work and nothing is more satisfying than looking at it low level like you did. I admire your knowledge. Great content!!

  • @MichaelMartinez-vi7ue
    @MichaelMartinez-vi7ue Před 4 lety

    Awesome video and great clear expliations.
    Thank you.

  • @bobhumplick4213
    @bobhumplick4213 Před 4 lety +20

    seems like all that threads starting on the spu's could have been built into the compiler and made easier. its repetive but fairly simple. but simple and repetive are perfect things to automate with software. seems like all those lines of code could be built into a librairy or command and just put the command at the start of the function or whatever

    • @rbauer961
      @rbauer961 Před 4 lety +6

      I suspect a lot of games didn't have their code neatly threaded. Multithreading in general was pretty limited in those days. Therefore there were probably threads which bundled what probably should have been two or three threads together. Unbundling this at least would have to be a manual process.

    • @defeqel6537
      @defeqel6537 Před 2 lety

      @@rbauer961 it was a sad time when game developers tried to adopt enterprise development practices, such as OO, which really doesn't mesh all that well with threading, and especially not the SPUs

  • @renzokufc
    @renzokufc Před 4 lety +7

    I always knew it was harder to develop for PS3, but never exactly why. Everyone tossed the word "architecture" without actually explaining it.
    Thanks for the video!

  • @socksfelloff
    @socksfelloff Před 4 lety

    Great video and very informative. Thanks!

  • @tHeWasTeDYouTh
    @tHeWasTeDYouTh Před 4 lety +1

    hey Modern Vintage Gamer
    please make a video like this but about the Wii U comparing its CPU/GPU against the xbox 360 and ps3. This is so interesting to see and your explenations/examples are great!!!.

  • @samuraispiritsx
    @samuraispiritsx Před 4 lety +47

    For me all the Japanese games that I cared about looked better and ran better most of the time on the PS3, it was a brilliant system and I had a far better time with it and its games than I did the PS4.

    • @statesminds
      @statesminds Před 3 lety +10

      Xbox 360 had a ton of great jrpg exclusives back in the day.

    • @DustyCruz
      @DustyCruz Před rokem

      @@statesminds Blue dragon and lost odyssey will forever live on in my heart.

    • @Haganeren
      @Haganeren Před 10 měsíci

      @@statesminds I swear, the guy who was in charge of selling the Xbox to Japan couldn't have done a better job. They found Sakaguchi and asked him to make what basically is the real Final Fantasy XI / XII / XIII with Lost Odyssey. They even triggered Blue Dragon with Akira Toriyama designs to emulate a "Dragon Quest"-like adventure. Furthermore, they were able to snatch Final Fantasy XIII from being a Sony exclusivity too ( the game is seen badly for good reason, but it still sold insanely well ! ), they were about to get the latest Tri Ace game with Resonnance of Fate or Star Ocean, the latest Tales of with Vesperia.
      But that's not all ! They took the arcade by storm with most rhythm games being ported for the 360, Cave was on it too. All the latest shmups were on the 360 ! Including the very otaku-oriented Otomedius by Konami. They even made a new very profitable license Idolm@aster which was a huge success only in Japan. Really, there is no parallel world where that guy could have done a better job of making the Xbox having japanese game. He has done EVERYTHING he could...
      And despite that Japan didn't wanted the 360... The PS3 sold better there...

  • @net_news
    @net_news Před 4 lety +25

    PS3 was like the SEGA Saturn: complex but amazingly capable. I've never seen something like "The Last of Us" on the Xbox 360 or even the WiiU.

    • @ThisBirdHasFlown
      @ThisBirdHasFlown Před 4 lety +5

      In terms of what?
      Surely GTA V is a more impressive technical feat?

    • @likeclockwork6473
      @likeclockwork6473 Před 4 lety +7

      @@ThisBirdHasFlown Gta5 is actually pretty simple mechanically. Getting the physics to work in GTA4 was a miracle. Everything had active dynamics physics running at all times.

    • @ThisBirdHasFlown
      @ThisBirdHasFlown Před 4 lety +1

      @@likeclockwork6473 Is that why it runs like ass on everyone's PC's.

    • @Killius
      @Killius Před 4 lety

      @@likeclockwork6473 Actually if you remember a post from July 2014 or 2015 some guy reversed engineered the skybox and how that worked on consoles.

    • @Killius
      @Killius Před 4 lety

      www.adriancourreges.com/blog/2015/11/02/gta-v-graphics-study/

  • @chihangc
    @chihangc Před 4 lety

    Thanks for the video. You explain it really well!

  • @FintanMoloney
    @FintanMoloney Před 4 lety

    This was a very interesting video and learned a lot regarding programming in terms of code optimization

  • @gman2015z
    @gman2015z Před 4 lety +9

    I remember being in 9th grade during Final Exams in June 2008 in my computer class. I'd use Wikipedia to learn about the clock speeds and compare them between all the consoles lol.

  • @TheReneDorion
    @TheReneDorion Před rokem +3

    I heard there was 8 SPEs with 1 being disabled from the factory for quicker performance yields... can you confirm?

  • @k_xx
    @k_xx Před 4 lety

    Loved the deep dive into the architecture, good job!

  • @johnyb0y283
    @johnyb0y283 Před 4 lety

    Great video, great explanation. Thank you!

  • @Turner_D_Century
    @Turner_D_Century Před 4 lety +49

    Gabe Newell: the ps3 is too complicated to program our games, to hell with PS3.
    Gabe Newell: people want sequels to our beloved games, to hell with those people.

    • @brpadington
      @brpadington Před 4 lety +8

      He was right about the PS3. It was poorly designed. Sony fumbled the design and the marketing.

    • @mindustrial
      @mindustrial Před 4 lety +5

      @@brpadington The PS3 is Sony's Saturn. To complicated design, poor marketing, didn't shine until when it was to late.

    • @brpadington
      @brpadington Před 4 lety +7

      @@mindustrial I would argue the Saturn was easier to program for. But your statement is absolutely true. I have heard the PS2 was a lot more difficult to program for than either the gamecube or the Xbox. The Ps2 had impressive games right at release though. The first 3 years of the Ps3's life were pretty rough.

    • @tonyman1106
      @tonyman1106 Před 4 lety +1

      i swear valve hate 3 for some reason.

    • @redseagaming7832
      @redseagaming7832 Před 4 lety +1

      What you talkin about Gabe Newell went on a Sony conference stage and announce Portal 2 for the PS3 my mom and sister enjoy playing that game on the PS3

  • @matsv201
    @matsv201 Před 3 lety +10

    1:35 "here a lot of thread could be spawned"
    Well.. note really. The issue here is a lack of terminology. This is not really threads, but rather program branches. The PPE could branch of a task to a SPE to finish this task. Very much like a FPU does. In an effect, the SPE is sort of a standalone FPU with some added capability. The main diffrance from a FPU is that the SPE can run the code independent of the ALU that is in the PPE. So the PPE branch of a task, that is not really a thread, to a SPE. Then the PPE keep working with something else, and can branch of a new task to a other SPE.
    A normal CPU stop working when it branches of a task to the FPU and wait for the result...
    The important bit here is that the PPE and SPE run in the SAME thread. This is important because some calculations need to be done in a specific thread, making multi-threading of that task hard, if not impossible. This is for instance exporting data to the GPU.
    6:15 "by simply breaking code out as a thread"
    While this can in theory be done, but in most cases its not as simple. Now there is a lot of stuff that can be done in the compiler. Breaking out a thread is more complicated then accessing a SPE, so this is just plain wrong.
    6.30 "those SPE is needlessly complicated"
    That is not the case. They are really not that hard to make code for.. The issue is that you have to actively use them.
    And here is the major problem. Most cross platform game of the gen 7 era was made on either PC or Xbox to begin with. Then simply just recompiled. Recompiling a DX 9 game to Xbox was really not that hard. And Microsoft made sure that the dev tools used the processor as efficient as possible.
    Most programmers spawn threads, not really when its needed, but when its practical. So if a subroutine work independently, they spawn a thread on it. This generally did at this time leave anything from 60-90% of the workload in the original thread.
    The real issue was that most devs after recompiling the code for 360, then just recompiled it for PS3. PS3 have all the functions of the 360, and them some more. But then totally not using the call for the SPE, that IS NOT COMPLICATED. There is not to much of a diffrance making a AVX call to making a SPE call. The thing is, the code will work either way.
    If the game is originally made for the PS3, it can´t be recompiled for the 360. It need to be change to run
    The Hello world example is kind of stupid. You just order the SPU to return the value you send to it. It literally does nothing. The same thing, if you wanted the hello world to run on a different core than the one that started it, the complexity would be the same, or even worse, because if there is dependencies in the code to the thread, those have to be taken care of seperatly.
    The argument is pretty much the same as to say that a 286 is better than a 386 becasue if you write the code for a 386, it will not work on a 286.
    The whole idea that games used more threads was not really even correct. Most games when this generation launched really used one main thread. Look at the game ported to PC during this time. Reduce the thread count to 2, and the performance will hardly even differ. Was really until very late that era, like battlefield 3 where the main thread used less than 50% of the performance. With BF3 the performance increase almost linear until 3 threads, and the bump to 4 threads is quite considerate.... The look at Crysis. It just run one solid thread. That is it.

  • @johnmckay1961
    @johnmckay1961 Před 4 lety

    Excellent video, loved the code samples!

  • @iswordlogici7760
    @iswordlogici7760 Před 4 lety

    very nice and informative video. Definitely worth the sub!

  • @EversonBernardes
    @EversonBernardes Před 4 lety +6

    The SPEs were also focused on doing vector maths and CPU programming back then was mostly based on scalar logic. You could get massive speedups by unfolding loops and running them on the SPEs, but devs weren't used to doing that.
    One of the interesting things about that is that since then not only we've seen a big push for vector maths execution on CPUs (through stuff like SSE and AVX/2/512), but a pretty strong adoption of GPGPU, that follows similar concepts. PS4 GPU has extra hardware that makes GPGPU more efficient on it, and you can be sure that first party devs, being pretty used to this kind of programming paradigm, made good use of that.

  • @SeverityOne
    @SeverityOne Před 4 lety +4

    I've been doing programming since the early 1980s, and professional development for over 25 years now. I've had challenges where I needed to get every last bit of performance out of a system, such as a Mandelbrot set generator on an Amiga that was optimised down to the last CPU clock cycle. But you know what? I'm past that. I write code that runs exclusively on a virtual machine. Performance is a consideration, but more to the point of not doing anything really stupid. (Quite contrary to some of my predecessors, I might add.) I think that, as time moves on, the physical architecture will become less relevant, and we developers will be writing code on virtual machines that other people have optimised for us. There's only so much that the head of a developer, or a team of developers, can contain. Because systems are incredibly more complex than even 20 years ago.

  • @9deltan9ne
    @9deltan9ne Před 4 lety

    Great videos man. Super informative.

  • @aspenmallery
    @aspenmallery Před 4 lety +1

    I am learning about multiprocessing, multi-threading and code architecture for my current Computer Science project. Very interesting to hear some of these concepts in regards to the consoles. I always wondered why the xbox 360 had a better game ecosystem despite the less powerful CPU. This has been very revealing and makes a lot of sense.

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

    4:30 Some of the architectural features (like out-of-order) can be handled by the compiler. In some cases the compiler knows what can be reordered better than the CPU. Pulling things like out-of-order and speculative execution not only save money, they can save power as well (which again I guess saves money). It would be interesting to cross reference the compiler technology at the time that coincided with the decisions.

    • @adamk203
      @adamk203 Před 4 lety

      The compiler can reorder static code, but as soon as you do anything dynamic (branching code), that all goes out the window. Games tend to be extremely branch heavy, so relying on the compiler to reorder is pretty pointless.

    • @GoatZilla
      @GoatZilla Před 4 lety

      @@adamk203 For starters, it's not "dynamic". You're thinking of control flow code. Second, just because you have control flow code doesn't mean the compiler can't reorder it. You should probably go ahead and cite a source for your assertions.
      For a compiler, it's called Instruction Scheduling. en.wikipedia.org/wiki/Instruction_scheduling And yes, they can do control flow code.
      Instruction reordering can occur in both the compiler and the CPU. It's roughly the same thing, except again the compiler (actually I should say the entire toolchain because optimizations occur through the entire toolchain) is usually going to know more about the data and its dependencies than the CPU at runtime.
      Having the toolchain do it costs you build time. Having the CPU do it costs you power and die size, plus you'd better make sure to validate it else you get a grievous hardware exploit.

    • @adamk203
      @adamk203 Před 4 lety

      GoatZilla You have no idea what you’re talking about. Compilers can only perform instruction scheduling on code where the order of execution is known ahead of time. Also, control flow is dynamic (as it occurs at runtime vs compile time [static]). Any branch taken forces the CPU to load and reorder a new set of instructions. This is why branch prediction and OOO are so important. If compilers could run once and reorder everything in advance, there would be no need for OOO. Yet, we see that the performance advantages of OOO are considerable and any architecture leveraging performance is going to make use of it.

    • @GoatZilla
      @GoatZilla Před 4 lety

      @@adamk203 The code is not dynamic, therefore just stop calling it dynamic. The compiler can reorder control code as long as the program's meaning (semantic) is followed. The compiler just gets to take into account a much larger program scope to make its decision.
      If a CPU is forced to flush its entire pipeline every time it gets to a branch, that's not exactly a ringing endorsement of CPU OOO capabilities. Flushing the pipeline isn't a feature, it's an incredibly expensive penalty. I don't know why you're talking about it like it's a feature.
      And yes, branch predictors are designed to help mitigate this. Along with speculative execution. Which is how we wound up with Meltdown and Spectre. Turns out that dreaming up some wizbang feature isn't enough -- you also have to figure out how to formally validate it.
      All the reordering that you did just to throw it all away, all the flushing, all the branch predictor logic, and all the speculative execution are all very, very expensive in silicon.

    • @adamk203
      @adamk203 Před 4 lety

      GoatZilla You’re just some scriptkiddie who thinks you know everything from reading a bunch of Wikipedia articles. I do this stuff for a living. “Dynamic” is a perfectly acceptable term when referring to program/control flow during execution time. We’re talking about object-oriented programming, not a block of BASIC with a few GOTO statements. Branching is completely unavoidable in complex code, and flushing the pipeline is thus also unavoidable. That’s why branch prediction is so important - for each correct prediction, the pipeline is already filled with the next instructions, ready to be executed. Any in-order architecture must also flush its pipeline upon branching - and because there is no reorder capability, a branch can lead to severe pipeline stalls. In-order architectures are terrible for anything other than repetitive calculations, and thus are limited in practical application.

  • @italodirenzo5876
    @italodirenzo5876 Před 4 lety +23

    Gabe Newell in 2007: "I hate the PS3!"
    Sony during Portal 2 development: "We'll let you run Steam on it..."
    Gabe Newell in 2011: "I LOVE the PS3!"

    • @redseagaming7832
      @redseagaming7832 Před 4 lety +5

      I really wish Gabe Newell would actually release games on consoles again cuz I want to play Left 4 Dead and I'm not moving to the PC to play it

    • @frankiejibbs5518
      @frankiejibbs5518 Před 4 lety +13

      @@redseagaming7832 left 4 dead is so old that you could just buy a low-end gaming laptop and a mouse and run it easily

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

      @@redseagaming7832 Its available on Xbox backwards compatibility if you have an xbox one

  • @nimrod7785
    @nimrod7785 Před 4 lety

    as software engineer I love your videos. Keep up those detailed explanations, love them!

  • @GEEK88
    @GEEK88 Před 4 lety

    Great video, keep them coming 👍🏻

  • @soragranda
    @soragranda Před 4 lety +4

    7:12 And that's why I respect so much RPCS3 developers... Those brave people :'/.

    • @Parmie
      @Parmie Před 3 lety

      it is really so much extra work

  • @josh18230
    @josh18230 Před 4 lety +6

    Sony wanted 3rd party exclusives, which meant getting devs used to developing for their system and no one elses, that's why 3rd party devs didnt like ps3 because they had to learn twice as much to develop for all 3 (PC) systems.

  • @desther7975
    @desther7975 Před 4 lety

    Nice, concise, informative explanation. I did wonder what the issue was with PS3 development.

  • @Hynotama
    @Hynotama Před 4 lety

    Love your videos! I wish I could understand more but unfortunately I couldn't afford to attend a university with IT or programming studies and I don't know where to start on my own.