Possible solution to the stuttering at the beginning of the round(AMD+Adrenalin)

by Szaby59
Reply

Original Post

Accepted Solution

Possible solution to the stuttering at the beginning of the round(AMD+Adrenalin)

★★ Guide

I've seen a lot of people suffering from this issue, so I decided to share how I dealt with it.

The stutter is caused by the shader compilation & shadercache generation which happens the first time you launch the game (and necessary to do it again after game/driver updates or shadercache reset) and every map.
The DX12 mode now creates it's own cache so that might be a good option for some people, but despite this advantage the DX12 mode is still less smooth and less stable, so overall provides worse experience.

When the cache is being generated the graphics driver will use all available CPU resources to do it as fast as possible, this is what's causing the stutter, because (on most PC-s) the game doesn't have enough CPU resources left to provide smooth gameplay AND also generate the cache files.
On some PC-s (usually with HDD and/or with slower CPUs) this can cause extreme stutters, and the game could even freeze for 1-2 seconds.

Here is a step-by-step tutorial and also a full video illustration 

 

 

Test system: Windows 10 1803, i7-4790k, R9 Fury + AMD RS 18.4.1, 16 GB RAM

Necessary tool:
Something to monitor the CPU usage, I'll use my usual combo (MSI Afterburner+HWINFO+RTSS) for the best demonstration. The windows task manager will also do fine, just less convenient.

1. Launch Radeon Settings

  • Navigate to Gaming -> Global settings tab
  • Click on Reset -> Shadercache: YES

    Optional: if you'll have issues (see the notes) you can also add starwarsbattlefront2.exe to the game profile list and enable the shadercache there.


2. Open the Shadercache folder

  • Press Winkey+R
  • Paste this line
    %localappdata%\AMD\DxCache
    and press enter
    You'll have a few files there but nothing large, since you just reset it. Leave this window open.


3. Launch the game

(I'm doing it with the Modmanager because I use some mods, but you can launch it the usual way with Origin.)

1st phase - generating the main cache

IMPORTANT: DO NOT DO ANYTHING after the game booted, stay in the main menu.

  • Now this is where you should start paying attention at the CPU usage. When the shadercache is generated you'll have increased usage on all cores/threads.
  • If everything is working, the previously opened shadercache folder will have a new file and it's size will increase.
  • Wait patiently until the CPU usage drops. If this is done continue to the next step.


2nd phase - caching additional assets for each map

The initial cache doesn't contain every necessary assets, you still have to do a similar process for each map the first time you launch them. (I used an arcade battle scenario on the video.)

  • So, start playing, when you load the first map and get into the spawn screen, you'll experience high CPU usage and stutter again.
  • If you have a choice don't spawn until the CPU usage is normal again, if that's not an option then you'll have to wait it out on the battlefield battlefront.
  • Do this with every ("new") map, once you''ll have the assets generated for each map, the next time you load them it will be smooth from the beginning. (Check the video, no high CPU usage at all, the second time I launch the same map).


If you check the shadercache folder, the file size might increase again. Once all maps are generated it will be around 160 MB or more depending on your VGA and how many maps have you played.

NVIDIA:

I also tested the same process with an nVidia hardware as well, the cache needs to be manually removed:

%temp%\NVIDIA Corporation\NV_Cache\


It was on a System with i5 4460+GTX970 and while it improved the performance, wasn't as good as with the AMD hardware, might be because of the slower CPU or the nVidia cache is less effective with this game.


NOTES:

  • Cache generation speed may vary depending on your CPU performance and storage (HDD vs. SSD) speed.
  • Each map (variant) needs it's own cache, for example Hoth HvV will still generate some assets even if you already played Hoth Galactic Assault.
  • Arcade map generation seems to be faster and less demanding.
  • Mods can affect this, especially the new No holo mod with in-game spawn. Will take a few seconds more to generate the cache.
  • Sometimes the AMD driver doesn't save the cache files. You may need to toggle the cache ON/OFF/Optimized to "trigger" proper function. (That's why I suggested to add the game executable and also monitor the folder to be 100% sure it's working as intended).
  • As I said earlier, new game and driver updates will require to repeat the process.


I really hope a future game/driver update will fix this issue. Would make sense to generate the full cache like how it is done in DX12 to avoid in-game stutters.

Message 1 of 3 (8,193 Views)

Accepted Solution

Re: Possible solution to the stuttering at the beginning of the round(AMD+Adrena

Community Manager (retired)

Hey @Szaby59

 

Thank you so much for sharing this workaround with us! Standard smile

 

It's a very informative and well-put post! I hope our players with AMD cards and the stuttering issues will find it useful.

 

/Ataashi

View in thread

Message 2 of 3 (8,299 Views)

All Replies

Re: Possible solution to the stuttering at the beginning of the round(AMD+Adrena

Community Manager (retired)

Hey @Szaby59

 

Thank you so much for sharing this workaround with us! Standard smile

 

It's a very informative and well-put post! I hope our players with AMD cards and the stuttering issues will find it useful.

 

/Ataashi

Message 2 of 3 (8,300 Views)

Re: Possible solution to the stuttering at the beginning of the round(AMD+Adrena

★★★★★ Novice

@Szaby59 wrote:

 

Test system: Windows 10 1803, i7-4790k, R9 Fury + AMD RS 18.4.1, 16 GB RAM

Necessary tool:
Something to monitor the CPU usage, I'll use my usual combo (MSI Afterburner+HWINFO+RTSS) for the best demonstration. The windows task manager will also do fine, just less convenient.

1. Launch Radeon Settings

  • Navigate to Gaming -> Global settings tab
  • Click on Reset -> Shadercache: YES

    Optional: if you'll have issues (see the notes) you can also add starwarsbattlefront2.exe to the game profile list and enable the shadercache there.

 



You sir, are truly a hero.

 

Resetting this shadercache is the only possible solution I've seen on here that has actually helped this issue. Great work.

Message 3 of 3 (8,125 Views)