[SOLVED] 7 FPS Gsplat on Intel 27" Retina Display iMac - 60 FPS on non retina display

Hi,

in a simple scene with a Gsplat I noticed that the frame rate drops to about 7 FPS on my Intel 27" Retina Display iMac screen. When »Power Preferences« is set to »High Performance« in the scene settings I get about 15 FPS. When I move the browser window with the running scene to a second non retina monitor the FPS goes up to the expected 60 FPS. I checked with different browsers and get the low FPS in all of them. The same happens when I export the project and run it from a Web server. So I guess the Gsplat implementation may be the reason.

Is this a known issue and does anybody work on a solution?

Thanks for your support.
Urs

1 Like

It’s probably either:

  • The high DPI of your retina display (which means a DPI greater than 1)
  • Your retina display is just super high resolution, ie a 5k, or 8k display

If it’s one of those, it’s not a Gsplat-specific thing, this is a challenge all WebGL / PlayCanvas projects face. Every single pixel has a cost, and high definition screens have a higher performance penalty, so aside from optimizing your Gsplat in other ways, you’ll want to reduce the number of pixels being rendered on your retina screen.

High DPI

High DPI means even if your monitor resolution is 1920 x 1080, if you have 3 DPI that’s as if your resolution was 5760 x 3240 pixels. However, by default PlayCanvas always uses a DPI of 1 unless you enable the Device Pixel Ratio setting, so it’s probably not that.

Editor Settings > Rendering > Device Pixel Ratio
A screenshot of the PlayCanvas editor's rendering settings showing "Power Preference" set to "High Performance," "Anti-Alias" checked, and "Device Pixel Ratio" and "Transparent Canvas" unchecked.

High Resolution

If it’s because your retina display is a high resolution, (ie an 8K screen), you’ll want to limit your canvas resolution either by sizing the canvas to be smaller in code, or by manually setting the render resolution to be Fixed and set the resolution to one that balances quality vs performance.

Editor Settings > Rendering > Resolution Mode + Resolution Width Resolution Height
A screenshot of the PlayCanvas editor's resolution settings showing "Resolution Width" set to 1280, "Resolution Height" set to 720, and the "Resolution Mode" dropdown open with "Auto" selected and "Fixed" as another option. The dropdown obscures the "Fill Mode" setting.

2 Likes

Thanks Chris for your detailed explanation - to set the resolution to 1280 x 720 and the »Resolution Mode« to »Fixed« solved the low FPS issue.

1 Like