I have some experience modding Elder Scrolls games on PC, so I may have a better understanding of Obsidian's commentary than others.
His words pretty much spell out exactly what is going wrong here, and I'm afraid some people aren't seeing that. Here's the summation.
Your save game continues to grow in size (or change size, either way) because of a constantly shifting collection of numbers that mark every single thing that makes your game different from somebody else's. This comes down to everything from where you've dropped a pot, whether you took hide bracers off a random bandit, an enchantment you added to a ring, and everything in between.
If you changed something about a character or item, the game needs a way to remember that change for later, and stores it as a value in your save file. When you load your game, those values are distributed throughout the game world (the .esm, essentially) and overwrite the base values - recreating your version of the world.
The thing is,
it ISN'T your save file that's the problem, but the save file's size IS an indicator of how many values must be loaded into the .esm as you move about the world. The more you change, the more you experience, the more likely it is that the game will chug as RAM is used up allocating these values.
As the developer mentions,
there are also a large number of persistent references that must always be held in memory. The reason a guard is wary of your "honeyed words," how people in other cities recognize you as a Stormcloak, why assassins will chase you for completing a certain quest. These things, and many many more, are values that the world must be constantly "aware of" for it to be the consistent, reliable, and realistic place we all know and love. As the dev says,
the number of persistent references is very taxing on memory - the more references you have, the less RAM is available to allow smooth gameplay. I'm guessing memory is re-allocated dynamically whenever the framerate drops, but eventually, the number of things the game needs to constantly "think" about gets to be too much. DLC only makes the problem worse (hence why Fallout 3: GOTY and F:NV really blew up on PS3).
So, why is the PS3 affected more than any other platform? As Obsidian says, it has to do with the way PS3 separates and distributes memory. In much the same way that PS3 can never have cross-game chat (because a certain amount of RAM is already split between games and XMB),
the split memory architecture of the PS3 may be to blame. A shared pool of RAM can be accessed by GPU and CPU, so in some ways there's a constant balancing act. The more references and values that the CPU has to process and sort, the less RAM is avaiable for the graphics card from the shared pool.
Hence, framerate drops, game chugs, and the like.On a side note: All seven cores of the PS3's Cell Processor may be available for processing, but remember this: one core is reserved for the XMB. That means if a PSN friend logs in, or you've got background processes like downloads running, the XMB immediately demands use of one core and limits what's available to the game.
This is my theory as to why turning off system notifications and other random XMB settings has boosted framerates a bit (there are threads about this buried in this subforum somewhere).
I personally believe that Bethesda does not deserve all of the blame that we're laying on them. I'm glad that this Obsidian dev made these comments, because they've allowed me to see that it's basically a problem with the Creation / Gamebryo engine not playing nice with PS3 hardware. It's happened before with other games and other engines. I would never expect Bethesda to completely fix this on a code level to adapt to the PS3's split memory architecture - such an endeavor would basically mean rewriting their entire engine, an endeavor that would be hugely expensive, massively time-consuming, and essentially useless given that Skyrim may very well be their last game on this generation of hardware. The current engine is incredibly efficient at what it does, but here's hoping for a rewrite and universal compatibility from here on out.
Bethesda knows about this, and always has. Obsidian knows, and always has. It's a balancing act that Oblivion and Fallout were able to handle after much iteration and optimizing. I'm not surprised Bethesda didn't hand out PS3 copies for early previews or reviews: they were probably in-office 24/7 working with references and optimizing the RAM balance in any way that they could before release. If I was a betting man, I'd wager that Skyrim has several times more indexed values and references than either of those games.
What do I want them to do? Continue optimizing to provide players the best possible experience and help balance out resources. Calculate NPC actions in a shorter radius. Use occlusion like the old Crash Bandicoot games so the GPU doesn't need as much RAM. Save less persistent references, or at least have them refresh and reset sooner.
The whole scope of things Bethesda could do to optimize the experience is huge, and I'm optimistic for the future.
I still hold them accountable for this release, and for not tightening things up before launch, but I'm more understanding of the situation and their plight thanks to Obsidian. Unfortunately, those massive save files that players managed to build up in the first couple weeks of release have a staggering number of references and indexed changes; the most dramatic improvements definitely won't be seen for those unfortunate players
