Jump to content

Asset Caching Is Broken


Recommended Posts

So I came back to play Warframe again after the latest unvaulting to find out that asset caching is broken again.

The game is force reloading all assets no matter what options are selected causing excessive load times on repeat missions and returning to the orbiter and in mission stuttering.

 

How do I know this is broken? Because I was having near instantaneous load times and smooth performance the last time I was playing and now I'm not. Last time I logged in was during the last Baro visit and I'm pretty sure it was still working then.

I've already gone through the reins of verifying and optimizing the download cache and that's not it. I checked between DX10+DX11, Enhanced+Classic and that's not it either. One of the recent patches definitely broke asset caching.

 

As a side note, I discovered the last time there was a problem with asset caching that setting the "Texture Memory" option to "Low" fixed it and now this time nothing is working.

Edited by JargenBakt
Removed the word "Again" from Topic to accurately reflect the bug report.
  • Like 5
Link to post
Share on other sites

Update 29.6.0 just dropped. Caching is still not functioning.

 

To anyone reading this and thinking I'm nuts for posting this let me just drop this here.

I have a fairly powerful system. Or at least it was when I got it almost two years ago.

 

Warframe currently sits on my SSD which has a max transfer speed of about 500 MiB/s which is seriously overkill for a game like this. Pair that up with an nVidia 2080 8GB and you get quite the performance.

After numerous "ensmallening" updates I started having substantial stuttering problems which I was able to trace back to the "Texture Memory" and "Multi-Threaded Rendering" options. For whatever reason these options were forcing the game to reload pretty much every asset and caused excessive load times.

So I turned "Multi-Threaded Rendering" off and set "Texture Memory" to Low.

After the first-load of the Orbiter (which happens when you login) and any tileset I was playing on, Warframe was loading up everything so fast it was near instantaneous.

 

Now for whatever reason I'm no longer getting the fast load speeds after returning to Warframe after a couple of weeks. Something is seriously wrong with the caching in Warframe... or at least something related to it and now it's causing excessive load times and stuttering where there use to be none.

For example returning to the Orbiter would take about a second or two. Almost no time at all. Same thing for going to the same tileset for a repeat mission like relic farming on Hepit/Ukko. It would take a second or two to load up. Almost no time at all. Now what it's doing is that it's actually taking longer to load and it's actually freezing for a moment during the loading process to and from the Orbiter before it finishes loading. The caching is pretty much gone and now the loading is being treated as if it's a "first-load" every time no matter what you are doing.

Edited by JargenBakt
Wrong Update Number. Whoops.
  • Like 1
Link to post
Share on other sites
  • JargenBakt changed the title to Asset Caching Is Broken

Asset caching are simply assets (textures, geometry, shaders, audio, ect.) that are held in memory after they've been loaded and processed for the first time allowing for subsequent faster loads.

I don't know what kind of assets are being cached in Warframe to speed things up, but it's abundantly clear that it's been broken recently.

Edited by JargenBakt
  • Like 1
Link to post
Share on other sites

So... shameless bump.

Still having excessive load time issues as of version 29.6.2

I've been reading around the forums regarding possible fixes for performance problems and decided to try them out to see if that would solve the loading issue.

So the following I tried had no effect:

Disabling Windows Anti-Exploit for Warframe
Clearing the DirectX Shader Cache
Clearing the nVidia NV_Cache
Disabling nVidia Shader Cache
Running Warframe With A High Priority
Verifying & Optimizing the Warframe download cache

Special note: Uncapping the framerate apparently does "stabilize" some stutterings I had, but that's only if you can get it to render an absurd amount of frames which is a complete waste of CPU & GPU processing power.
If anything uncapping the framerate just goes to showcase that numerous aspects within the game have some serious problems that would otherwise go unnoticed with a capped framerate.

At this point I'm like, "What else do I have to try?"
One player reported that reinstalling Windows 10 helped their performance problems, but that's not possible for me at this current point in time so I can't do this. Definitely something to do for later.

