TheGameCreators / GameGuruRepo

The GameGuru Repository For Community Collaboration
http://www.game-guru.com
137 stars 56 forks source link

a #2697

Closed harkinhails closed 5 months ago

MonkeyFrogStudio commented 2 years ago

I don't believe that MAX has auto-LOD in yet. Other culling features are planned, but not yet implemented. That's part of what's going on now, from what I understand.

One of the things that really slows things down is shadows from the sun. You can go into your TABTAB menu and hit tab a third time to access the Visuals. There you can adjust Shadows:

shadows

If you don't see that option there, then you may need to expose it by going to Edit>Settings and going to the Advanced tab:

shadows2

Turning down shadows for the sun can help boost FPS a little more.

MAX is running on purely real-time lighting. No baking of lighting at all. Unreal, Crysis ... they all do some lightmapping. As a result, MAX is very intensive on the GPU. Your GPU is a 1060 with only 6GB vram. It's a bit older and will struggle a bit with MAX in its current state. It should do better once they get more culling options and other optimizations in. But it's not there ... yet.

MonkeyFrogStudio commented 2 years ago

When I had suggested this, I didn't know that your sun shadows were down to 512. When I had initially had the demos, the sun shadows were at 2048. By reducing them to 512, I was able to gain upwards of 20fps in the wooded areas of the island demo. So, yes, the cascade sun shadows can, indeed, heavily affect frame rates.

And, again, as stated, they are working on auto-LOD (there's not even a system in place for LODs by the end-user yet) and other culling features. They will come.

MonkeyFrogStudio commented 2 years ago

There are LODs for MAX's trees for their bioms. There aren't LODs for anything else (any of the assets you bring in via the Object Library). So, anything that's not a "tree" does not currently have any LODs. As stated previously, auto-LODs are planned, but not implemented. So are other culling and optimization features.

MAX is Early Access software. While some optimizations are there, not all are currently in place, according to the developers. More are planned and we should start seeing these soon-ish. For now, just keep reporting your issues here, like you have, and they will take note of it.

As stated previously, your major slow-downs, as far as MAX is concerned with its current lack of optimization and culling features, is your video card. I have a 1080 ti on my system and I get 55-60+ fps on these same demos.

One thing to consider, too, is these demos were created by users, like you and I. I've not gone through them in detail in edit mode yet, but I've seen a few things that could speed them up. For example, in one of the demos, small things that the player could never ever get to had collision meshes. These are potentially heavy on the engine, especially when there's no need for them. I know that there were many trees in the island demo that were using hull decomposition for collision detection in the past and that was killing my frame rate. When I swapped that out for MAX's tree collision, I got a lot of frames back. I've not checked to see if they've changed any of this or not.

PaulSJ commented 2 years ago

@harkinhails Please can you take a screenshot of both the upper and lower halves of the profiler in any problem areas

PaulSJ commented 2 years ago

Thanks, I'll investigate this issue

PaulSJ commented 2 years ago

Some changes have been made with object culling that should improve this. It's difficult to know how much, but see if the next version is any better.

MonkeyFrogStudio commented 2 years ago

Someone really needs to go through the demos, too. I was taking a look at Jungle Fever, for example. A lot of the giant rocks that surround the area are using Convex Hull as a collision type ... even those boundary rocks that the player will never come into contact with. Convex Hull hits any engine heavily. There are objects, out of reach to the player, that have collision meshes. There are tons of meshes in the level that could easily get away with box collision, but are using polygonal collision instead.

So, even if the engine still needs optimization and better object culling, the demo levels could stand a going-through to be better optimized as well.

In the Island Showdown - there are a lot of trees that are using Hull Decomp for their collision method. Again, this is a heavy-hitter as far as the engine is concerned. Precious frames are being consumed calculating collision for these trees. Every single one of those large rock formations is using Hull Decomp, too. Even rocks that are out in the water use this. A simpler version of collision (and, in some situations, having no collision at all) would help free up some cycles and could possibly increase frame rates. I know I was able to eke out extra frames while deep in the jungle of Island Showdown by replacing Hull Decomp on the trees that had it.

MonkeyFrogStudio commented 2 years ago

For example, I took the entrance to the Snowy Stroll and went through everything. All the light fixtures had some form of collision detection. I made them each have "no collision". I took anything out of reach of the player and assigned it "no collision". The benches had convex hull and I gave them box collision (since no one can get under them, etc.). I also gave the pipes box collision instead of convex hull, etc.

Originally the entrance area to this level was running at about 55+ fps for me. Now? It runs from 80-100fps just by making these collision changes.

There are are gates, high up in the ceiling that fence off lighting where the player could not hope to get to them ... they all had collision of one type or another. Since the player cannot ever touch them, there's no need for collision. Setting them to "no collision" helps to speed things up.

MonkeyFrogStudio commented 2 years ago

Sure. But, remember, these are all user created demos ... except the Switch Demo. So ...

But, you're right. They ship with MAX and will reflect on the engine.

MonkeyFrogStudio commented 2 years ago

With the latest build, I'm getting 57-60fps throughout most of the Snowy Stroll demo. This is up from about 55+. It's not a drastic increase, but it is an increase. In some areas, it's much higher, though, as I did some areas top out in the 70s. But, once again, this demo could do with a lot of optimization itself and that would speed it up a lot.

Necrym59 commented 2 years ago

LOD wont be an issue when they get the texture streaming happening with objects, textures is always an issue, moreso than geometry.

MonkeyFrogStudio commented 2 years ago

Many of us have wide and ultrawide monitors. I would get a headache playing these at 80+ FOV. Thank goodness they at least provide an FOV slider in the Game Adjustments section so we can change this, if we need/want to. ;) I keep mine between 45-60, depending on the game. So, the default is going to depend on where people play it.

MonkeyFrogStudio commented 2 years ago

Not missing the point at all. If you'll look on GitHub, you'll notice that I'd opened a ticket stating that the FOV slider is about useless as it is because 1) it doesn't provide a number/degree and 2) if the developer of the game puts in a still background then it doesn't show the FOV effect as they slide. But that's beside the point. The fact is, you can change your FOV. If TGC changes this, then I will ship the game as I intend it to be played. If I intend the game to be played on a wide screen or ultrawide screen, then I will set the FOV for that experience. Those that do not have that screen can adjust. That's why the FOV adjustment slider is there. ;)

I agree with you, though - these games definitely need to start with the player being able to set game options BEFORE playing. I think that's a must.

MonkeyFrogStudio commented 2 years ago

@harkinhails A note on the current state of SSAO - It currently only affects models manually placed and not the objects placed by MAX's Terrain Generator (terrain generator trees, terrain, grass). So, if you run a demo like Island Showdown, you'll see SSAO affecting the palm trees because these were placed by the person who made the game (as well as some of the larger trees in the forest). But most of the trees will remain unaffected. So, SSAO is only going to be largely visually affective in demos like Canyon Offensive, which uses a lot of user-placed objects. Just an FYI.