Jump to content

Confused why I get performance issues with certain GZDOOM maps


Recommended Posts

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 

Share this post


Link to post

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 by Edward850

Share this post


Link to post

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.

Share this post


Link to post
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

Share this post


Link to post

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.

Share this post


Link to post
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? 

Share this post


Link to post
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.

Share this post


Link to post

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.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...