So something I could think of was deleting my client-side configs for Warframe.
I backed up my configs, deleted them, and loaded up Warframe.
It generated fresh, default configs, and I ran through the routine without changing a single option... Still having excessive load time issues.
Set all the options to low, turned everything off, even messed with the "PC Type" option under "Gameplay"... Still having excessive load time issues.

Restored my configs and just continued playing. I'll just have to put up with it.

That's what's crazy about this whole thing. You'd think that the "ensmallening" updates would improve things across the board... and it did providing you had the right options set.
I want Warframe to go back to those insanely fast load times I was getting. Less time wasted at load screens and more time playing.

  • Like 1
Link to post
Share on other sites

@JargenBaktJust to clarify a few things, could you post your additional specs as well? It's unlikely, but there could be a bottleneck within' the system itself preventing fast data transfers. It's also possible the SSD is having a lot of trouble doing reads if it's old, though again this is likely not the cause but I just want to do basic troubleshooting first.

Could you also provide some sort of examples, if possible? I know "stuttering" and "slow" both sound self explanatory, but what's slow to you might not be to someone else. Most of my missions load within' 5s and experience no stutter other than when a new portion of a tileset is streamed in, and I'm running what is likely a significantly less powerful machine than yours. It might help to visually demonstrate this for users and for DE to see what exactly the specific issue is, so they might better be able to replicate it.

Additionally, I see you took a bunch of steps towards a solution; I'd also recommend making sure your drivers are up-to-date, and resetting your NVIDIA settings to defaults if possible. Multi-threading in the launcher should also be enabled, as most modern CPUs will function better with this on (given they have multiple cores to divide workloads better).

It might also help to run the game and have it stutter, and then immediately after go generate an EE.log from the launcher's settings. This log should contain information about in-game loads and functionality (though it is not all encompassing or comprehensive), so it might have the exact error or issue that is causing it. I'm aware that most games use a degree of asset caching to cut down on erroneous loads, but I'm not sure how Warframe handles these situations. That being said, I've only noticed load times improve from the past two years I've played on the same machine, even on this current update, so I'm not entirely sure if your issue could definitely be caused by something DE has changed or instead by a configuration or hardware issue.

Regardless, hopefully we can get everything sorted, and if it's truly a problem caused by DE's code that it can be resolved shortly.

Link to post
Share on other sites

Like I mentioned in another thread ; Removing the ingame fps cap(or capping it to something higher than your monitor hz) reduces the stutter combined with "adaptive vsync" in 3d program settings in nvidia control panel and refresh rate set to highest possible.

It didn't full remove the stutter, but game runs alot smoother and on higher fps now. It plays like how it was before.

Weird issue, not sure how to explain it.

Link to post
Share on other sites

@Naroxas44

It's not the performance that's the problem. It's the caching that's the problem. Stuff like the Orbiter and the Landing Craft should always be cached and stay cached when you first log in. The last visited tileset should be always cached until you visit a new one or visit an open-world. There is no reason to have everything be repeatedly loaded and reloaded and processed and reprocessed again and again. Much of the stuttering that people are reporting recently is clearly the result of caching not functioning properly. If you've been reading around the forums you'll start to get the sense that there is something seriously wrong with one of the updates they recently pushed.

 

My load times are exactly the same no matter what settings I have set or what I do in Windows. This in and of itself speaks volumes. The exact same load times. That simply should not be happening. What should be happening is a long, first load to load and process all the assets then after that it should load up nearly instantaneously on a repeat of the same assets as a result of all assets being cached. It's not happening here. It's loading and processing the assets the exact same way every single time. It's stuttering the exact same way every single time because not all assets are loaded during the load screen and instead are loaded on-the-fly. This on-the-fly loading is what can cause stutterings because the game is having to stop to load in the assets. Caching helps mitigate this kind of problem. You'll still get the initial stutters, but after it's been cached you won't get it again.

 

