-
-
Notifications
You must be signed in to change notification settings - Fork 21.1k
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
Warn when using GPU-based particles on macOS due to low performance #55268
Warn when using GPU-based particles on macOS due to low performance #55268
Conversation
903b041
to
2b0a8ac
Compare
I like this, but I am unsure if it is enough. Do users have to run the editor on MacOS to export to Apple devices? Or is it possible to make a game entirely on another OS and then just export to Apple devices? |
With exception to signing / notarization, it's possible to export for macOS from any OS. |
scene/2d/particles_2d.cpp
Outdated
return warning; | ||
} | ||
|
||
#ifdef OSX_ENABLED | ||
if (warning != String()) { | ||
warning += "\n\n"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indentation issue.
On macOS, Particles rendering is much slower than CPUParticles due to transform feedback being implemented on the CPU instead of the GPU.
2b0a8ac
to
299d277
Compare
71cb8d3
to
c58391c
Compare
Thanks! |
Cherry-picked for 3.4.3. |
I think this notice should be displayed when you set up an export. I was not aware of this issue because I don't develop on OSX - so the game gets poor performance on OSX without a warning of a known issue. |
Unfortunately, it's not possible to conditionally display a warning in the export dialog based on the presence of nodes in scenes. |
Display it unconditionally then? |
Would it be possible to display a warning next to |
I don't think reading the list of export presets from code is possible either (especially if it'd require |
This doesn't require reading export presets in particles, just passing the information from editor to the node. It's possible to do it using some hacks, e.g. putting a metadata in ProjectSettings file or SceneTree. Hacks are ok for editor-only code. EDIT: |
On macOS, Particles rendering is much slower than CPUParticles due to transform feedback being implemented on the CPU instead of the GPU.
This closes #54052.