Project brutality lags when I kill enemies?

Discuss anything ZDoom-related that doesn't fall into one of the other categories.

Project brutality lags when I kill enemies?

Postby supercooljoe01 » Fri Nov 05, 2021 12:58 pm

For some reason whenever I kill enemies the game basically turns into a slideshow, and I have a fairly decent gaming computer (able to run AAA games at max settings). What’s causing this?
supercooljoe01
 
Joined: 13 Aug 2021
Operating System: Windows 10/8.1/8/201x 64-bit

Re: Project brutality lags when I kill enemies?

Postby wildweasel » Fri Nov 05, 2021 4:27 pm

It is worth explaining that the majority of gore and particle effect mods for GZDoom use projectile actors to handle their visual effects. The Doom engine needs to process every single actor (a monster, a projectile, a player), one at a time, in sequence. The addition of blood effects compounds this by quite a lot, as the number of "thinking" things in the level grows exponentially whenever things are bleeding. Firing that BFG shot into a room full of zombies, suddenly spawns hundreds, even thousands of blood drops, flying in every possible direction, and the game now needs to check every single one of them for collision against walls, floors, monsters, ceilings (with more checks, if it's a gore mod that makes blood stick to ceilings!), and anything else that is solid.

This is also a good time to talk about blood decals and wall marks. GZDoom has no real sense of where a wall splat is in relation to where another one is; with particularly intense blood effects, this can result in tons of individual splats occupying a very small area of the wall. Now, whenever you look at that chunk of wall, the game needs to render the wall, then the splat, then another splat, and another, all on top of each other, because of a thing called "overdraw." Basically, if you can see even a little part of something, the whole thing gets drawn by GZDoom. If there's a whole bunch of things stacked on top of each other, the game can't just decide "oh, the player can't actually see most of this" - it has to draw all of those things over each other, in order to "know" what the player can see. And if you shove your face really close to it, this now requires a lot of time to draw (compared to a blank wall), since it's got to fill in ALL of those pixels of your screen with the hundred-some wall splats. Note that the above applies only to wall splats; floor and ceiling splats are actually still actors, using special models, because GZDoom is weird that way.
User avatar
wildweasel
from a different perspective.
Moderator Team Lead
 
Joined: 15 Jul 2003


Return to General

Who is online

Users browsing this forum: Deon and 0 guests