tajemniktv / TajsGraph

Taj's Graphical Overhaul is a graphics enhancing mod for a game Satisfactory.
https://tajemniktv.github.io/TajsGraph/
3 stars 1 forks source link

Performance might we wonky on some systems #11

Closed tajemniktv closed 1 week ago

tajemniktv commented 1 week ago

Some users reported FPS being "not stable at all" or FPS being "not so good"

CTRQuko commented 1 week ago

Some users reported FPS being "not stable at all" or FPS being "not so good"

I have a good pc and yes there is no stable fps, but we are modifying the game out of spec. I in ultra with a 4090 barely reach 30-60 fps, with the mod enabled and configured.

tajemniktv commented 1 week ago

Thanks for the input, I will be pushing an update in literally 5 minutes that could improve performance by a bit. Not sure how it will impact visual quality tho. I couldn't find a definite reason for this - I will be looking into this issue more closely.

Also: I recommend setting Global Illumination Quality to 2 (Medium), it should look just as well but gives a huge performance boost

tajemniktv commented 1 week ago

@CTRQuko just pushed it, please try the 0.9.4 version

edit: typo, i meant 0.9.4

CTRQuko commented 1 week ago

@CTRQuko just pushed it, please try the 0.9.4 version

edit: typo, i meant 0.9.4

I will test it and send you the results,

is it still necessary to use console commands ?

CTRQuko commented 1 week ago

