mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-08 04:08:32 +09:00
- GLContext::MarkBufferObjectForDeletion now detaches the deleted buffer only from the currently bound VAO (GL 4.6 5.1.2 semantics; other VAOs keep their shared_ptr attachments alive). The old every-VAO scan was O(VAOs) per delete - with one VAO per chunk section, vanilla chunk churn made it dominate the render thread and FPS decay over minutes. - Bump FastSTL: erase(key) destroys in place instead of building the discarded successor iterator (a linear bucket-array scan), and switch the buffer/framebuffer/renderbuffer deletion paths to the key overload. Together these removed the 34% render-thread deletion overhead measured in aged vanilla sessions (simpleperf, Adreno 830 / DirectVulkan). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>