Ubershader , Shader Baker and Metal

I have noticed in few demo projects from Asset Library it have stutter on initial start on Apple Silicone .

The stutter is noticeable on check of valid target and play animation .

Shot a ball from cannon ( TPS Demo ) , very noticeable during destroying enemy for first time and introducing GPUParticle effect .

StarterKit FPS - also on shot for first time it’s heavily noticeable .

Generally I wonder as those demo projects are put there for testing why is it not optimised and demonstrate good practices to use within Godot ?

Some recommendations how to optimise the render pipeline during making 3D RPG which will include lots of GPUParicles , interpolations, checking for valid target , Animations for characters, objects .

@tibaverus @dragonforge-dev

My thought there is to make sure that all your assets are loaded before you start the gameplay. You can look up how to do a loading screen with a progress bar. That way, when you start a cannonball firing (or whatever) there’s no stuttering because everything is actually loaded.

You could test this out by adding a loading screen to one of those projects.

2 Likes

The shader baker is an export-only option so it won’t work with projects that you run from the editor.

As far as I’m aware, the ubershader acts just like a patch until the specialized shader is compiled and may still showcase a small stutter. Also, I’m not sure if it works with particle materials or not.

And both options only work in the Forward+ and Mobile renderers. They aren’t available in the Compatibility renderer.

You can check the documentation about 3D optimization:

3 Likes

Actually TPS have load screen but it seem to have stutter inside itself , animated idle robot animation in viewport and on opening the scene fire is not ready anyway , maybe something to do with MTL .

As far I am aware the LOD doesn’t apply to Apple Silicone as it not supported .

The rest I definitely give a go .