New video [https://youtu.be/IE440sGYcfs]()

performance is similar

tajemniktv commented 1 week ago

Eh, I will look into this more closely when I'm back from uni...

Thanks for testing!

tajemniktv commented 1 week ago

VSM might be a huge performance hogger; to do:

tajemniktv commented 1 week ago

eitherway, I tried optimizing some things in the 0.9.3, should be somewhat better. Stuttering is still there tho, will look into that next;

tajemniktv commented 1 week ago
DrShadow34 commented 1 week ago

Weird thing, I have 60+ fps while looking at my factory, but slight change to the right (dunno, there like, one additional cactus in the frame) and fps drops to 24ish. normal fps low fps Also, there some weird thing with LOD in general. lod thingy Ignore green texture, that due to vulkan. My problem with low poly LOD of the ground itself. Also, I assume there no trees due to your settings? How can I get them back? Tried different LOD settings for foliage, but looks like it won't affect all trees or something.

tajemniktv commented 1 week ago

Hm, that's interesting. Many thanks for the report! I did see that there's an issue with trees but I thought that changing Foliage View Distance to higher distances worked fine... I will open a separate issue (https://github.com/tajemniktv/TajsGraph/issues/21) for this and look into this more closely. I remember I made some changes to Nanite some time ago, and maybe that's when the issue started happening...

Adding an options UI (https://github.com/tajemniktv/TajsGraph/issues/8) will most likely help debug most of the issues (via letting end-users play with settings and hopefully them reporting issues with specific options, will allow to pinpoint specific thing that breaks/fixes things) but rn I would like to focus on adding a tick for opting out of VSM (as that's a performance hog for most I believe).

I will get back to you in the #21 issue with the trees issue (most likely after adding the VSM switch, unless I get sidetracked lol)

CTRQuko commented 1 week ago

Fast travel arround world, if you fly to high the grass an other enviromental props not draw but is normal

https://youtu.be/rZJ6PIyymFs

tajemniktv commented 1 week ago

Hey, that's some nice framerate! lol That popping in looks really annoying, I will see what can be done about this...

Do you have LOD Dithering enabled in the game video settings?

I will most likely add a custom slider for foliage view distance as a workaround for now if I don't find a proper fix for that (and if the slider will even work for the popping in lol)

Anyways, some of these views really are breathtaking. Thanks for that video!<3

CTRQuko commented 1 week ago

this settings image image

and I use Dlss with the frame generation mod for nvidia.

DrShadow34 commented 1 week ago

Okay, wanted to do sanity check. Tried disabling mod, set settings to "default" to clear any shenanigans and then set everything to max again, and... Distance foliage still isn't loaded in this particular instance. I guess it maybe something to do with how it works in game (it's on different map square or whatever SF devs called this chunk system thingy). Also, LODs looks kinda similar after I disabled mod, but in some instances it's simply won't load high quality LODs with the mod. with the mod, notice what happens to the ground on the left after disabling the mode I found one buffer parameter for Nanite that may affect that, gonna try it right now. Weirdly, I indeed don't see how or why mod would affect that. There like, one parameter about Nanite and it shouldn't change how buffers works. But I'm not UE dev (and not programmer at all to begin with), so who knows. Will throw different settings at the wall till something sticks, heh.

P.S. Forgot to mention, that FPS issue doesn't exist on vanilla, as you can see from screenshots. I also tested both vulkan and Dx12 APIs, they behave differently (aka, lagging in different places), but FPS issue persists regardless. Clearly 7900xtx isn't enough for UE5 /s.

tajemniktv commented 1 week ago

Maybe it could be a wonky vulkan implementation, have you tried DX12 or is there some specific reason as to why you go with vulk?

edit: answered in edit lol

DrShadow34 commented 1 week ago

And sorry, another update. Adding this parameters returned my trees where they belong, but looks like I'm backwards evolving in terms of landscape part:

r.StaticMeshLODDistanceScale=0.1     #Scale factor for the distance used in computing discrete LOD for static meshes.(defaults to 1) (higher values make LODs transition earlier, e.g., 2 is twice as fast / half the distance) 
foliage.LODDistanceScale=4     #Scale factor for the distance used in computing LOD for foliage.
r.SkeletalMeshLODBias=-3    #LOD bias for skeletal meshes - according to wiki. Dunno if that even work
foliage.ForceLOD -1    #If greater than or equal to zero, forces the foliage LOD to that level. (-1 disables foliage LODs?)
r.ViewDistanceScale=5    #Controls the view distance scale. A primitive's MaxDrawDistance is scaled by this value. Higher values will increase view distance but at a performance cost. Default = 1.

landscape.nanite.maxasyncproxybuildspersecond=24    #Number of Async nanite proxies to dispatch per second (should increase nanite load speed, dunno if it really helps) Default = 6.
r.Nanite.CoarseStreamingMeshMemoryPoolSizeInMB 600    #Pool size for streaming in the render mesh & blas data for the coarse nanite meshes (default 200MB) This budget will be part of the mesh streaming pool size.
DrShadow34 commented 1 week ago

Maybe it could be a wonky vulkan implementation, have you tried DX12 or is there some specific reason as to why you go with vulk?

edit: answered in edit lol

Well, yeah, wonky fps isn't related to vulkan (other issues may tho). The reason why I'm using it is simple - AMD driver on linux crashing due to some weird vkd3d related issue specifically in this game. And most weird part, that crashing occurs randomly, after 30 minutes and up to 2 hours. It's just annoying. It may be fixed by now, I just got an amdvlk update. Gonna try it.

Upd. Nope, changed nothing. Well, dx12 have 2-3 more fps, so will stay on it for now. Also, frame gen and Xess upscaler works, compared to vulkan.

tajemniktv commented 1 week ago

And sorry, another update.

Don't worry, keep updating us whenever you feel like it. As you can see I spam issues myself with whatever, I'm a bit of a mess myself so gotta keep track of it all lol

DrShadow34 commented 1 week ago

Okay, final update I think, cause I just gave up at this point. I kinda located issue with massive fps drop and found a workaround by simply setting "Foliage Load distance" to default. It also removes some (most) of my changes by shortening foliage draw distance. So yeah, my search for "more trees" was for nothing. My shenanigans aside, fps drop if you perform unthinkable and look directly at the ground, still persist. after changing foliage setting I have my fps back same place, just lower and I look directly on the ground Notice how GPU now doing nothing. There a small cave nearby, maybe it's amount of objects (like fungus and stuff) that overload engine, cause it need to calculate different math now. That could potentially eat memory bandwidth and cause such issue, while GPU and CPU would pretend to do nothing. Oh well, small indie company Epic can't be bothered, what you gonna do.

tajemniktv commented 1 week ago

I think I found one reason as to why performance is weird. But the answer as to why that is, is even weirder...

I'm pushing out a build with changes right now, let me know if 1.0.2 gives yall a performance improvment

Edit: I didn't test it very well, so it could cause some issues, but the performance gain is crazy (over 50% in some cases) Internally I'm closing this issue, but let me know if there are any more issues

DrShadow34 commented 1 week ago

Yep, can confirm significant boost in performance. 93fps! Now looking on the ground is 100 fps, compared to ~50 before. why would it drop frames in the first place? I looked at changed to the config and that made no sense Like, why would turning async one make that big of a difference? I mean, yeah, we had bottleneck, async fixed it, but why we had it while looking on the ground, there like, two polygons and shading to render, maybe a gts250 would have a blast rendering that in 2007, but not fresh hardware from our days.

Also, I even felt confident enough to get back my beloved trees and it didn't cause that amount of damage now. Alto, it still dropped fps when you look in the distance, yet, that at least make sense and expected to happen. And way better getting half of 100 fps, than half of 60.