Here are my specs, not that it really matters. You missed the part where I stated that my system is just under two years old at this point. It's about 15-16 months old. My SSD being old is irrelevant. I even ran the Warframe launcher verification option and looked at Task Manager while it ran and the slowest read speed I noticed was about 250MiB while most of it was roughly 500MiBs. That verification option finished extremely fast. So yeah, it's capable of loading up the entirety of what it needs to mere seconds.

 

Intel i7 9700k 3.6GHz

32GiB DDR4-2666

NVIDIA GeForce RTX 2080 8GiB

Western Digital WD Blue 1TB SSD

Link to post
Share on other sites

I've been having this issue too. Also I've been seeing random frame time spikes for seemingly no reason. The game doesn't use 100% of my CPU or GPU even though I play with an uncapped frame rate. Would be nice if the game took full advantage of your hardware and if not, it shouldn't stutter when we have extra resources available!

Link to post
Share on other sites

So basically each time you enter a mission/open world, game has to load assets from storage to ram it will take time whenever you have ssd or hdd, no matter how much you play the mission, the performance of the game is really broken tbh.

Even good specs will suffer from this issue (I have 8gigs ram + evo 860 500gigs)

Edited by --Q--MEG
Link to post
Share on other sites
On 2020-12-23 at 6:58 PM, JargenBakt said:

It's not the performance that's the problem. It's the caching that's the problem. Stuff like the Orbiter and the Landing Craft should always be cached and stay cached when you first log in. The last visited tileset should be always cached until you visit a new one or visit an open-world. There is no reason to have everything be repeatedly loaded and reloaded and processed and reprocessed again and again. Much of the stuttering that people are reporting recently is clearly the result of caching not functioning properly. If you've been reading around the forums you'll start to get the sense that there is something seriously wrong with one of the updates they recently pushed.

 

My load times are exactly the same no matter what settings I have set or what I do in Windows. This in and of itself speaks volumes. The exact same load times. That simply should not be happening. What should be happening is a long, first load to load and process all the assets then after that it should load up nearly instantaneously on a repeat of the same assets as a result of all assets being cached. It's not happening here. It's loading and processing the assets the exact same way every single time. It's stuttering the exact same way every single time because not all assets are loaded during the load screen and instead are loaded on-the-fly. This on-the-fly loading is what can cause stutterings because the game is having to stop to load in the assets. Caching helps mitigate this kind of problem. You'll still get the initial stutters, but after it's been cached you won't get it again.

I even said in my post that it's unlikely the hardware would be the issue here; however, from a technical support standpoint this needs to be isolated first, hence why I asked. Drivers also do (and will) impact game performance in different ways; this is also another basic technical support step, which is why I asked you to confirm things were updated and set to their default values. I did indeed read all of your posts, but the fact that these initial prerequisites need to be done in troubleshooting still stands. I've had bad hardware fail on me within' a year before, so while it is unlikely it still needs to be tested first and foremost to ensure it's not a cause of the issue.

I have been reading around the PC Bugs sub-forum and have seen the same few people with this complaint, yes; I myself am not experiencing this issue, though. I do entirely disagree however when you state the orbiter and landing craft should always be cached, since some people have very decorated spaces that take up a significant amount of RAM (or VRAM). It should utilize caching when appropriate, but it's hard to guess what the player will do next. I also stated it's possible DE has changed something that would prevent their internal caching from working correctly (likely with ensmallening or DX12 releases), but anything outside of an official update or response is just speculation.

I'd still advise following the steps in my previous comment, to ensure everything is up to date and defaulted. Then, I'd post visual representation of this stuttering here, to give DE a clearer idea of the exact issue this is so they can isolate it and see if it is a problem within' their code base.

Link to post
Share on other sites

did you turn Superfetch off? that's literally what Superfetch is for.

