Abiotic Factor

Abiotic Factor

View Stats:
froge May 28, 2024 @ 4:35am
performance suggestions
- occlusion culling if that is not implemented yet
- potentially use the forward renderer
- add an option to disable GI and SSR

also you guys made a very fun game!
< >
Showing 1-14 of 14 comments
froge May 28, 2024 @ 4:59am 
also it seems the sleep minigame is rendering every frame
burger boy May 28, 2024 @ 8:47am 
there's also the lumen which needs an option to disable its usage.
-- it's what's making everything overly dark and blurry.
Kai May 28, 2024 @ 9:35am 
Originally posted by froge:
- occlusion culling if that is not implemented yet
- potentially use the forward renderer
- add an option to disable GI and SSR

also you guys made a very fun game!
You can disable lumen using cvar in your configuration files (steam guides) but it will change lighting in a somewhat big way for dark areas... Not like it impacts the game that much since night time will actually make the game area dark.

https://steamcommunity.com/sharedfiles/filedetails/?id=3246906640

My guide is merely a copy of the stuff in my config and scalability files, but it basically 'nerfs' the lighting to the point where it's not very dark but you get very high frame rates.
Last edited by Kai; May 28, 2024 @ 9:36am
trouter May 28, 2024 @ 10:49am 
occlusion culling if that is not implemented yet

Pretty sure the UE5 camera does this natively. I'm running on a pretty high end machine, so I can't test this for myself, but do you get significant framedrops in some areas even if you press your face against a wall or look straight down? If so, open up Task Manager and let me know what your CPU usage, GPU usage and (importantly) your VRAM usage are. VRAM usage is hidden by default but you can view it under Details - right click the columns at the top, click "Select columns", and scroll down until you find "Dedicated GPU memory".

potentially use the forward renderer

I don't work with Unreal Engine, but in general, this is not exactly a small feat and not something you want to just do. Switching to forward rendering will break a system set up for deferred rendering.

add an option to disable GI and SSR

SSR I get, but GI? Why would you disable global illumination?

The game uses dynamic GI for the most part as far as I can tell; a telltale sign of this is a lack of secondary contribution. Baked GI typically includes secondary (bounce) lighting because there's no runtime cost for doing so, whereas primary (direct) lighting is often computed at runtime to support direct shadowing. Realtime lighting is always on the expensive side, so I understand wanting options to improve performance, but improving dynamic GI can be complex and turning it off entirely is just going to make your game dark.

FWIW I'm looking into mod development with UE4SS, I'm a rendering engineer and improving lighting quality and performance is something I'd like to take a crack at.

If your complaint is strictly performance, comment above mine links a guide that seems like it'd be helpful. I don't work with UE (everything at my job is in-house), so I can't comment on anything UE-specific.

also it seems the sleep minigame is rendering every frame

Where are you seeing this?

If you're talking about the fact that the positions of the pests tend to reshuffle at the start, that probably has more to do with cached information. I'd guess that minigame keeps the pest positions in memory and just reshuffles them once the minigame actually starts, which occurs a few seconds after it fades in.

Look, I don't want to come across as a Redditor or whatever, but I have to ask what your experience with rendering is. Devs are only paid to pick the brains of level designers/etc. over feature requests, not players, so making sure your suggestions are accurate is a good way to have them taken more seriously.

(there's nothing wrong with being inexperienced btw - I'm not the type of SWE who scours StackOverflow to chew out anyone mildly misinformed lmao)
Last edited by trouter; May 28, 2024 @ 10:52am
froge May 28, 2024 @ 11:31am 
occlusion culling might already be active which is why i said "if its not implemented yet", checking whether its active would be better done in renderdoc than with task manager and vram (vram usage doesnt even change significantly depending on where you're looking unless you're constanly unloading and streaming textures)

forward rendering is a setting in the UE options as far as i'm aware, not a UE user myself, just suggesting it because deferred rendering is more inefficient in my experience (i programmed a vulkan game engine) and also in theory (bandwidth limitations)

yea the GI thing isnt necessary as long as it doesnt affect perf too much on low, maybe they could also try pre-baking lighting but that might be more work than its worth

about the sleep minigame: i captured a frame in renderdoc and it showed up as a draw call even tho i wasnt sleeping
Last edited by froge; May 28, 2024 @ 11:34am
trouter May 28, 2024 @ 3:16pm 
vram usage doesnt even change significantly depending on where you're looking unless you're constanly unloading and streaming textures

Main reason I asked is that this can happen if your texture budget is higher than your VRAM, which causes huge performance hits. The textures in this game probably aren't going to do that to any modern GPU, but figured I'd ask lmao

forward rendering is a setting in the UE options as far as i'm aware, not a UE user myself, just suggesting it because deferred rendering is more inefficient in my experience (i programmed a vulkan game engine) and also in theory (bandwidth limitations)

Forward rendering is a setting in the UE options, and ticking it requires you to restart your editor, because those are fundamental pipeline changes. It's not a setting you can just add to the game.

