mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-10 21:28:32 +09:00
[Perf] (MG_Backend/DirectGLES): recycle idle GL buffers via a fence-gated size pool instead of glDeleteBuffers; pinned fps 184->220
This commit is contained in:
@@ -136,6 +136,12 @@ namespace MobileGL::MG_Backend::DirectGLES {
|
||||
void DeleteBackendQuery(BackendQueryHandle query);
|
||||
Int64 GetGpuTimestampNs();
|
||||
void Present();
|
||||
// Frame-completion watermarks for the buffer-storage pool: CurrentFrameSerial()
|
||||
// is bumped once per Present(); CompletedFrameSerial() is the newest frame whose
|
||||
// GPU work has provably finished (advanced by polling a one-fence-per-frame ring).
|
||||
// A buffer retired during frame N is safe to recycle once CompletedFrameSerial() >= N.
|
||||
Uint64 CurrentFrameSerial();
|
||||
Uint64 CompletedFrameSerial();
|
||||
// Applies (or defers until the window surface exists) the app-requested
|
||||
// eglSwapInterval on the native EGL surface.
|
||||
void SetSwapInterval(Int interval);
|
||||
|
||||
Reference in New Issue
Block a user