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

Warn when using GPU-based particles on macOS due to low performance #55268

Merged

Conversation

Calinou
Copy link
Member

@Calinou Calinou commented Nov 23, 2021

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.

@clayjohn
Copy link
Member

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?

@bruvzg
Copy link
Member

bruvzg commented Nov 23, 2021

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.

return warning;
}

#ifdef OSX_ENABLED
if (warning != String()) {
warning += "\n\n";
Copy link
Member

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.
@Calinou Calinou force-pushed the gpu-particles-macos-performance-warning branch from 2b0a8ac to 299d277 Compare January 5, 2022 23:10
@akien-mga akien-mga merged commit 1b0ba42 into godotengine:3.x Jan 12, 2022
@akien-mga
Copy link
Member

Thanks!

@akien-mga
Copy link
Member

Cherry-picked for 3.4.3.

@lekoder
Copy link
Contributor

lekoder commented Aug 8, 2022

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.

@Calinou
Copy link
Member Author

Calinou commented Aug 8, 2022

I think this notice should be displayed when you set up an export.

Unfortunately, it's not possible to conditionally display a warning in the export dialog based on the presence of nodes in scenes.

@Zireael07
Copy link
Contributor

Display it unconditionally then?

@lekoder
Copy link
Contributor

lekoder commented Aug 9, 2022

Would it be possible to display a warning next to Particle2D node when you have OSX export configured?

@Calinou
Copy link
Member Author

Calinou commented Aug 9, 2022

Would it be possible to display a warning next to Particle2D node when you have OSX export configured?

I don't think reading the list of export presets from code is possible either (especially if it'd require editor/ code dependency in a scene/ file, which we no longer allow).

@KoBeWi
Copy link
Member

KoBeWi commented Aug 9, 2022

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:
If anyone thinks of implementing this for whatever reason, it's only relevant for 3.x branch.

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

Successfully merging this pull request may close these issues.

7 participants