Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skeleton3D Animation performance is terrible on OpenGL #88954

Open
0x0ACB opened this issue Feb 28, 2024 · 1 comment
Open

Skeleton3D Animation performance is terrible on OpenGL #88954

0x0ACB opened this issue Feb 28, 2024 · 1 comment

Comments

@0x0ACB
Copy link
Contributor

0x0ACB commented Feb 28, 2024

Tested versions

4.2.1

System information

Windows 10, Godot 4.2.1, GLES3

Issue description

I am currently testing on an i9-14900K + 4090 RTX and I am barely managing to clear 20 FPS when there is around 100 basic 3d animated skeletons on screen when running OpenGL. The same scene with Vulkan easily clears 100 FPS. Profiling shows the engine spends around 50% of each frame in a single opengl function:

grafik
grafik

Disabling the animations easily reaches 120 FPS in GLES3.

Steps to reproduce

Run GLES3 with a couple animated skeletons. I attached the model we are using, maybe there are some issues with the animation.

Minimal reproduction project (MRP)

robot.zip

@TokageItLab
Copy link
Member

TokageItLab commented Mar 2, 2024

I remember in the past that access to the RenderingServer for Skin deformation in Skeleton was a bottleneck, but I don't know what is going on now and whether it can be improved without looking into it. So at the least, the problem should be the Skeleton skin deformation process, not the Animation playback process.

I guess it could be improved by not deforming the Skin when transforming the Skeleton bone on the fly, but deforming the Skin at the end of process of the frame for all Skeletons in the SceneTree at once, but I am not sure if this is the right approach. We need the knowledge of someone more knowledgeable in that field.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants