GZDoom Project Brutality - Lag and Performance Issues

Need help running G/Q/ZDoom/ECWolf/Zandronum/3DGE? Did your computer break? Ask here.

Moderator: GZDoom Developers

GZDoom Project Brutality - Lag and Performance Issues

Postby Martha Foddleridge » Thu Nov 11, 2021 7:03 am

Dear fans of Doom, GZDoom, Brutal Doom and Project Brutality

I wanted to give some insight into a potential fix (or configuration change, hardware, or other) to players out there trying to get Project Brutality working well on GZDoom. Before getting into my experience, I am aware that the demands being made on GZDoom are not a reflection on it, the developers or the mod developers in the resulting combination, but more to give others the insight needed to play with a more demanding setup and get the best out of it.

To start, I began with GZDoom 4.6.0 and Project Brutality 3.0 (hereafter PB), after seeing a few Youtube videos which really showed how kickass Brutal Doom is, and can be, with the frankly ridiculous and demanding addon PB. My hardware was not particularly performance-skewed: it's an Asus x541u office laptop with integrated Intel UHD 620 graphics and an Intel Core i7-7500U @ 2.70GHz, 16Gb RAM and Windows 10. Surprisingly, the performance was almost perfect to begin with even with all PB settings at default, and I experienced no slowdown or performance issues even with this non-gaming laptop. I decided to add on a few more Mods, namely Ultimate DoomVisor 3.0 (updated PB v3.0-compatible patched version of saegiru's UDV 2.13) and the DHTP community created hi-res texture pack. Again, the performance was admirable, considering the limited hardware.

In the winter months, everything worked without issue, with the odd crash here and there, but to be expected considering the heavy combination of mods. When the outside temp started hitting the 30C kind of range, crashes became more frequent as the UHD 620 is known for cutting out as soon as it hits an upper temperature limit, but again this was to be expected. Playing in the evenings rendered a better experience with less frequent crashes. Whole map packs were consumed during this stretch, namely Maps of Chaos, UAC Ultra, Hell Revealed, all excellent packs to enjoy PB 3.0 to its fullest. Some monster heavy bits in Maps of Chaos really pushed the machine and GZDoom to its limits, but I couldn't ask for more considering the hardware limitations.

I was then lucky enough to be given a new work machine with much better hardware: A Dell Inspiron 5593 with 24Gb RAM, integrated Geforce MX230/Intel Iris Plus dual graphics setup, and a an SSD hard drive (previous laptop was standard SATA). I created an identical install of the same GZDoom/PB/Mods and started up expecting increased performance and stability.

To the contrary, the performance dipped significantly, and a general all-round lagginess began, particularly bad lags and stuttering with much action on screen, and almost certainly when there were multilayer blood textures (decals) being rendered onscreen and up close. I was baffled. How could a vastly improved hardware setup result in poorer performance? I went back to the old laptop and things remained unchanged, still performing perfectly well in identical circumstances, when the new laptop just couldn't hack it.

