Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
September 1, 2014
arrowPress Releases
September 1, 2014
PR Newswire
View All
View All     Submit Event





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
Out-of-memory: Skyrim's PS3 woes examined
by Glen Joyner on 10/14/12 09:30:00 pm   Featured Blogs

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

If you're a PS3 fan, chances are you have certain unpleasant thoughts towards the name Bethesda. The PS3 version of their game The Elder Scrolls V: Skyrim was hit with a number of performance issues around launch that didn't see widespread fixing until months after. With those resolved, PS3 players though their troubles would be over.

Then Dawnguard was released for the Xbox 360. PS3 players expected to have an announcement shortly after that, but it never came. Then Hearthfire came out for the 360, and PS3 still didn't even have Dawnguard. The general response to all of this is that this is simply par-for-the-course for Bethesda and the PS3, citing the large number of issues that Fallout 3 had on the PS3.

Can we truly blame Bethesda for the issues in Skyrim? Is it really that they are unable to develop for the PS3? Is the PS3 itself to blame? Let's take a look.

The Tip Off

I own the PS3 version of both Fallout 3 and Skyrim, and I've seen firsthand the issues the games have had that the other versions didn't have (based on my reading of other people's experiences with other versions). Fallout 3 had performance issues, bugs that other versions didn't have, and some were so bad that you could barely move around the DLC without it freezing and had to resort to fast travel only. Because of this, it's obvious that people were less than happy with the PS3 version and it lowered what people thought about Bethesda.

In contrast, the only thing that I've seen in Skyrim that is different between the PS3 and the others is performance. To my knowledge there are no bugs that are exclusive to the PS3 version, or they are simply minor issues.

What does this mean? It appears that since the only (noticeable) issue that the PS3 has with Skyrim is performance, it could be the PS3 itself causing the problems.

The PS3, Its Memory, and Skyrim

Bethesda stated that when launching they knew it was possible that the PS3 version could enter a "bad memory situation." Even so, they felt it was only affecting a small percentage of people. This was also stated on their own blog, citing memory and AI as culprits. But was this simply an excuse?

Let's look at the PS3 system and it's memory specs. There is 256 MB of memory devoted to video only, and 256 MB left for the OS and the game. As of version 2.20 of the PS3 operating system, it took a confirmed 43MB of memory to run, though it could be down to 24MB. Assuming the worst case scenario that it is still 43MB, this leaves 213MB of memory for everything in the game outside of graphics (audio, AI, and any other systems). (Source: http://www.edepot.com/playstation3.html)

A memory size of 213MB for a game as big as Skyrim is not a lot to work with. There's a lot going on, so let's list everything out. Please note that a fair amount of this is my personal speculation and I am no expert in every aspect of the more lower-level aspects of gaming programming; however, I feel these are all likely adding to issues with the PS3 version and memory issues.

  • The game usually will have a good number of audio files at the ready in memory for when the player performs certain actions. Remember that there are different sounds for the player's footsteps, vocal reactions (being hit, falling, etc.), attack-related sound effects, collision sound effects, and dialogue. Though these are all likely less than 1MB each, having them all available at once will add up quickly. There is a possibility that these are loaded into memory only as needed, but this would probably cause noticeable audio playback delays, so it is safe to say that there are a fair amount of audio files stored in memory.
  • Little things such as which weapon or spell is equipped or "hotkeyed" (allowing the player to switch to these items quickly without any hesitation in the game) can increase memory usage.  The graphic, effects, and sounds for each weapon/spell are probably stored so that the game has quicker access to them and allow for a seamless transition.
  • From what I can gather from the Creation Kit and some wording by Bethesda, they use a scripting language for a number of systems. This is all well and good, but that likely means that a little bit more memory is used compared to pre-compiled code. Since Skyrim is using a scripting language, chances are it is done through a straight-line interpreter. This means that the code is not pre-compiled into machine code, but is read in line-by-line and executed at runtime. The scripting language is also all human-readable, so must be converted to machine code on the fly. Though possibly not a huge memory hog, extra memory is needed to manage the reading and conversion.
  • The game must keep track of the chests you've interacted with and their contents, the quests you completed, the places you've travelled, the people you've encountered (to some extent), and how you completed some quests throughout the player's history in-game. There are probably additional aspects of the player's history the game must track to create the varying experiences that Skyrim provides (including the random NPC encounters). The more you do, the more Skyrim must remember.
  • Each object in the game must have some data stored for it. Though the graphical elements of each object are likely stored in video memory, Skyrim must keep track of the other elements of each object (including NPCs), such as health, position for calculations, inventory, collision-related data, sound effects, etc. Terrain data and their boundaries are likely stored as well.
  • The engine itself probably takes a solid amount of memory. This includes the above-mentioned items, but likely even more things that haven’t even been mentioned up to this point.

Keep in mind that all of the above, and possibly even more, must be done in only 213MB of memory in a worst-case scenario. The extra 256MB of memory is for the video rendering only, so it can't be used for anything with the game outside of that. Though caching the data can help, there is still the issue that if stored on the PS3's hard-disk drive (HDD), or built-in cache, it will likely have to often remove some items and place new items into cache and memory. If it is using the HDD to do this, the fact that HDD read/write speeds are significantly slower than cache and memory will cause a lot of performance problems based on the frequency of using the HDD. None of this is including the additional memory needed for any of the DLC content.

What about the Xbox 360?

The Xbox 360 is similar to the PS3 in that it also has a total of 512MB of memory. The difference is that the 360’s memory is shared memory, so the developer has more control over what memory is used for what. For instance, let’s say that all Bethesda needed in terms of video memory to make Skyrim look good is 100MB. On the Xbox 360, this means that there is 412MB left over. If the OS were the same size on the Xbox 360 as the PS3 (I could not find the Xbox 360’s OS memory footprint), then 369 MB would be left for the game. That’s 156MB more than the PS3 would have available because the leftover video memory is not accessible on the PS3. Please note that these numbers are not the actual amounts of memory used by Skyrim on the Xbox 360; they are used solely to provide a basis for comparison between how Skyrim can use the memory available on both systems.

“It’s On Us”

Bethesda has stated that they don’t blame anyone and that it is on them to fix the issue. Though I commend them for shouldering the issue, I am left to wonder if it’s something that is conceivable on such restrictions. The problem is performance, so that means that either the engine isn’t compiling into optimized PS3 machine code, or their memory management techniques is just not good on the PS3 hardware. I’m also not sure if they can size down the memory footprint needed any further without removing something from the gameplay.

Looking to the Future

It’s really tough to nail down the issue without an official word for what the problem is. Though I cannot say for sure what the real reason is, as everything stated up to this point is speculation, everything seems to point to the fact that Skyrim is just too big with the DLC to run smoothly on the PS3 hardware, mostly due to memory restraints. Because of this (and other games), it is my hope that in the next round of consoles we see a major jump in available memory. The Wii U has 2GB of memory (1GB for developers and 1GB for the OS, not shared), which is a great sign and a good start, but it is my hope that the next Xbox and Playstation consoles have as much or more. By giving developers fewer restrictions, they can create bigger and more complex worlds than Skyrim, creating experiences that the player will remember for years after playing.


Related Jobs

Playtika Santa Monica
Playtika Santa Monica — Santa Monica, California, United States
[09.01.14]

Sr. BI Developer
Wargaming.net
Wargaming.net — Hunt Valley, Maryland, United States
[09.01.14]

Engineering Manager
Wargaming.net
Wargaming.net — Chicago, Illinois, United States
[09.01.14]

Engineering Manager
Wargaming.net
Wargaming.net — Hunt Valley, Maryland, United States
[09.01.14]

Graphics Software Engineer






Comments


Philip Fortier
profile image
"What does this mean? It appears that since the only (noticeable) issue that the PS3 has with Skyrim is performance, it could be the PS3 itself causing the problems."

It's never "just" the console itself that is causing problems. Given the needed time and effort, I'm sure Bethesda could have gotten rid of the performance issues (possibly at some graphic penalty).

Glen Joyner
profile image
You're right; it isn't always just the console causing the issue, but the main thing here is that most things are pointing to the system. The problem here is that they can't really use a graphical penalty to up performance due to the fact that 256MB of PS3's memory is solely for graphics. If they could take a graphical penalty and then use the leftover memory from that they would probably be fine. That's my theory as to how the 360 version isn't having issues.

It just seems like the memory fills up, they go to the cache and HDD, and then performance drops because of constantly swapping data from the HDD to memory to run the normal games functions. HDDs have atrociously bad read times, so that doesn't help anything.

Who knows but Bethesda though. I wish they would give an official word on what exactly the issue is. Would be a good learning tool for us all.

Toby Grierson
profile image
Well you can't "blame" the system, even if it is quantifiably the worst system you can run Skyrim on.

It is what it is, and we've all know what it is for a long time. Bethesda knew what it was when they said they'd do a port and they knew what it was when they OK'd the release. It is 100% their responsibility to make it work on a PS3 that is operating to spec.

I understand they made a call on the risk of out of memory conditions and that call happened to be bad, and that's OK. They'll fix it. It happens.

But let's be clear; the PS3 is not "causing" problems. The fault and responsibilities don't work that way here.

Glen Joyner
profile image
Fair point Toby. I guess my use of "cause" is a bad one. It's still a reason and it is on Bethesda, but if anything I just hope it shows that we should have more ram in our next consoles to help prevent the possibility of out of memory situations. We can only do so much to minimize memory usage and still get the same result.

Just sucks that their choice was to port and have these issues, and not port and get slammed with a "Bethesda hates PS3" PR blunder. Definitely a tough call. They may have hit the limit of what is possible and we won't see DLC on the PS3 version, which is a hardware limitation issue that is preventing their progression, but maybe they can figure it out. We'll have to see.

Also something general to note for those reading: I don't hate the PS3, and I hope I don't come across that way because that isn't my point at all. Just wanted to analyze why we don't have the DLC yet on the platform and show it's not that Bethesda sucks at PS3 development, it's that they are in a really tough position.

Toby Grierson
profile image
Oh, well definitely. RAM is great. Game systems tend to always have far less than contemporary PCs and we couldn't use make good use of a large amount.

Alan Rimkeit
profile image
Well this is very bad news for me as I have not gotten Skyrim yet for PS3. Is it really that bad? None of the people I know personally that have played the game say it was that bad. No DLC yet for PS3? That is disappointing to hear to say the least.

Glen Joyner
profile image
I spent nearly 100 hours with the PS3 version of Skyrim. It got a little hairy performance-wise sometimes. Only once did the game seem like it froze on me but then picked back up and continued. I noticed that loading another game and then loading Skyrim back up helped me. So it definitely wasn't terrible, but some cases were worse than others.

However, there is still no DLC for the PS3. I loved playing it on the console, but caved and got the PC version instead. Until (and if) they can figure out how to get it running, I'd say go for a different version if the DLC looks like something you really want to play through. Otherwise the PS3 version should be fine.

Alan Rimkeit
profile image
Thanks for the info Glen. I guess I will still buy it on PS3 but it sucks that there might not be DLC for it. I played Oblivion in every way possible on PS3 and it was the "GOTY" edition.

Ahmad Jadallah
profile image
I am curious, would anyone like to share what is the amount of system RAM available for them in an empty scene running on PS3? I mean after all the overhead\footprint of the engine itself as well.

james sadler
profile image
The size limitation of the RAM is an issue in some cases, but you also have to look at the speed of that ram. The size isn't and issue if you are loading things in and out of it quickly, which is how both the 360 and ps3 can get away with having such low amounts. Regardless his is one of the big reasons PC's are making a huge comeback. My system has 32GB of system Ram and 4GB of Video Ram. I can play almost any game right now at their near highest settings without a problem. Skyrim is a huge game and there is a lot of stuff that gets loaded into RAM constantly. Handling this is the key though and other companies have done it so what makes Bethesda different? Audio sound bites are in the kilobyte range, simple things like weapon/armor/spell load outs are in low kilobyte range (if that). All geometry would be loaded into the video ram which I think is where the problem really lies. Personally I think it comes from not handling the memory management properly. Fix LOD models to work with the memory limitations, perform better occlusion culling, and make the render culling more strict.

Glen Joyner
profile image
Good point. The speed of the ram is a solid factor in performance (I think the old saying is that the computer is only as fast as its RAM). I guess the question is whether Skyrim is as big as other titles on the PS3, or far bigger, and whether or not it is due to bad memory management or that they have truly hit the ceiling. On top of that, why is the Xbox 360 able to run it smoothly with DLC but not the PS3? Is it bad memory management? Does the engine not compile it into optimized PS3 code? Is it the speed or size of the RAM itself in the console? Is it because the 360 has shared memory so their is more control, but not so much on the PS3? These are all questions that probably can only be answered by Bethesda, or someone who can run the game on a development console and get the metrics. I would love to see the metrics myself just out of professional curiosity, and to learn more about the issues a developer can have when developing large complicated games on a console and how to best avoid them (even with solid memory management).

Robert Swift
profile image
Well, Bethesda also forgot to enable compiler optimizations for the PC version. Only after a modder embarrassed them by unleashing a lot of the potential by patching the exe file (offering up to twice the FPS from before), Bethesda enabled the code optimizations.


none
 
Comment: