Unity reuploading mesh data for static object every frame.

I’m optimizing my game with Adreno Profiler and it flags Heavy API calls on some drawcalls.

The heavy call Adreno Complains is glBufferData(…, GL_DYNAMIC_DRAW).

2267792--151915--dynamic_draw.JPG

I’d like to know why is Unity marking them as dynamic since the mesh is marked as static in editor. (The only thing that’s not static is Navigation)

2267792--151917--culling.jpg

Any Ideas?

I think that is related to the “Read/Write Enabled” check box on the import screen for the mesh. That lets you modify it from script and Unity will use the GL_DYNAMIC_DRAW usage hint since it knows you want to modify the data.

Although I wouldn’t expect it to be uploading it each frame unless you are actually making changes each frame. Try unchecking that box and I would hope Unity will then load the mesh data once with GL_STATIC_DRAW and leave it alone.

That was it! Thanks!