Unreal Engine 4 titles and stuttering/hitching

Discussion in 'Games, Gaming & Game-demos' started by Carfax, Dec 20, 2019.

  1. Carfax

    Carfax Ancient Guru

    Messages:
    3,972
    Likes Received:
    1,462
    GPU:
    Zotac 4090 Extreme
    So does IdTech if I'm not mistaken, and likely several other engines. Various developers have different methods of doing it, some more successful than others. But I've never seen a game that relied on shader cache being on in the driver control panel to the point where having that setting off would practically make the game a lag and stutter fest.
     
  2. -Tj-

    -Tj- Ancient Guru

    Messages:
    18,103
    Likes Received:
    2,606
    GPU:
    3080TI iChill Black
    Tried Starwars and yea it's bad.. like first Batman @ UE3 and hw physx stutter
     
    Last edited: Dec 24, 2019
  3. Interesting interesting ... kk gotcha; I see ... that's a cool point about Frostbite now that I understand it - thanks for sharing; indulging me :) I do agree you're right about that as I can't think of Frostbite having been associated with any games people reported streaming issues on or "stuttering" related to another underlying cause.

    I'm no fanboy of any engine... I getcha - and not that I assume this of you but you don't have to defend yourself with me. I appreciate everything you contribute here & like reading it. I may not understand all of it sometimes; certain things are above my head. Pardon me, I might ask things that seem a little obvious.

    I thought some more about what you'd been saying and UE4's new games of late/recent have had streaming problems for whatever darn dumb reason causing stuttering. Maybe the engine received a slight revision that's causing something stupid to occur?

    UPDATE:

    Well there we have it... ok good to know' Thank you Astyanax
     
    Last edited by a moderator: Dec 21, 2019
    Carfax likes this.
  4. AATT

    AATT Master Guru

    Messages:
    210
    Likes Received:
    20
    GPU:
    GTX1080
    On a slightly different note, how well does UE4 scale with CPU cores and in general core utilization?
    I can't remember where but I stumbled upon something a few days ago, something about relatively bad console performance due to bad CPU optimization.
     

  5. Archvile82

    Archvile82 Master Guru

    Messages:
    551
    Likes Received:
    346
    GPU:
    ROG STRIX 4090 OC
    Gears 5 was bad for me too. What fixed the stutters / hitching on my PC was to disable the adaptive resolution option and in-game v-sync. I always had shader cache enabled.
     
  6. Damien_Azreal

    Damien_Azreal Ancient Guru

    Messages:
    11,518
    Likes Received:
    2,184
    GPU:
    Gigabyte OC 3070
    UE4 definitely seems more prone to stutters then I experienced on UE3 titles.
    Though, again... it is hit and miss. The Coalition did great with Gears 4 and 5, but Jedi Fallen Order is horrible for stuttering.
     
    Smough likes this.
  7. ramthegamer

    ramthegamer Ancient Guru

    Messages:
    6,475
    Likes Received:
    922
    GPU:
    Zotac Trinity 3080
    I say it again,it depends on the system,to each their own,i had no issues with jeda fallen order, game is smooth as butter
     
  8. Carfax

    Carfax Ancient Guru

    Messages:
    3,972
    Likes Received:
    1,462
    GPU:
    Zotac 4090 Extreme
    And like we already told you, this problem is universal and affects all systems and platforms to some degree, including the consoles which are arguably much worse. I guarantee you there is stuttering in your game, but some people aren't as sensitive to it as others. The game has sub standard level streaming, and the way that shader compilation is handled is also a huge factor.
     
  9. @Carfax

    First of all there are 2 types of shader cache.
    1. The first one is created by application(or API to be exact). It's a bytecode compiled by the API from the shader language. It's used to obfuscate the shader code and also speed up driver level compilation.
    2. The second shader cache is driver-level caching. This is the one you can enable via NVCP.

    In UE this works like this... UE3/4 does precompile and store all shaders (this is the 1.variant). All shaders are precompiled during the "cooking" (packaging) process of your application. Btw. this is done via UE's "ShaderCompileWorker" processes so if you see them running in final release game, you have a problem :) There are global and local shader caches, where the global cache is loaded into memory right after the engine starts and local is loaded on demand. When this shader bytecode is loaded, drivers need to compile it to their native machine code(variant 2). This part is where it could cause some stutter, but this process is also multithreaded and highly optimized, so it should only happen in edge cases.

    So, the potential problems I see in UE...
    1. For every material you create, UE generates all shader variants for its in-engine use. This means that for one material you will usually get around 50+ shaders and developers usually end up with tens of thousands of shader variants (AAA games).So even if shaders are precompiled into bytecode, this amount can overload the driver-level compilation and cause stutter.
    2. UE does not have native pre-warming of shaders. They load global shader cache instantly, so these shaders are warmed, but everything else (game developer materials) is loaded on-demand.
     
    Carfax likes this.
  10. Carfax

    Carfax Ancient Guru

    Messages:
    3,972
    Likes Received:
    1,462
    GPU:
    Zotac 4090 Extreme
    Thanks for the highly detailed response! I just find it odd that the game played very well without needing driver level shader cache turned on when it first launched, and now it absolutely must have it turned on to function properly. It was a real head scratcher, and irritated the hell out of me because I always disable shader cache globally.

    Could any of these potential problems you list cause such a thing to happen? Though I suppose it would be impossible to say with certainty as it would depend on how the various patches and updates to the game's code affected it.
     

  11. You're right. Without proper profiling, this would be a complete guesswork. It could even be a combination of higher WDDM in W10 and newer drivers. Meaning, you might be actually using shaders compiled against newer shader model without even knowing it. Which could also mean different compiling times etc. There are endless possibilities and we could theoretize forever.
     
    Carfax likes this.
  12. Carfax

    Carfax Ancient Guru

    Messages:
    3,972
    Likes Received:
    1,462
    GPU:
    Zotac 4090 Extreme
    Alright man, I appreciate the help. I guess the only thing I can do now is to submit a trouble ticket to the developer :)
     
    Deleted member 164252 likes this.
  13. Smough

    Smough Master Guru

    Messages:
    984
    Likes Received:
    303
    GPU:
    GTX 1660
    Jedi The Fallen Order was a stutter nightmare when I tried it, it's the first time ever that I can say a game is unplayable on my PC and not due to hardware limitations. Another UE4 game that tends to stutter is The Outer Worlds, but this Star Wars game took this to a new level altogether. The game literally stutters and actually "stops" for a while to load new assets, how a game can be so poorly coded is beyond me and I ran it on an SSD, on a HDD it has to be worse. I blame this on the engine behavior and the actual monkeys who "developed" this game.

    I decided to try some other games because I honestly was thinking my computer was seeing it last hours and guess what? They all ran perfectly fine, so I can say without a doubt that this Star Wars game is the worst PC port I have ever seen, it actually makes RDR2 look like a masterpiece.

    The game ran the same on all settings and at any resolution, the fps were the same and the stutter was the same. As a honorous mention, the game framepacing it's so f****d up that not even RTSS or nVidia frame rate limiter really can't do much to keep it steady.

    As a reference, I can play The Division 2 no stutters, nearly maxed out, smooth experience all around, I can run across the map like a maniac and everything loads smoothly, zero hitches, never. And on The Division 2, unless you use fast travel, the game has to load everything on the go. Why is this game smooth as it can be and a much more smaller, SP game literally has a stroke loading assets? Some games have asset load "hitch", but it's minimal and you can't see it unless you look really, really hard. Resident Evil 2: Remake is an example of this, as well as Sekiro.

    The Divison 2 asks for a more powerful computer than The Fallen Order, it actually takes much more RAM on my system when I play it and it pushes my i7 HARD. But I don't mind. It uses everything you give to it to run perfectly fine. I wish I could that this Star Wars game on this literally cursed and poorly coded version of the UE4 this game has and convert it to the Snowdrop engine, I bet it would work miles better.
     
    Last edited: Jan 16, 2020
  14. Carfax

    Carfax Ancient Guru

    Messages:
    3,972
    Likes Received:
    1,462
    GPU:
    Zotac 4090 Extreme
    @ Smough, if that GTX 1060 3GB beneath your avatar is your current GPU, that probably explains why your stuttering is much worse than ordinary. A GPU with only 3GB of VRAM would exacerbate the slow asset streaming problem that the game has because data is constantly being trafficked from storage to RAM to VRAM. Even though Star Wars Jedi Fallen Order has stuttering regardless of platform or rig due to how the game itself is coded, from what you are describing, it seems much worse than most of here have reported. I'm not sure we can blame this exclusively on the engine because there are many other UE4 titles that run very smoothly at all times and are exceptionally well optimized.

    The main culprit is likely developer incompetence/inexperience with UE4. I'm still surprised that as of the writing of this post, there still has not been a patch that addresses the slow asset loading :mad::rolleyes:

    Also, make sure you have shader cache enabled in the driver control panel. You likely already have it enabled, as that is the default setting.
     
    Smough likes this.
  15. Smough

    Smough Master Guru

    Messages:
    984
    Likes Received:
    303
    GPU:
    GTX 1660
    Nah, the VRAM usage never was full and as I said, it happened at all settings, there was no excessive virtual memory usage at all. If it was VRAM, MSI Afterburner would have showed this to me. As I said, I can play The Division 2 with zero stutter and that uses both more VRAM and system RAM. The game is just broken, I tried all "tricks" I know to try to get a game to run better, nothing worked at all.

    But, you do have a point and regardless of VRAM usage and the way this game is made, having a lesser amount VRAM could lead to strange issues, it makes sense. Oh well, not much I can do.
     
    Last edited: Jan 16, 2020

  16. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,040
    Likes Received:
    7,379
    GPU:
    GTX 1080ti

    Carfax, just a reminder you're talking to someone who doesn't acknowledge that commit charge is a thing, he only knows what is being shown by Working set and Dedicated vram. he won't/cannot accept that 8GB's of ram and 3GB vram are easily consumed by games this generation because he only wants to hear what he has concluded from a limited set of information.
     
  17. Carfax

    Carfax Ancient Guru

    Messages:
    3,972
    Likes Received:
    1,462
    GPU:
    Zotac 4090 Extreme
    Astyanax is correct. 3GB of VRAM is simply not enough for modern games anymore. Even 4GB is pushing things. Remember the PC has discrete memory pools, so there is potentially a lot of shuffling of data between the pagefile, system memory and VRAM. All of that increases latency and can cause stuttering and pauses. The way the PC gets around that limitation is by having a much larger pool of total memory than what the consoles have. If you want to see a really good example of this, look at this article. It's in German but you can look at the graphs and still understand. The 5500XT with 8GB of VRAM has a much smaller impact from using PCIe 3.0 compared to the 5500XT with 4GB of VRAM. The reason is because more VRAM helps to mitigate the latency penalties associated with data transference between the system memory and the GPU. Since PCIe 4.0 has twice the bandwidth of PCIe 3.0, it can transfer data faster between the system memory and the VRAM. Still, even PCIe 4.0 is nowhere near fast enough to fully mitigate the penalties of having a smaller pool of VRAM, to the tune of nearly a 100% difference in Wolfenstein Youngblood.

    As for the Division 2, I've never played it but it's conceivable that the game has a very efficient streaming system. Also The Division 2 uses DX12 which affords more effective control over memory usage if the developer knows what they are doing. At any rate, The Division 2 is not the norm unfortunately. Low efficiency streaming systems are all too common in gaming.

    Indeed. I hope one day in the future that you eventually upgrade to a GPU with more VRAM, and then you'll see what we're talking about :)
     
    Smough and cerebus23 like this.
  18. Smough

    Smough Master Guru

    Messages:
    984
    Likes Received:
    303
    GPU:
    GTX 1660
    I shouldn't reply to a troll such as yourself, but i'll do it anyway. It seems you don't know what MSI Afterburner in-game OSD is, so let me explain: This tool allows you to measure CPU, RAM, Pagefile, VRAM usage, etc when playing any game. I can tell when a game it's taking all of my VRAM, RAM or if my CPU is drowning when I am playing the game. Of course there is a lot about PC's I don't know; I am an enthusiast, not a technician. This Star Wars game does not max my VRAM or RAM. I know what games I cannot play 100% due to RAM or VRAM limitations and I know that some games textures must be set to Medium at most cases so they work fine.

    Also, READ my post, I said it happened all at settings, at any resolution. Also, Google the issue this game has and stick your head out of your butt, stop gaslighting. This is what you always do. You don't even read, you just want to appear smart. You are the biggest troll at the nVidia forums that is allowed to do so in there. I could give you over 20 examples where you give literal braindead responses that help NO ONE.

    Regardless of that, your history of giving sarcastic responses to people on the nVidia forum, your "solutions" that no one seems to benefit from and your aggressive-passive behavior are frankly something you should work on, but that you never will.

    Please enlighten me on why this user also has my issue with a more powerful rig:

    Also, tell me the reason why almost everyone in the comments section has this problem. Can you help them? Of course you can't lol. Go and tell them how broken their computer is and how smooth is on your system and how magically it doesn't stutter-load assets on your alien tech system but it does on everybody elses system.
     
    toyota likes this.
  19. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,040
    Likes Received:
    7,379
    GPU:
    GTX 1080ti
    1. It does not track page file usage, the statistic this displays is a carry over from Windows XP where the Commit Size was misnamed. (Only app i know is AIDA64 that displays PF usage, per drive)
    2. VRAM is one thing, but Since Vista+, there is also a GPU Commit charge which is where everything there is not enough room for in Physical Video memory is placed. MSI AB does not track GPU Commit, it only displays physical vram usage.

    On nvidia hardware/drivers, once you have around 1-1.5GB in gpu commit, things start to misbehave, this is also a fact for 8GB and 11+GB cards, if you exceed it too far beyond the physical size GPU utilization is measurably increased, Memory controller utilization spikes too and you get stutters and fps drops that you do not otherwise get when the memory isn't exceeded. - one way to know you've over commited is running the gpu caps viewer vulkan tests, they will glitch out.

    As for the video, it has nothing to do with Unreal Engine and everything to do with the engine tuning the developers did, most of the UE titles i've played are hitch free.
     
  20. Carfax

    Carfax Ancient Guru

    Messages:
    3,972
    Likes Received:
    1,462
    GPU:
    Zotac 4090 Extreme
    In that area where that purge trooper is, is a good example of how the developers screwed up the optimization. Every footage I've ever seen of that area stutters and lags, regardless of configuration and what console you're using. It also stutters on my rig, but nowhere near as bad as in that YouTube clip. That's probably why they had you squeeze through that tight space to get to the other side, to slow down the area transition and minimize the stutter.
     

Share This Page