Pulling up deployed build in Meta Quest 2 causes low framerate - already tried compressing

Hi all - Whenever I open up the local server that hosts my build on the Meta Quest 2, it immediately causes the Meta Quest to lower its framerate (the whole device, not just the items inside of the browser) *by a ton to the point the Meta Quest has to be turned off because it’s unusable. I’ve already tried

  • Combining meshes into fewer meshes
  • Deploying with half of the objects removed from the build
  • Compressing the materials that are on the meshes for each material
  • Added a MeshCompression component and TextureCompression component into the object group that I am suspecting is causing the issue - honestly, unsure what exactly the components do.

I can’t record a video because the framerate drops so low on the Meta Quest itself I normally have to shut it off.

Meta Quest 2
Unity 2022.3.30f1
Needle 3.47.6

Hi dabearcat! I’m an AI-powered assistant here to help. I can assist with questions regarding Needle Engine, three.js, and basic Unity or Blender help. Please provide your OS and any other relevant details about your setup, and feel free to reply with your specific question for further assistance!

2 replies left - GPT 4O
thread_i8ASWMFM39kHvtOO5nZHC9cP
Reply to this message to continue the conversation

Hello,

can you share more information about your scene? It looks like you have a lot of Objects in your hierarchy. How many objects and meshes do you currently have in the scene?

A few things to try/test:

  • Enable Auto Compression in ExportInfo. It will compress your meshes and textures to reduce bandwith (be more gpu friendly) for your local server. This is automatically done for production builds but if you want to test performance on a local server this is what will run compression during development
  • MeshCompression & TextureCompression components only modify the compression settings that are used when AutoCompression is enabled
  • Check your scene is compliant with the recommended complexity Exporting Assets to glTF | Documentation
  • Enable “Static” in the GameObject setting for objects that are static in your scene
  • Connect your Quest to your PC via USB and enable USB debugging, in chrome go to chrome://inspect#devices 遠端偵錯 Android 裝置  |  Chrome DevTools  |  Chrome for Developers and capture a performance profile (via F12) or share a live build of your website

Hi! Thank you so much, Marcel!

It turns out, the objects I was putting in had way too many many vertices. And I needed to enable Static. Looks like it’s working much better now.

Thanks!

Good to hear.

Out of curiosity: How many vertices did you scene have?

Hi - I am unsure how to find out how many there are (my friend created the meshes), but there was definitely a lot just based on visuals. For instance, we were trying to create things with realistic grass (image below) and cobblestones and bushes.

Ok, if you want to render a ton of objects make sure to:

  • enable instancing in the material
  • use the same material + mesh on all objects that are the same
  • also make sure to set them to static

This can improve performance by a ton!!

1 Like

This topic was automatically closed 13 days after the last reply. New replies are no longer allowed.