Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

285
Views
Way to reduce Draw Calls

I'm new here and I know this question is specific to my use case, but I hope that is okay.

I'm developing a music visualizer in VR. For that I pre-process an FFT and instantiate 250 rows a 32 objects (8.000 in total) in a tunnel, every amplitude of each frequency represented by the height of one object in a row. The reason why I only instantiate 500 rows, not as many as the whole song would need is to increase perfomance.

Every object in each row has 8 vertices, so I'm already at 64.000 vertices and as I'd like to add other objects into the scene as well, I'd like to keep this nmber as a maximum for performance reasons. To still display amplitudes of points in time of the song, I change the position of the objects in the row furthest away and change their amplitude accordingly.

But on my Oculus Quest it's not working at all and really laggy. This is probably because of the high amount of Draw Calls as you can see.

Image showing my setup and the high amount of Batches and Draw Calls

So I have to reduce the amount of batches to reduce the amount of draw calls from what I've read.

This is just to clarify where my question stems from.

As far as I know I (dont') have these couple of options:

Now my problem is that I can't just make these objects static and use static batching, right? Because I'm transforming their positions and vertices quite frequently.

Also their not using the same mesh, so GPU instancing doesn't work.

They have more than 300 vertices, so dynamic batching is off the table.

So how else can I reduce the amount of draw calls?

Can I use the "StaticBatchingUtility.Combine" or "Mesh.CombineMeshes" after every time I reposition the last row?

And if so, would that even improve my performance as I'd call this roughly every 0.3 seconds?

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!