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

web: Add 'preferred renderer' config option #9187

Closed
n0samu opened this issue Jan 17, 2023 · 0 comments · Fixed by #9904
Closed

web: Add 'preferred renderer' config option #9187

n0samu opened this issue Jan 17, 2023 · 0 comments · Fixed by #9904
Labels
A-web Area: Web & Extensions enhancement New feature or request

Comments

@n0samu
Copy link
Member

n0samu commented Jan 17, 2023

Describe the feature

With the switch to wgpu-webgl, I think it's even more important that we add a config option to the web version of Ruffle that allows choosing the render backend:

  • It makes it much easier to test the behavior of the different render backends. No need to manually disable WebGL 1/2 in the browser's config to force a fallback to the WebGL/Canvas backends.
  • Some content does not run well with wgpu-webgl yet. For example, Bloons Super Monkey performs badly and uses excessive GPU resources when you buy the plasma tentacle upgrade because the blend mode that it uses is not well-optimized in Ruffle yet. Switching to the WebGL backend resolves the problem. (The blend mode barely affects how the tentacle displays)
  • Some content is drawn more accurately with the Canvas backend due to a stroke width issue with other backends. See Excessive thickness (wide stroke) on shape outlines #7369 for an example.

The behavior I'd suggest for this is to keep the same fallback behavior as usual, but just 'start' at the preferred renderer. So if WebGL is chosen as preferred, it still falls back to Canvas if WebGL is not available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-web Area: Web & Extensions enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant