By using this site, you agree to our Privacy Policy and our Terms of Use. Close

Forums - Sony Discussion - Dev Acknowledges Bloodborne's "Poor Loading Time" On PS4, Second Patch In Development To Improve It

Tachikoma said:
SvennoJ said:

That's because you didn't need to reload the entire game every time you died...
I did moan about space quest 4 in the past where every new screen took 30 seconds to load. That was annoying to play on 7 5.25" floppy disks. Pray you didn't need to back track a bunch of screens.

Erm, many games did not support playing from the point of death over again, many actually required you reload from tape, Sly Spy, Ghostbusters II and so on.

Califonia games would make you load, fron tape, each stage, then load the results screen, then rewind the tape to start the events again on side B. multiple other games also required that you rewind the tape and start over to play again once you died, it was only the smaller stuff that could fit most of the game data within the memory that didnt.

More extreme cases were games like X-out, where you had to load the game intro, then load the shop, then load the level, then if you died, load the highscore table, then the shop, then the level, EVERY time, and each of these load processes were 2-5 minutes a piece, then if you actually got past the first level, it would load the next, but if you died you had to reload that level, which meant letting the tape play through all the previous data to get back to the second level data, and each level you progressed, the load time each death would get longer, and longer, the last level would require 15 minutes of load time of the casette deck each time you died, just to continue that level.

This was not an uncommon situation, either.

I guess I was spared that. I grew up with an MSX. Games either came on cartridge, instant loads, or tape with 1 long initial load. Jet set willy 2 was pretty huge in my young mind, never seen an extra load screen. I was already annoyed with the games on tape that first spend a minute loading a fancy splash screen before loading the actual game.
A friend of mine had a c64, never had extra loads either. Or maybe he never played those games.

The harshest game I had was king quest 1, pirate copy, couldn't save. There's 1 point where I kept dying near the end, and had to start from the beginning again. That's one good deterrent against piracy :)

Anyway it's 2015 now. Not that hard to cache data and re-use assets instead of reloading everything piece by piece. Read cached start of level data in 1 chunk, reset char attributes, done.



Around the Network
kivi95 said:
Hmm I have the game finished installed but think I might wait for this patch if it's not too far away, 45 seconds is kinda a stretch and I know i will die alot since this is my first "Souls" game.


Just play it man



SvennoJ said:

Anyway it's 2015 now. Not that hard to cache data and re-use assets instead of reloading everything piece by piece. Read cached start of level data in 1 chunk, reset char attributes, done.

Sadly not that easy as the way the world streaming is setup is to stream assets in to place as you play, providing you don't die, your exploration around the game world is free of loading screens, its only warping between locations or dying that causes them, depending on how far you explore, you can potentially need a large portion of previously unloaded data to be re-loaded along with setting the states of much of the destructable environments, models which when destroyed are cleared from memory to keep usage down.

it's all a fine balancing act between loading assets and clearing assets from ram, hopefully with future patches they can optimize it further to reduce the loading time, i suspect what we will see is the game loading in low LOD resources and kicking you into the game while it streams the remaining resources in during play, as a workaround to the issue, that combined with fine tuning the loading process.



Had I not known about longbloading times, I would 't have noticed. Sure, it takes a while, but it's nothing outrageous. And I already died dozens of times, my first such game, the damned dog killed me 5 times before I figured out that I need to equip a weapon

I can already see this will be one long game, most of it being me dead.



I saw some walkthroughs of the game and they said the load screens are around 40 seconds, that gets really anoying in a game where you can die over and over.



Around the Network

Honestly, praise the lord that long loads are the biggest thing wrong with this game.



Tachikoma said:
SvennoJ said:

Anyway it's 2015 now. Not that hard to cache data and re-use assets instead of reloading everything piece by piece. Read cached start of level data in 1 chunk, reset char attributes, done.

Sadly not that easy as the way the world streaming is setup is to stream assets in to place as you play, providing you don't die, your exploration around the game world is free of loading screens, its only warping between locations or dying that causes them, depending on how far you explore, you can potentially need a large portion of previously unloaded data to be re-loaded along with setting the states of much of the destructable environments, models which when destroyed are cleared from memory to keep usage down.

it's all a fine balancing act between loading assets and clearing assets from ram, hopefully with future patches they can optimize it further to reduce the loading time, i suspect what we will see is the game loading in low LOD resources and kicking you into the game while it streams the remaining resources in during play, as a workaround to the issue, that combined with fine tuning the loading process.

It is that easy if you cache the state of the world you want to return to. Dump that part of memory to a temporary file and reload it on death. Or since the bonfires are fixed points, have those optimized and ready to read in one chunk from disk, together with a change file to quickly update the local changes.
It is of course more work to program right. Slow lazy load from scratch code simply means the game wasn't fully polished on release, big shocker. Well that and the 2.69 GB day 1 patch.



They may be able to improve the loading times slightly, but due to the scale of this game, the bbest way may be to get an ssd.

http://www.eurogamer.net/articles/digitalfoundry-2015-bloodborne-performance-analysis



SvennoJ said:

It is that easy if you cache the state of the world you want to return to. Dump that part of memory to a temporary file and reload it on death. Or since the bonfires are fixed points, have those optimized and ready to read in one chunk from disk, together with a change file to quickly update the local changes.

If you dump instances to memory to aid loading you would need to add to that instance dump each time an element of the world changes, there is no benefit to be gained from dumping the presence of a mesh to file if that file has to be reloaded anyway.

When you destroy an object, the objects original form is unloaded from memory, saving that to file would make no difference to the loading time because reading from an instance dump and reading from the games own archives is essentially the same thing.

At all times during gameplay, assets are being streamed in and out in their various LOD levels, if you do any sort of venturing the load time jumps along with it, thats because the initial spawn points geometry, textures, sound data and scripting has all been streamed to either lower lod levels or removed entirely, thus if you reload back to the spawn point that data HAS to be re-loaded to memory, saving gamestate dumps is not a solution, because you are STILL loading data on death.

The only viable solution is to optimize the "begin" point, a predetermined point where the game will allow you to start BEFORE the correct low level has been loaded, right now that point is high, so there is very little LOD change in the initially loaded area after you are given control, though it IS there.

A solution to reduce loadtimes would be to adjust that start point to be much sooner, the result would be a faster load time at the cost of lower quality world / textures initially until these assets are streamed in.

You are looking at things far too simplistically with no real understanding of how engines operate.

SvennoJ said:

It is of course more work to program right. Slow lazy load from scratch code simply means the game wasn't fully polished on release, big shocker. Well that and the 2.69 GB day 1 patch.

And here in lies your reason for carrying the attitude to "its an easy fix".

If you want to hate on the game I suggest finding an angle you understand.



Tachikoma said:
SvennoJ said:

It is that easy if you cache the state of the world you want to return to. Dump that part of memory to a temporary file and reload it on death. Or since the bonfires are fixed points, have those optimized and ready to read in one chunk from disk, together with a change file to quickly update the local changes.

If you dump instances to memory to aid loading you would need to add to that instance dump each time an element of the world changes, there is no benefit to be gained from dumping the presence of a mesh to file if that file has to be reloaded anyway.

When you destroy an object, the objects original form is unloaded from memory, saving that to file would make no difference to the loading time because reading from an instance dump and reading from the games own archives is essentially the same thing.

At all times during gameplay, assets are being streamed in and out in their various LOD levels, if you do any sort of venturing the load time jumps along with it, thats because the initial spawn points geometry, textures, sound data and scripting has all been streamed to either lower lod levels or removed entirely, thus if you reload back to the spawn point that data HAS to be re-loaded to memory, saving gamestate dumps is not a solution, because you are STILL loading data on death.

The only viable solution is to optimize the "begin" point, a predetermined point where the game will allow you to start BEFORE the correct low level has been loaded, right now that point is high, so there is very little LOD change in the initially loaded area after you are given control, though it IS there.

A solution to reduce loadtimes would be to adjust that start point to be much sooner, the result would be a faster load time at the cost of lower quality world / textures initially until these assets are streamed in.

You are looking at things far too simplistically with no real understanding of how engines operate.

SvennoJ said:

It is of course more work to program right. Slow lazy load from scratch code simply means the game wasn't fully polished on release, big shocker. Well that and the 2.69 GB day 1 patch.

And here in lies your reason for carrying the attitude to "its an easy fix".

If you want to hate on the game I suggest finding an angle you understand.

Maybe it's very different from the other souls games, but as I remember it is you die, you go back to the last bonfire, everything resets, except the stuff that you left lying around. Cache the pristine start area as 1 chunk and apply the change log you have already.
Yes it gets slow when you create a new instance, allocate and load each object separately. You don't have to do that, you can create a fully initialized start state and apply changes from there. It's harder to debug sure, but direct memory writes shouldn't be an issue on consoles.

I've done plenty such optimizations in the past. It's not part of the standard object oriented guide of practice, but screw that, it's just a block of memory with a bunch of pointers in the end. Especially on consoles you have full control of the memory layout.

I worded it wrong by using the word lazy I realize. Developers are anything but lazy. It's the easy, safe, initial get it working way. I bet they already had a much faster loading version ready. The fact that they announce a patch for the loading times on release day says 2 things: They were well aware of the problem, and a proven significant improvement is currently stuck in the testing stage.
I've been there myself. Work overtime to get big improvements ready months before release. Then management comes by: We reverted to an older version since those changes have only been in stress testing for 2 weeks and figured it would be a good thing to add in a later patch to sneak in / draw attention away from a bunch of less pleasant fixes.

I'm not hating on the game, just annoyed with the process of how these things go. As a buyer I'm not getting the finished version on disc. As a developer I read complaints in reviews that have been solved long ago.

Anyway I'm buying the game first opportunity I get. However I'll finish the new DC content first (The Lamborghinis events are great so far) and wait for the finished version before starting the game.