Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
mankubus

How many enemies at once with max fps (200 being default GZDoom) it's possible?

Recommended Posts

With current hardware, what is record?

And I wonder how many more enemies it will be possible to run at smooth fps with the new cards coming next years, they are claiming a massive peformance improvement.

 

To be more specific: What I mean is normal gameplay. Normal gameplay means a somewhat normal looking map, with a reasonable architecture, not a square filled with monsters.

Edited by mankubus

Share this post


Link to post
  • Why 200 fps, that's pointless unless your monitor has at least a 200Hz refresh rate.
  • By "new cards" I assume you're talking about graphics cards, but the GPU has never been the bottleneck for pushing the monster count.
  • What source port?
  • Do the monsters have to be awake? Do they need to be on the screen?

Share this post


Link to post
23 minutes ago, Shepardus said:
  • Why 200 fps, that's pointless unless your monitor has at least a 200Hz refresh rate.

 

I get where OP is coming from (to an extent), When I play on a framerate matched to my display's refresh rate (a 60hz hp genero 32") I notice an uncomfortable stutter with while playing that I don't get when playing on a higher framerate even just increasing the cap to 140 (even on Woof, which doesn't give me frame tearing for some reason)

 

Otherwise, I agree with Shepardus. You're going to have to specify on sourceport, you're going to get way more performance differences when comparing between GZDoom, DSDA-Doom, the aforementioned Woof, Crispy Doom, and SO Doom moreso than comparing between different Ryzen CPUs (not saying there's going to be no appreciable differences between them)

Share this post


Link to post
39 minutes ago, Shepardus said:
  • Why 200 fps, that's pointless unless your monitor has at least a 200Hz refresh rate.
  • By "new cards" I assume you're talking about graphics cards, but the GPU has never been the bottleneck for pushing the monster count.
  • What source port?
  • Do the monsters have to be awake? Do they need to be on the screen?

GZDoom, and yes, normal gameplay.

Share this post


Link to post
48 minutes ago, mankubus said:

GZDoom, and yes, normal gameplay.

That didn't answer anything, idle monsters and awake monsters are both part of "normal gameplay," as are monsters not on the screen and monsters on the screen.

Share this post


Link to post

It doesn't have much to do with GPU, but rather CPU. Each enemy in Doom calls A_Look when not active, and A_Chase when they are. You could handle Plutonia's Go 2 It just fine in GZD, but if you even so much as try to run NUTS.WAD and shoot a single bullet, that's where you'll run into some issues with performance. Also keep in mind that GZD isn't really that well optimized, especially when comparing it to DSDA-Doom or anything else. I believe there's some different layers of interpretation that ZDoom ports follow which make it more difficult for the engine to process in the end. And that's not even keeping track of enemies that can shoot projectiles, handling weapon projectiles, etc. ...

 

In other words, it's largely dependent on your CPU and just how many things / entities are in a single GZD instance at any given moment in time.

Share this post


Link to post

Also keep in mind that GZD isn't really that well optimized, especially when comparing it to DSDA-Doom or anything else. I believe there's some different layers of interpretation that ZDoom ports follow which make it more difficult for the engine to process in the end. And that's not even keeping track of enemies that can shoot projectiles, handling weapon projectiles, etc. ...

 

Bold is mine. GZD isn't optimized for giant maps of monsters, simply because for example, the GZD zombieman is more complex than the vanilla zombieman. GZD has to run more checks. Remove those checks and you break all mods.

Share this post


Link to post

This thread is not as broad as I thought it would be. i’ll just go with what i’ve experienced.

 

GZDoom is a bad sourceport for performance. Yes it can run some brilliant mods but if you were to boot up nuts.wad then it’s completely unplayable. I personally use DSDA doom which is a sourceport derivative of prboom+. And funny enough i booted up nuts.wad last year. There was a small lagspike at the start but then after it was completely fine. Same went for nuts3 when i was trying to speedrun that. 

 

Also graphics don’t really have anything to do with the framerate and responsiveness. If you want better performance then I suggest upgrading your RAM since that can help things run smoother and faster in the CPU.

Share this post


Link to post

 

Quote

With current hardware, what is record?

 

>GZDoom

>Max enemies at once

>Target fps 200

 

Let's find out then! With the simplest possible geometry (ie rectangular room) and simplest possible enemies that don't spawn much stuff the answer would be around ~256 enemies. https://youtu.be/BLvOUo4sef4

 

I have a hexa core cpu running @4.4GHz. As you can see from the video my fps drops down to 186 at some point. I guess a more modern ~5.2GHz-5.6GHz cpu would be able to achieve 200 fps in the same scene with same settings.

 

Quote

And I wonder how many more enemies it will be possible to run at smooth fps with the new cards coming next years, they are claiming a massive peformance improvement.

 

As for this question - as others have mentioned you wouldn't see any difference with newer and more powerful GPUs.

Share this post


Link to post
1 hour ago, PKr said:

Let's find out then! With the simplest possible geometry (ie rectangular room) and simplest possible enemies that don't spawn much stuff the answer would be around ~256 enemies. https://youtu.be/BLvOUo4sef4

You'd probably want to disable dynamic lights if you want to push as many enemies as you can. With lights disabled I dropped about 900 zombiemen into a room and got around the same framerate as in your video, and I'm running a CPU that's over a decade old (Core i7 920 @2.67GHz). 512 zombiemen was about the most for which I could consistently maintain over 200fps.

Edited by Shepardus

Share this post


Link to post
26 minutes ago, Shepardus said:

You'd probably want to disable dynamic lights if you want to push as many enemies as you can. With lights disabled I dropped about 900 zombiemen into a room and got around the same framerate as in your video, and I'm running a CPU that's over a decade old (Core i7 920 @2.67GHz). 512 zombiemen was about the most for which I could consistently maintain over 200fps.

Another good point why the initial question is too broad to be answered seriously.

Share this post


Link to post
3 hours ago, PKr said:

With the simplest possible geometry (ie rectangular room)

Technically speaking, a room with the simplest geometry would resemble a triangle.

3 hours ago, PKr said:

and simplest possible enemies that don't spawn much stuff

I could be completely wrong here, but shotgunners wouldn't be as efficient in this sense compared to zombiemen since their pellets spawn multiple puffs of smoke for every shot hitting a wall as oppose to the single puff of smoke from a zombieman.

Share this post


Link to post
27 minutes ago, spineapple tea said:

I could be completely wrong here, but shotgunners wouldn't be as efficient in this sense compared to zombiemen since their pellets spawn multiple puffs of smoke for every shot hitting a wall as oppose to the single puff of smoke from a zombieman.

 

Keens are also enemies...

Share this post


Link to post

As others have pointed out, this is a ridiculous question, akin to "how long is a piece of string".

 

However, in the name of pointless whimsy, I thought I would have a go at finding out, to see how many enemies I could have in a level before the FPS drops to below 200.

 

The answer is, at least on my laptop, approximately 15,000.

 

I placed 1,024 Commander Keens (as per the above comment, I agree they're probably the simplest monster), and then copied them on top of each other 15 times.

 

image.png.71bc613fc336c347a5946976309d5bbd.png 

 

 

The player start is in a different section of the map to minimize rendering requirements.

 

In game, it runs around 200fps:

 

image.png.17760a5354cf923b69227a1edbe1e08d.png

 

I didn't bother changing any part of my GZDoom setup (because life is too short), so this is 2560x1600 resolution with all the graphical bells and whistles still turned on.  I also did absolutely no experimentation around finding out if there's a more efficient map design.

 

So there you go OP.  The answer, in this map, with these settings, on this PC, is just over 15,000.  I hope you can make good use of this information!

Share this post


Link to post
12 hours ago, JustAthel said:

GZD isn't really that well optimized

 

Can we all collectively stop throwing this nonsense around? GZDoom is optimized for modern hardware; most of its performance bottlenecks come from still being based in the Doom engine, especially on the rendering side. Given that and the extensive feature set, the port is about as optimized as it can get. And if a map performs badly in it, that's a fault of the mapper for not considering optimizing it, not of the source port itself.

Share this post


Link to post

Ok, you guys inspired me to further postpone the heat death of the universe by performing useless tests and finding more useless data (and also wasting my day-off). This time it's a triangle map (still took some liberties though with the raised platform to better see the battlefield :( ), all useless gzdoom settings that don't contribute to maximizing the amount of enemies drawn on the screen are turned off (except for the player weapon sprite), and the fps target was set to 201 instead of 200 (to leave some space for possible errors). https://youtu.be/zeDnITfDfWU

1382.jpg.1ee0740ab124055b8fc51c4b2604695f.jpg

 

1382 zombiemen is the maximum my i7-3930k (@4.4GHz, ht - off) can handle simultaneously. 1383 zombiemen is the point where fps will consistently drop down to 200 instead of 201 on every single run. ¯\_(ツ)_/¯

 

P.S. Testing commander keens would be an overkill. 🤔

Share this post


Link to post
1 hour ago, MFG38 said:

 

Can we all collectively stop throwing this nonsense around? GZDoom is optimized for modern hardware; most of its performance bottlenecks come from still being based in the Doom engine, especially on the rendering side. Given that and the extensive feature set, the port is about as optimized as it can get. And if a map performs badly in it, that's a fault of the mapper for not considering optimizing it, not of the source port itself.

The truth of the matter is that GZDoom's actor code isn't as fast as vanilla's due to all the extra stuff it's doing as part of its extended modding functionality. It's just the nature of the beast, and outside of a couple of particularly grossly-implemented features that need to be redone at some point, the only real way to "just optimize it duh" would be to rip features out wholecloth. Which probably wouldn't go down well with the modders using said features.

Share this post


Link to post
1 hour ago, MFG38 said:

 

Can we all collectively stop throwing this nonsense around? GZDoom is optimized for modern hardware; most of its performance bottlenecks come from still being based in the Doom engine, especially on the rendering side. Given that and the extensive feature set, the port is about as optimized as it can get. And if a map performs badly in it, that's a fault of the mapper for not considering optimizing it, not of the source port itself.

 

If this were a consistent claim throughout the community, then I'd be glad to do my part in not saying this. When I say this, I speak from my own experience. Yes, I will concede that some maps that lag could be in part to the mappers themselves, however, as you've said, some of the bottlenecks come from the rendering, which is the topic being discussed here in whole. You also have to consider how things such as ZScript, Decorate, etc. are interpreted in the engine. At this point, GZ is less and less of a Doom engine and more of a game engine that just so happens to run Doom. This is more easily seen when taking enemy-intensive maps and passing them through different ports. I'd be glad to run tests and give my specs if you'd like to see the basis for my claims.

Share this post


Link to post
2 hours ago, Bauul said:

The answer is, at least on my laptop, approximately 15,000.

Can you share your specs?

 

P.S. I ask because I have copied your map design and 15,360 commanders gave me EXACTLY the same fps... 😅

Screenshot_Doom_20230423_220215.png.8449bc3e9c6d45715ad4e9f357d1c38a.png

Edited by PKr

Share this post


Link to post
45 minutes ago, ant said:

Videos too please. ;)

Time to become a popular Doomtuber, eh?

https://youtu.be/MxUHLzR7YYQ

 

Sadly this video doesn't represent the coincidence to the full extent, as OBS reduces fps by 5. :( Otherwise it's at ~207, just like in @Bauul's screenshot.

Share this post


Link to post

This thread is very informative. So I thought I'd create a map to really test the OP's question into the distant future... Unless someone here can actually render the map I've created at 200fps. I'd be impressed to see it.

It has 500,000 Imps & an exit switch. I chose imps because they're the smallest enemy that needs projectile rendering.
BFG cells are stacked, there's 100 of them in one pile. And a backpack & megasphere.

The map is in the Doom2 format, unfortunately due to the size required for the enemy count, the map had to be square instead of triangle & apparently is without nodes because I pretty much reached the maximum map size too (well, that's when I started to get the node error when saving in Doombuilder). It does run though. For me it's around 0.5fps in GZDoom on an i7 hex 16G ram 6G gtx.

I'm not responsible if you download this map & it fries your computer. Use at your own risk.

500kImps.zip

Share this post


Link to post
19 hours ago, Shepardus said:

That didn't answer anything, idle monsters and awake monsters are both part of "normal gameplay," as are monsters not on the screen and monsters on the screen.

Normal gameplay means a somewhat normal looking map, with a reasonable architecture, not a square filled with monsters.

Share this post


Link to post
10 minutes ago, mankubus said:

Normal gameplay means a somewhat normal looking map, with a reasonable architecture, not a square filled with monsters.

A square filled with monsters is pretty normal...

Share this post


Link to post
19 hours ago, JustAthel said:

It doesn't have much to do with GPU, but rather CPU. Each enemy in Doom calls A_Look when not active, and A_Chase when they are. You could handle Plutonia's Go 2 It just fine in GZD, but if you even so much as try to run NUTS.WAD and shoot a single bullet, that's where you'll run into some issues with performance. Also keep in mind that GZD isn't really that well optimized, especially when comparing it to DSDA-Doom or anything else. I believe there's some different layers of interpretation that ZDoom ports follow which make it more difficult for the engine to process in the end. And that's not even keeping track of enemies that can shoot projectiles, handling weapon projectiles, etc. ...

 

In other words, it's largely dependent on your CPU and just how many things / entities are in a single GZD instance at any given moment in time.

What kind of wads (that are not ridiculous like NUTS.wad) would require something like dsda-doom because it wouldn't run smooth on GZDoom? im assuming this only applies to certain niche slaugtherwads. I've never had the need to stop using GZDoom for a more minimalistic port.

Share this post


Link to post

“How many boxes can you fit on a boat before it sinks? I mean boats with a reasonable shape. It’s probably even more with modern propellers”
 

The problem with your question here OP is that you’re asking for a very specific number (“the record”) while also using extremely vague and subjective terms like “normal” and “reasonable” to get to it, which makes the entire question impossible to answer. You still haven’t answered what kinds of monsters are in the map, or how many of them are active, or how many are onscreen at once. These things make a huge difference in performance and saying “not NUTS.wad” isn’t even close to a satisfactory answer. There is no fine line between a “reasonable” and “ridiculous” map layout because these are both totally matters of opinion. And two maps with 50,000 monsters may play totally differently, if one of those is mostly archviles and one is mostly zombiemen or one has a giant arena where most of the monsters will be onscreen at once and the other slow-drips them to you.

Edited by Stupid Bunny

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×