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

Poor animation performance #90943

Closed
WOLFxxxxxx opened this issue Apr 20, 2024 · 13 comments
Closed

Poor animation performance #90943

WOLFxxxxxx opened this issue Apr 20, 2024 · 13 comments

Comments

@WOLFxxxxxx
Copy link

WOLFxxxxxx commented Apr 20, 2024

Tested versions

4.2.2

System information

Windows 10

Issue description

The animation performance is very bad. The rest of the engines are 5 times better in performance
Please do well 🤕

Steps to reproduce

Screenshot_٢٠٢٤-٠٤-٢٠-١٦-١٩-٣٤-٠٠٩_com android chrome-edit

Minimal reproduction project (MRP)

Screenshot_٢٠٢٤-٠٤-٢٠-١٦-١٩-٣٤-٠٠٩_com android chrome-edit

Tasks

Preview Give feedback
No tasks being tracked yet.
@WOLFxxxxxx
Copy link
Author

Screenshot_٢٠٢٤-٠٤-٢٠-١٧-٢٢-٤٤-٢١٢_com facebook katana-edit

@AThousandShips
Copy link
Member

AThousandShips commented Apr 20, 2024

Please provide an MRP to test this on, and confirm the tests, you're referencing third party (meant third party as in someone other than you and I, i.e. sharing someone else's information) claims without any data beyond their screenshots, this can't be tested, or fixed if it is an issue, without some actual material to test on

@Duroxxigar
Copy link
Contributor

Duroxxigar commented Apr 20, 2024

To be completely fair - Godot doesn't even provide first party proof of claims of performance. That said, all Godot needs to do is grab a 50k tri character model, rig it to the UE skeleton, do a simple walk animation, and then just run it on out of the box settings.

This was just a silly little thing I threw together. Never meant for it to actually be looked at.

@AThousandShips
Copy link
Member

AThousandShips commented Apr 20, 2024

Godot doesn't even provide first party proof of claims of performance

This isn't so much about proof as it is about being able to work with things. This is an issue report, we can't do anything with it without details, this report provides zero details on what's going on, this requires the specific setup for the test to confirm and evaluate, it's not about proving anything, it's a question of evaluating and fixing something if it's there

So we'd really appreciate if you uploaded the project here you tested on to allow us to test this, otherwise there's nothing we can do with this vague information

Now chances are here that this isn't necessarily a systemic issue with Godot, but instead some configuration issue or optimization issue that has been missed (can't tell without a project, obviously)

@Duroxxigar
Copy link
Contributor

I'm not going to upload my company's model. I already said how to reproduce the issue. Again, this is out of the box configuration. So this is easily recreatable by the team. In both UE and Flax, the issue actually came down to the renderer, so I'd imagine it'll be the same for Godot.

@AThousandShips
Copy link
Member

AThousandShips commented Apr 20, 2024

I'm not going to upload my company's model.

Fair enough, but you didn't say it was a proprietary model, so couldn't have known, and yes you've said how to reproduce it generally, so someone can look into it when they have the time to set up a large project for it

If OP or someone else can provide such a project that'd help a lot

@Duroxxigar
Copy link
Contributor

  1. Honestly - shouldn't assume that everyone can upload any model they use.

  2. This isn't a large project.

@AThousandShips
Copy link
Member

AThousandShips commented Apr 20, 2024

Let's move on from that conversation please, if you are unable or uninterested in helping with this issue then there's nothing more to add, just let other people look into it

@Duroxxigar
Copy link
Contributor

I have already helped by explaining how to recreate the project in-house. I've even mentioned where the problem area was for the other two engines in the tweet thread as well.

@AThousandShips
Copy link
Member

Thank you, indeed, sorry for any confusion and let's see what we can find going forward

@TokageItLab
Copy link
Member

TokageItLab commented Apr 20, 2024

Mostly duplicated of #88954

FYI, I remember two bottlenecks being pointed out by reduz and animation team in the past - Animation path finding and RenderingServer access for Skin calculation - but we need to isolate which is more problematic. I don't know if multithreading will solve that, but since Godot has only recently started supporting multithreading, the fact is that it hasn't been applied to some areas yet.

I remember hearing rumors that there are plans for multi-threading of Animation, but no one has gotten around to it yet. 4.2 added a base class for Animation, so I think we are ready to start working on that now. The skin calculation was unintentionally broken at some point in 3.x, making multithreading impossible due to duplicate accesses to the RenderingServer, but it should be fixed in 4.3 and we can finally start working on that as well.

For a more detailed plan, I recommend that sending a proposal to https://github.com/godotengine/godot-proposals identify each bottleneck point and suggest where it should be delegated to a separate thread.

@TokageItLab TokageItLab closed this as not planned Won't fix, can't repro, duplicate, stale Apr 20, 2024
@yythlj
Copy link

yythlj commented Apr 22, 2024

is this fix on godot 4.3.dev5? which version can download
i had told animation must have bug several times(still low fps 0.0)

@TokageItLab
Copy link
Member

TokageItLab commented Apr 22, 2024

At least 4.3 is already in the feature freeze phase, so this will probably not be fixed in 4.3.

I don't know what you are asking about as I haven't seen it, but I would recommend sending a new issue with the minimal reproduction project as it sounds like another bug.

But, as mentioned above, too many issue authors do not provide a minimal reproduction project.

I understand that this may include copyright issues sometimes, but especially animation is an area that is often dependent on pipelines, workflows, settings, and environments. If the issue lacks a minimal reproduction project and there is no way for the contributor to reproduce the issue immediately, the resolution of the issue is basically an afterthought.

Keep in mind that ideally everyone who sees an issue should be able to reproduce it immediately, and anyone should be able to work on it, even if they are not from the animation team.

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

5 participants