Why Is Gfx.WaitForPresentOnGfxThread Not High When GPU Load Is Already Elevated?
Why is not particularly high when GPU Clocks and Fragment Shaded indicate GPU pressure? https://uwa overseas public.oss us east 1.aliyuncs.com/uploads/markdown/a5146712 00a8 4de1 810f c3ef7fbde6b2.png
reflects the time the rendering thread spends waiting at a synchronization point for the GPU to complete related work. Therefore, a low value at this marker does not mean that the GPU is under no pressure. The CPU and GPU work in parallel. If the CPU itself is already taking a relatively long time, the GPU may have completed part of its work by the time the rendering thread reaches the synchronization point. As a result, the recorded waiting time at may not be particularly long. https://uwa overseas public.oss us east 1.aliyuncs.com/uploads/markdown/85674b41 03ba 42da 8443 6a2741d9c869.png Therefore, this metric should not be analyzed in isolation. Combine with GPU Clocks, real time frame rate, and target frame rate to determine the overall GPU pressure, and then investigate whether the workload is mainly related to primitive count, pixel processing, or Shader complexity . Since this project is primarily 2D, the GameOptim GOT Online report shows that remains relatively low overall, indicating that the number of primitives submitted to the GPU is not the main issue. In comparison, is more worth investigating. https://uwa overseas public.oss us east 1.aliyuncs.com/uploads/markdown/3959d9b4 981f 43fc bad6 12e31b7baa1c.png The current device uses a rendering resolution of approximately 1080 × 2400 , which means roughly 2.5 million pixels per screen . In the report, reaches approximately 35–50 million in some intervals. This corresponds to roughly 14–20 screens' worth of pixels being processed per frame , indicating that repeated drawing and full screen passes should be investigated. https://uwa overseas public.oss us east 1.aliyuncs.com/uploads/markdown/39cb5dc6 8bd7 4262 b42a 572a9b0f36b4.png The investigation can proceed through the following areas: Check transparent particles . Check overlapping UI elements . Check full screen effects . Check post processing effects such as Bloom and Blur , as well as multiple upsampling and downsampling operations. Check the 4–5 currently active Cameras , and confirm whether the two Cameras that can be disabled are still generating additional overhead. During verification, keep the device, scene, and graphics quality settings unchanged , and disable or modify only one item at a time. If and GPU Clocks decrease together after disabling a specific feature, continue investigating repeated drawing and full screen passes in that area. If the cause still cannot be confirmed, use Frame Debugger or RenderDoc to inspect the specific Draw Calls and rendering Passes.