The performance overhead from using deferred rendering isn't that massive (unless your implementation already struggles to render the scene), and the "bandwidth limitations" you mention are minimal. Each buffer consists of a couple MB at worst, because it's tied to the game's window size. Is this data uploaded on a frame-by-frame basis? Sure - but considering that modern GPUs have memory bandwidths in the GB/s, this is a non-issue.

I'd suggest breaking down your frame capture to see what's actually occupying the most time - I doubt it's DX12 memory mapping/unmapping. Is it stalling on fence sync at all? If not, your framerate issues might be tied to the CPU - most performance issues I run across in games that don't have cutting-edge graphics are related to game logic moreso than rendering (Rimworld is a great example of this).

maybe they could also try pre-baking lighting but that might be more work than its worth

Hopefully the fixed world lights are baked (though I'm not sure how they handle the facility lights shutting off at night - do they have a separate bake atlas, or are those lights real-time after all?). Generally speaking, most games that have player-placed lighting won't do this, because in theory, the player could just move the light and force a rebake, and depending on how that bake is implemented, that could be slow as ♥♥♥♥.

I'd like to try my hand at a mod that bakes placed lighting on zone unload or something; realistically speaking, I'm not gonna move my lights once I've got them where I want to be, and this would stop hitches when moving lights/enemies break them - but also I fear I'd have to work outside the UE5 baker, which might cause problems.

about the sleep minigame: i captured a frame in renderdoc and it showed up as a draw call even tho i wasnt sleeping

well that's ♥♥♥♥♥♥ weird
Monokuma May 28, 2024 @ 3:38pm 
Originally posted by burger boy:
there's also the lumen which needs an option to disable its usage.
-- it's what's making everything overly dark and blurry.
I've used config files to turn off lumens to see how much of a difference it made, and while it was a significant framerate improvement, it was also a significant visual downgrade for lighting. Some areas that were supposed to be mildly lit up at night weren't lit at all, vending machines were just glowing bricks surrounded by pitch black darkness instead of emitting light, it was awful and the guide to disable lumens really tries its best to make it sound like they're using it for no reason, when they're definitely taking advantage of it.
burger boy May 28, 2024 @ 7:37pm 
Originally posted by Monokuma:
Originally posted by burger boy:
there's also the lumen which needs an option to disable its usage.
-- it's what's making everything overly dark and blurry.
I've used config files to turn off lumens to see how much of a difference it made, and while it was a significant framerate improvement, it was also a significant visual downgrade for lighting. Some areas that were supposed to be mildly lit up at night weren't lit at all, vending machines were just glowing bricks surrounded by pitch black darkness instead of emitting light, it was awful and the guide to disable lumens really tries its best to make it sound like they're using it for no reason, when they're definitely taking advantage of it.
i'll take some screenshots from how the game looks on my end, so you can compare the visuals to what you're experiencing.
-- not too sure just what has happened, but it sounds like something broke on your end ( with the general lighting not working. ).

as far as config files go, i didn't use any.
-- just added an line of code to one of the pre-existing files, as described in the " disable lumen / increase fps " guide ( the one with the goggle-wearing scientist icon, ).

hopefully we can figure out what's happening, as that'll help with debugging future versions of the game.
ULTRA May 28, 2024 @ 7:58pm 
Lol at occlusion culling, what situation are you in where the game performs below expectations but you can't see things constantly streaming in and out?
burger boy May 28, 2024 @ 7:59pm 
Originally posted by burger boy:
Originally posted by Monokuma:
I've used config files to turn off lumens to see how much of a difference it made, and while it was a significant framerate improvement, it was also a significant visual downgrade for lighting. Some areas that were supposed to be mildly lit up at night weren't lit at all, vending machines were just glowing bricks surrounded by pitch black darkness instead of emitting light, it was awful and the guide to disable lumens really tries its best to make it sound like they're using it for no reason, when they're definitely taking advantage of it.
i'll take some screenshots from how the game looks on my end, so you can compare the visuals to what you're experiencing.
-- not too sure just what has happened, but it sounds like something broke on your end ( with the general lighting not working. ).

as far as config files go, i didn't use any.
-- just added an line of code to one of the pre-existing files, as described in the " disable lumen / increase fps " guide ( the one with the goggle-wearing scientist icon, ).

hopefully we can figure out what's happening, as that'll help with debugging future versions of the game.
here's some screenshots of areas you'd be able to notice the lumen difference significantly:

-- ( https://steamcommunity.com/sharedfiles/filedetails/?id=3256643708 ).
-- ( https://steamcommunity.com/sharedfiles/filedetails/?id=3256643544 ).
-- ( https://steamcommunity.com/sharedfiles/filedetails/?id=3256643392 ).
-- ( https://steamcommunity.com/sharedfiles/filedetails/?id=3256643248 ).
-- ( https://steamcommunity.com/sharedfiles/filedetails/?id=3256643113 ).

do the visuals differ from your end?
DuckieMcduck May 28, 2024 @ 8:01pm 
i love videogame
Monokuma May 28, 2024 @ 8:08pm 
Originally posted by burger boy:
Originally posted by burger boy:
i'll take some screenshots from how the game looks on my end, so you can compare the visuals to what you're experiencing.
-- not too sure just what has happened, but it sounds like something broke on your end ( with the general lighting not working. ).

as far as config files go, i didn't use any.
-- just added an line of code to one of the pre-existing files, as described in the " disable lumen / increase fps " guide ( the one with the goggle-wearing scientist icon, ).

hopefully we can figure out what's happening, as that'll help with debugging future versions of the game.
here's some screenshots of areas you'd be able to notice the lumen difference significantly:

[snip]

do the visuals differ from your end?
on the fourth image you can see the vending machine in the background giving off no light radius at all, essentially becoming a glowing brick in the middle of the dark. there's also other areas outside of the starting zone where the lumen lighting takes effect at night that can be noticably missing when it's disabled, because some lights may be "on" but the room is still much darker than it should be

the vending machine thing will be more obvious when you dont have the other lights on around it, there's a pair of vending machines on the second floor near that hallway to residences, with the electrified water room with the scientist hiding in the vent area, right before the elevator that goes to floor 3, which also happens to be one of the first major areas where the lumens being off is most visible as the hallway that leads into residences will be significantly worse looking at night since the roof lightbulbs will still be on but the room will be dark
Last edited by Monokuma; May 29, 2024 @ 12:33am
froge May 29, 2024 @ 2:26am 
Main reason I asked is that this can happen if your texture budget is higher than your VRAM, which causes huge performance hits. The textures in this game probably aren't going to do that to any modern GPU, but figured I'd ask lmao

that makes sense

Forward rendering is a setting in the UE options, and ticking it requires you to restart your editor, because those are fundamental pipeline changes. It's not a setting you can just add to the game.

yea im saying they should switch the game to it

The performance overhead from using deferred rendering isn't that massive (unless your implementation already struggles to render the scene)

when i switched from deferred to forward in my engine i had massive framerate gains, even on sponza with PBR

and the "bandwidth limitations" you mention are minimal. Each buffer consists of a couple MB at worst, because it's tied to the game's window size. Is this data uploaded on a frame-by-frame basis? Sure - but considering that modern GPUs have memory bandwidths in the GB/s, this is a non-issue.

its not even uploaded from the cpu every frame, the buffers stay on the GPU
i'm talking about GPU-local bandwidth concerns, there's a video that explains this really well: https://www.youtube.com/watch?v=QVbOp1h-Jb4

I'd suggest breaking down your frame capture to see what's actually occupying the most time - I doubt it's DX12 memory mapping/unmapping. Is it stalling on fence sync at all? If not, your framerate issues might be tied to the CPU - most performance issues I run across in games that don't have cutting-edge graphics are related to game logic moreso than rendering (Rimworld is a great example of this).

the secondmost time is occupied by writing to the G-Buffer and the most time is used by the shading pass
with UE games my GPU (rx 580) is always at 100% utilization, and with this game in particular my CPU (ryzen 5 7600X) is at 12%
when im playing at my native resolution (1440p) with everything set to low i get about 40fps, i have to play at 50% res scale to get a playable framerate (i was thinking maybe dxvk has something to do with that, but my perf is even worse on windows :skull:)


Hopefully the fixed world lights are baked

im hoping that too keke

(though I'm not sure how they handle the facility lights shutting off at night - do they have a separate bake atlas, or are those lights real-time after all?)
if they are baked probably two seperate lightmaps

Generally speaking, most games that have player-placed lighting won't do this, because in theory, the player could just move the light and force a rebake, and depending on how that bake is implemented, that could be slow as ♥♥♥♥.
yea that would be really slow
Last edited by froge; May 29, 2024 @ 2:37am
MechWarden May 29, 2024 @ 7:08am 
Just to add my little bit to it.

I'm pretty sure the lights aren't baked. I haven't seen any blatant evidence of pre-calculated lighting, like you can in Half-Life with moving map parts with lighting that's unnaturally wrong. With how dynamic the lights are, much of that would go out the window anyway.

The lights and shadow effects are pretty dynamic, able to render the chain link fence pattern when having a player placed light behind it. I have flood light behind the security shutters and the shadows work pretty much as you expect them, even on a GTX 1080.

Also something I've noticed when messing with settings, Antelight plants make heavy use of shadow effects to pull off their tripy light effects. Because when I turn off shadows (or whatever the lowest setting is) they are just this very bright colored light source.

Also there is some post processing effect you can set to various levels. It does add something to the game, making it feel less... flat(?), but I'm having a hard time putting into words what it is doing.

It is nice to see the lighting engine be this dynamic, but it also seems to be the main thing that needs the most processing. Changing most any other settings (mainly the ones with Low to Epic options) hardly do anything in terms of FPS for me while at my well lit base, which feels a bit awkward to me.
Last edited by MechWarden; May 29, 2024 @ 7:08am
< >
Showing 1-14 of 14 comments
Per page: 1530 50

Date Posted: May 28, 2024 @ 4:35am
Posts: 14