I launched into a variety of different solutions, trawling through this discussion board to find if maybe there was a setting that was causing the issue: outdated drivers, OpenGL version, the presence of the dual graphics card vs integrated Intel UHD 620, multisampling, vsync, capped framerates, the works. NOTHING fixed it, and despondent I considered returning to the old laptop, for the misguided chance of continuing to play PB Doom like I was used to. I tried different versions of GZDoom, new builds of PB, removal of DHTP and UDV 3.0, again with the same slowdown lag and stuttering. I turned to GPU-z to see exactly where the slowdown was occurring, and at first it appeared that when the CPU on the new machine started hitting the 100-degree temperature range is when everything went to hell. All attempts at reducing this occurrence were in vain, and the moment there was consistent action on-screen, multi-layered blood decals (or sprites) on walls, or generally a fat pile of actors and objects in one place the machine and the performance would suffer. I tried turning down every setting possible, from dynamic lighting, to number of particles, decals. the clear gore debris shortcut in PB helped fractionally, but once the CPU was at high temp it was a matter of time before there was slowdown. I was also not really willing to downgrade the looks and on-screen gore and effects, as I'd of course grown accustomed to the enhanced looks while playing on the previous machine. With everything on in PB it's glorious, and without all the enhanced effects you may as well go back to straight Brutal Doom or even just vanilla (nothing personal Brutal Doom, you're just not as mad as PB). It just didn't make sense that with newer and better hardware I should have to downgrade the experience.

As a last-ditch effort to ascertain the problem, I created 2 new fresh installs of GZDoom 4.7.1 (Latest version as at Nov 2021), both the 32- and 64-bit versions. I reloaded all original mods (DHTP, UDV 3.0, PB 3.0, Maps of Chaos, and some Doom Metal Vol5 for good measure), and gave it one last shot. I started with the 32-bit version as most of the previous versions I tried were 64-bit

I'm not sure exactly what's changed in the latest version, but the performance began to really hold its own again, and despite heavy onscreen action, blood everywhere and settings still at default, it seems like finally the new hardware is coping. CPU temps are still consistently hitting 100-degrees (and staying there), but it now runs almost flawlessly, with a bit of slowdown in high-action sequences and again with the multilayer blood decals from up close, but nothing is ever perfect. Figuring it was a 32-bit vs 64-bit issue, I then kicked off the same in the 64-bit version. To my surprise, the performance was still pretty good. Maybe not as good as the 32-bit runs, but not nearly the jittering slideshow it was before.

I realise a lot of the above is vague and doesn't really get to the core issue, what was slowing the machine down when a less capable machine managed without problems? My only answer is that the newer version GZDoom definitely did make some performance related changes that possibly utilise the hardware better, or deal with the dual-graphics card setup in a better fashion. Again, this is not a GZDoom problem here, I was asking A LOT of it simply with PB 3.0 alone, but something has definitely changed and I can finally ditch my old rig and move onto the new one without losing my precious Project Brutality experience.

I hope that this story gives another player out there some hope that even a modest gaming rig can be made to run a slick version of Doom through GZDoom, even if that mod is Project Brutality, and even if the demands on it are so great. My advice is to persevere, and perhaps consider 32-bit vs 64-bit version of GZDoom, if that was even the issue.

A big shoutout and Kudos to all of the respective development teams from Brutal Doom, Project Brutality and the other modders mentioned here, but most especially the GZDoom guys who I'm sure are tired of hearing people's woes when trying to shoehorn PB 3.0 into their roster. Your combined efforts has resulted in a solidly awesome experience that gamers new and old can surely enjoy. And who needs a triple-A title anyway with this much kickass?

"I like it... The sugar-sweet kiss of heavy ordinance!"
Martha Foddleridge
 

Re: GZDoom Project Brutality - Lag and Performance Issues

Postby wildweasel » Thu Nov 11, 2021 12:15 pm

The real bottleneck you may be running into here is that of single-thread CPU performance. Your old machine, you say, was a 7th generation Core i7. I do not see in your post that you've told us what your new CPU is - only that it has two GPUs. It's possible GZDoom is selecting the wrong GPU on startup, I suppose, but that's something you'd notice in the console on startup.

Of course, the REAL problem is that Brutal mods make heavy use of blood and particle effects, which by nature of how the Doom engine works, are all individual actors that all have to "think" and run checks one at a time on a single CPU core. This already hurts your average computer when it's a lot of active monsters all needing to check sight and collision with each other, but a mod with a lot of "particles" compounds this exponentially, as you're also adding individual splats of blood that also now need to check collision and everything else. This cannot be easily split across multiple cores or threads, because this is the Doom engine. Therefore, if your new CPU sacrifices single-core performance in favor of multi-core, with the expectation that the load will be spread evenly, that's not something that GZDoom will work so well with.
User avatar
wildweasel
from a different perspective.
Moderator Team Lead
 
Joined: 15 Jul 2003

Re: GZDoom Project Brutality - Lag and Performance Issues

Postby Martha Foddleridge » Fri Nov 12, 2021 5:11 pm

Thanks Wildweasel, I think you're spot on. I've had a lot of discussions with dev buddies over the last few days and they all came to a similar conclusion, that it is likely the single core vs. multi-core processor that is the cause for the relative slowdown. The new processor is an Intel i7-1065G7 CPU @ 1.30GHz, and the previous is a dual-core at 2.70 Ghz. While the clock multiplier is still higher with the newer CPU, the single core speed of the older processor is indeed still quicker, and in tests seemed to show a better use of a single core on the older chip while the newer one chugged along still largely using a single core as well.

Regarding the dual GPU setup, I'm fairly sure that there's no way to "extricate" the Intel Iris onboard GPU from the equation, and it's essentially a butler for the Geforce GPU anyway which is the one doing the real work. I ended up forcing the "High performance" card usage in Windows thinking this might force the Geforce card's usage as the primary GPU across all applications, but again no way to be sure if this is actually happening, and if the bottleneck is in the passing of instructions between cards or some such. Even disabling the Iris card specifically results in GZDoom crashing out on startup citing an OpenGL error, regardless of whether the Geforce card has the capability, meaning that it is still receiving some instruction from the Iris card. There might be some way to force it on boot, but I still feel like the CPU is the main culprit in this situation.

Thanks for the additional insight though, makes me feel a little less like I'm just going mad and imagining all of this.
Martha Foddleridge
 


Return to Technical Issues

Who is online

Users browsing this forum: No registered users and 1 guest