Treehouseminis Posted January 29, 2022 I've tried googling my question without much results. I know big maps with lots of monsters of screen can cause problems, but when I play something thats prBoom+ compatible I only get slight frame drops and nothing major. I've played Combat Shock, Sunlust, a few Sunder maps, Abandon and never had huge drops, a few stutters but nothing unplayable. But recently when I try to play maps made for GZDOOM, like Bastion of Chaos(i even got the low spec version) or The Slaugher Spectrum my frames go in the single digits and its unplayable. I've messed with the settings a lot, turning resolution down, turning a lot of lighting and other effects off, only getting a few frames out of it. I cant react fast enough when I'm getting 10fps on these hard maps. I've heard the doom engine is run mostly on the CPU, but I'm curious to why I'm getting such better performance on some maps than others, when it's similar in size and scope. Is GZdoom really that intense? Running GZDOOM ver 4.7.1 in open gl. I've tried other rendering options but this seems to be the best. My 6 year old pc specs: I5 4460 3.2ghz 16gb ram R9 290x 0 Quote Share this post Link to post
Edward850 Posted January 29, 2022 (edited) This is nothing weird at all and in fact entirely expected. GZDoom has substantial overheads on its ZScript VM that everything runs in, and with the actor code itself which just uses numerous conditional branches to split up all its behaviour flags and such, also changing the memory profile to use a modern garbage collector as opposed to Doom's original zone memory allocator. PRBoom+ and its modern variant DSDADoom however are more barebones, using native code throughout and only needing to support Boom behaviour, there isn't that much overhead at all and objects are fast to reallocate when removed and readded. Meanwhile the mods you're running have frankly huge demands on memory allocation and scripting, their behaviour and visuals vastly outspeccing the original expectations of the engine, it simply wasn't designed to run the mods it's trying to run nowaways even with (or especially because of) all of GZDoom's changes, the basic limitations remains (and also exasperated by ZScript and such), so the only way to get around that is sheer brute force. As such large density maps will always perform better on these more "strictly Doom" ports. Edited January 30, 2022 by Edward850 11 Quote Share this post Link to post
MFG38 Posted January 30, 2022 GZDoom is simply more prone to performance issues on highly detailed maps with high thing counts due to the way it's designed on a fundamental level. PrBoom+ doesn't have that problem because it doesn't check for 10 different things on each actor every tic. 5 Quote Share this post Link to post
Treehouseminis Posted January 30, 2022 8 minutes ago, Edward850 said: This is nothing weird at all and in fact entirely expected. GZDoom has substantial overheads on its ZScript VM that everything runs in, and with the actor code itself which just uses numerous conditional branches to split up all its behaviour flags and such, also changing the memory profile to use a modern garbage collector as opposed to Doom's original zone memory allocator. PRBoom+ and its modern variant DSDADoom however are more barebones, using native code throughout and only needing to support Boom behaviour, there isn't that much overhead at all and objects are fast to reallocate when removed and readded. Meanwhile the mods you're running have frankly huge demands on memory allocation and scripting, their behaviour and visuals vastly outspeccing the original expectations of the engine, it simply wasn't designed to run the mods it's trying to run nowaways even with (or especially because of) all of GZDoom's changes, the basic limitations remains (and also exasperated by ZScript and such), so the only way to get around that is sheer brute force. As such large density maps will always perform better on these more "strictly Doom" ports. Thanks for the detailed explanation! I guess it's time to upgrade my PC lol 1 Quote Share this post Link to post
Bridgeburner56 Posted January 30, 2022 How well GZDoom performs depends massively on your rig. I get better performance in my boom maps in GZDoom than I do in PRboom for instance. 1 Quote Share this post Link to post
Treehouseminis Posted January 30, 2022 9 minutes ago, Bridgeburner56 said: How well GZDoom performs depends massively on your rig. I get better performance in my boom maps in GZDoom than I do in PRboom for instance. Oh hey you made both maps I mentioned. I wish I could enjoy them, they look amazing from what I've seen/been able to play. I made it to the rocket launcher arena in BoC, the 2nd wave with all the imps makes my pc cry. I've been meaning to upgrade my PC but money is tight for me right now. Would just a better CPU help at all? Since doom runs more on that? Or am I thinking about it wrong? 0 Quote Share this post Link to post
msx2plus Posted January 30, 2022 52 minutes ago, Treehouseminis said: Would just a better CPU help at all? generally speaking the CPU will be your upgrade target, yes, as that's where gzdoom is spending most of its time. i have a 2060ti and can't run any super nutso gzdoom stuff (can't really run new age of hell at more than 30fps even with the settings super mega crushed) because of my older CPU. 2 Quote Share this post Link to post
Edward850 Posted January 30, 2022 Pretty much. There are a couple of things that are demanding on GPU time and memory, such as shadow mapping or the high resolution texture resizing filters, but for the most part the majority of GZDoom's rendering time is spent preparing on the CPU side. Additionally, as of writing I don't believe GZDoom makes use of render command contexts in Vulkan yet so it doesn't gain multi from multi-core CPUs either, and thus favours single threaded performance. This is especially true if you are using the Carmack renderer, which is entirely CPU driven and thus does not scale well with high resolutions. Trying to keep consistent performance at 4K, for example, is pretty much a killer for it on GZDoom or practically any port. 4 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.