On 2020-12-23 at 10:20 PM, LaylaAmbrose said:

I've been having this issue too. Also I've been seeing random frame time spikes for seemingly no reason. The game doesn't use 100% of my CPU or GPU even though I play with an uncapped frame rate. Would be nice if the game took full advantage of your hardware and if not, it shouldn't stutter when we have extra resources available!

in short, the logic based Instructions that CPU's run, do not infinitely scale unlike the purely Math based Instructions GPU's run.
if your GPU Utilization isn't 100% or maybe as low as 97% in a Video Game, you're CPU bottlenecked. that's all that means.

Edited by taiiat
Link to post
Share on other sites
5 hours ago, Naroxas44 said:

I do entirely disagree however when you state the orbiter and landing craft should always be cached, since some people have very decorated spaces that take up a significant amount of RAM (or VRAM)

You missed the point here. The base orbiter should always be loaded because it acts as Warframe's central hub. When you look at it from a design standpoint there is very little reason to unload this considering how basic and simple it is and because you as the player are always here even if it is just for a brief moment before the next mission. It's not like other games which can have some fairly extravagant hubs which would require loading and unloading of said areas. Decorations can be loaded and unloaded as needed. It's just that the base orbiter needs to be loaded at all times. The amount of time wasted having to reload Warframe's central hub is astronomical.

 

Edited Addendum: So, I'm not going to go too much into this here, but what I said has been my biggest complaint about Warframe since I started playing it back in early 2018. This deserves its own thread so I'll just leave it at that. I don't want to completely derail my own topic here.

Edited by JargenBakt
Added Addendum; Added Missing Word
Link to post
Share on other sites
8 hours ago, JargenBakt said:

You missed the point here. The base orbiter should always be loaded because it acts as Warframe's central hub. When you look at it from a design standpoint there is very little reason to unload this considering how basic and simple it is and because you as the player are always here even if it is just for a brief moment before the next mission. It's not like other games which can have some fairly extravagant hubs which would require loading and unloading of said areas. Decorations can be loaded and unloaded as needed. It's just that the base orbiter needs to be loaded at all times. The amount of time wasted having to reload Warframe's central hub is astronomical.

 

Edited Addendum: So, I'm not going to go too much into this here, but what I said has been my biggest complaint about Warframe since I started playing it back in early 2018. This deserves its own thread so I'll just leave it at that. I don't want to completely derail my own topic here.

This seems more like a design decision than a bug then, if you argue certain aspects of the game should be loaded in at all times. Having said that, I don't disagree with you that Warframe should do a better job of caching assets in this regard, as if someone has 8 GB of VRAM and even more RAM they would honestly have no issues with this process. Running with your premise though, it's possible if things like the base orbiter template aren't cached that this is done to cater to the lowest denominator; that is, the lowest end spec machines are the baseline, so they're what has to be catered to. This isn't uncommon for game devs to do, and would not surprise me if something was implemented for that reasoning. Again, this is just speculation so I'm not making any definitive claims of what the game engine does or doesn't do in this regard, but I can see it trying to free up as much memory as possible every chance it gets to better assist lower end machines.

I wouldn't say the time reloading the orbiter is astronomical whatsoever though, on my SATA III SSD (assuming it loads from this instead of memory) it takes about 2 seconds to load most areas, with about 10s for open worlds (since textures are often streamed in as needed, the entire maps or all tilesets are not loaded to memory all at once during a loading screen). It could be better optimized for sure, but 2s is not something I'd call ridiculous or astronomical. The loading screens I have in other games are just as long, or even worse in some cases (recent example is Forza Horizon 4 takes 1.5 minutes to load to the title from launch).

I'm still recommending you post a video to better demonstrate the issue as well. Additionally, I'd welcome you to create another thread for your more specific complaints with Warframe if you'd prefer, as it gets more users engaged and provides better feedback for devs in that regard.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...