How Can Unity Developers Identify GPU Pressure with SoC GPU and GPU Counter Data?
As players expect smoother gameplay and increasingly detailed visuals, excessive GPU usage has become a major performance concern for many game development teams. High GPU pressure can lead to stuttering, frame drops, overheating, and frequency reduction. GameOptim GOT Online now provides SoC GPU Information and additional GPU Counter metrics in Overview mode, giving developers a broader view of GPU operating conditions while helping them locate and investigate GPU pressure more precisely.
Note: GPU architectures vary across vendors, so recommended values for the same metric may differ between GPU brands. Cross device comparisons are generally less meaningful. GameOptim recommends prioritizing longitudinal comparisons on the same device . Summary GOT Online provides two complementary levels of GPU analysis: SoC GPU Information provides a high level view of GPU operating conditions, including GPU frequency, GPU utilization, and platform specific information. GPU Counter provides more detailed data about GPU activity, shading, cache behavior, and other GPU processing metrics. Different GPU architectures require different analysis methods and recommended thresholds. Comparing performance trends on the same device is generally more useful than comparing absolute values across different devices. How Does SoC GPU Information Help Monitor GPU Pressure? The SoC GPU Information module allows developers to monitor GPU operation from a more high level perspective. It can be used to: Observe GPU operating conditions Identify potential GPU frequency reduction Locate scenes with relatively high GPU pressure Further investigate the sources of GPU performance pressure in those scenes SoC GPU Information currently supports MTK SoC devices and HISI SoC devices running Android 10 or later . What Does GPU Frequency Tell Developers? GPU Frequency GPU Freq represents the GPU operating frequency at the sampled frame. Different GPU models and vendors have different rated maximum frequencies, and GPUs can dynamically adjust their operating frequency. By monitoring GPU frequency and combining it with specific metrics from GPU Counter, developers can quickly determine whether the GPU is operating normally. What Does GPU Utilization Mean? GPU Utilization represents the current GPU frequency as a percentage of the GPU's rated maximum frequency. Its trend therefore follows the GPU frequency trend. When GPU utilization remains high for an extended period, the device is continuously operating under relatively high pressure. Prolonged high GPU pressure can contribute to GPU overheating and declining game performance. Developers should pay particular attention to these scenes and use the GPU Counter module to investigate GPU pressure in greater detail. How Is SoC GPU Utilization Different from GPU Counter Workload? These two types of GPU load data describe GPU activity at different levels. SoC level GPU Utilization reflects the overall operating load of the GPU. By contrast, the Fragment and Non Fragment utilization values in Mali/PowerVR GPU Counter describe the workload of two major internal GPU processing units. Therefore, these metrics should not be treated as interchangeable. Developers should analyze them together according to the corresponding level of GPU operation. What Does MTK GPU Loading Measure? On MTK SoC devices , GameOptim provides GPU Loading . It represents the percentage of GPU clock cycles used out of the currently available clock cycles—in other words, the utilization of the current rated frequency. It is important to note that GPU Loading only represents GPU usage at the current frequency; it does not directly represent the overall GPU pressure . What Does HISI DDR Frequency Tell Developers? On HISI SoC devices , GameOptim provides DDR Frequency DDR Freq . This represents the device's system memory frequency. The operating state of DDR can also affect how GPU performance is delivered. How Does GPU Counter Provide More Detailed GPU Analysis? While SoC GPU Information provides a high level view of GPU operation, GPU Counter provides more detailed data for individual GPU processing components. In this update, GameOptim adds three performance metrics: GPU Activity GPU Shading GPU Cache Additional data for different GPU vendors is also included. Together, these improvements provide more comprehensive GPU data and help developers locate performance bottlenecks and establish performance targets more efficiently. What Does GPU Activity Measure? The GPU Counter pages for Mali, PowerVR, and Adreno now include GPU Activity , represented by GPU Clocks . GPU Clocks indicates the number of GPU clock cycles required to render one frame and is one of the primary metrics for measuring GPU performance. By analyzing GPU Clocks, developers can quickly identify which scenes are placing greater pressure on the GPU and then combine this information with other GPU Counter metrics to investigate the specific source of that pressure. How Can GPU Shading Data Help Identify Overdraw? The GPU Shading pages for Mali, PowerVR, and Adreno now include: Fragment Shaded Vertices Shaded For Mali and PowerVR, the existing Cycles/Pixel metric represents the average complexity per pixel. Fragment Shaded and Vertices Shaded provide another perspective for analyzing potential Overdraw. What Does Fragment Shaded Measure? Fragment Shaded represents the number of times the Fragment Shader is executed per frame. By dividing Fragment Shaded by the device resolution, developers can use the result as an indirect indication of the project's Overdraw. High Overdraw can contribute to increased device temperature and energy consumption. Developers can reduce Overdraw by: Reducing the number of particles used by transparent particle effects Using irregular meshes instead of rectangular meshes when rendering particle effects or UI Reducing unnecessary Overdraw layers These approaches can help reduce GPU pressure. What Does Vertices Shaded Measure? Vertices Shaded represents the number of times the Vertex Shader is executed per frame. By dividing Vertices Shaded by the number of input primitives, developers can calculate the average number of Vertex Shader executions per primitive. How Can Mali GPU Cache Data Reveal Bandwidth Pressure? Mali GPU Cache provides two metrics: Read Stall Write Stall They represent the percentage of total GPU cycles during which the GPU is waiting for external read or write operations. In other words, when the GPU sends a request to system memory and the memory system does not respond in time, the waiting period contributes to the GPU's active time. What Does a High Read Stall Mean? GPU cache behavior can directly reflect GPU bandwidth pressure. The lower the Read Stall and Write Stall , the better the GPU operating condition. GameOptim recommends keeping both values below 5% . When Read Stall is high, the GPU may be experiencing significant bandwidth pressure. Developers can investigate approaches such as: Lowering the target frame rate Reducing the size and number of texture resources Reducing the size and number of mesh resources What Does a High Write Stall Mean? When Write Stall is high, developers can consider: Reducing mesh complexity Controlling the number of Framebuffers Controlling Framebuffer memory size These approaches can help reduce write related GPU pressure. What Does PowerVR GPU Cache Tell Developers? PowerVR GPU Cache provides GPU Memory Bus Utilization . This represents the percentage of total available GPU memory bandwidth being consumed by the GPU. When GPU Memory Bus Utilization remains high, the GPU may be accessing memory too frequently. Developers can reduce GPU cache and memory pressure by controlling the size and number of: Texture resources Mesh resources How Does Adreno GPU Cache Analysis Work? The Adreno GPU Cache module now adds Texture L2 Cache Miss , providing a more comprehensive view of cache behavior. For the definition and optimization methods of Texture L1 Cache Miss , refer to the previous GPU Counter analysis. By combining L1 and L2 cache information, developers can gain a more complete understanding of texture cache behavior during testing. What Other GPU Counter Data Has Been Added? In addition to the metrics described above, GameOptim has also added: GPU Bandwidth to the Adreno GPU Counter https://www.gameoptim.com/blog/post/unity gpu counter timeline analysis GPU Workload to the PowerVR GPU Counter https://www.gameoptim.com/blog/post/unity gpu performance mali adreno powervr The meanings and optimization approaches for these metrics are consistent with the corresponding GPU Counter metrics introduced in previous updates. How Should Developers Compare GPU Performance Across Different Devices? GPU architecture varies between vendors, so the same metric can have different recommended values on different GPU architectures. For this reason, direct cross device comparisons are generally not very meaningful. GameOptim recommends prioritizing longitudinal comparisons on the same device . This approach makes it easier to determine whether a change in project settings, rendering content, or optimization work has actually improved GPU performance. What Should Developers Do If GPU Counter Data Cannot Be Collected? On some devices, a notification may appear before testing indicating that GPU Counter data cannot be collected normally. In this situation, developers should refer to the relevant section of the GameOptim user manual: “1.3 Local Testing – Notes” The documentation provides troubleshooting guidance for GPU Counter collection issues and methods for attempting to obtain GPU Counter data. Key Takeaways SoC GPU Information provides a high level view of GPU operating conditions. GPU Frequency can help identify changes in GPU operating frequency and potential frequency reduction. GPU Utilization reflects the current GPU frequency relative to its rated maximum frequency. GPU Clocks measures the GPU clock cycles required to render a frame. Fragment Shaded and Vertices Shaded provide additional information for analyzing shader workload and potential Overdraw. For Mali GPU Cache, GameOptim recommends keeping Read Stall and Write Stall below 5% . PowerVR GPU Memory Bus Utilization reflects GPU memory bandwidth usage. Adreno Texture L2 Cache Miss provides additional cache analysis. GPU metrics should be interpreted according to the underlying GPU architecture. For meaningful performance tracking, same device longitudinal comparisons are preferred over cross device comparisons. FAQ What is the difference between SoC GPU Information and GPU Counter? SoC GPU Information provides a high level view of overall GPU operating conditions, while GPU Counter provides more detailed information about specific GPU processing components such as activity, shading, and cache behavior. What does GPU Frequency measure? GPU Frequency represents the GPU's operating frequency at the sampled frame. Because GPUs can dynamically adjust their frequency, tracking this value can help identify changes in GPU operating conditions. What is GPU Utilization? GPU Utilization represents the current GPU frequency as a percentage of the GPU's rated maximum frequency. What is GPU Clocks? GPU Clocks represents the number of GPU clock cycles required to render one frame and is a key metric for measuring GPU performance. What does Fragment Shaded indicate? Fragment Shaded represents the number of times the Fragment Shader executes per frame. Dividing it by the device resolution can provide an indirect indication of Overdraw. What are the recommended values for Mali Read Stall and Write Stall? GameOptim recommends keeping both Read Stall and Write Stall below 5% . Can GPU metrics be directly compared between different GPU brands? Direct comparison is generally not recommended. Different GPU architectures can produce different recommended values for the same metric. Same device longitudinal comparisons are more meaningful. New users can get 2 hours of free GOT Online testing time after completing registration. https://www.gameoptim.com/?fopt=blog About GameOptim GOT Online GOT Online is a cloud based performance analysis platform with online performance reports for deeper analysis and collaboration. Based on visualized data display, providing targeted analysis suggestions and performance parameter trends, facilitating efficient quality control execution. To meet a wide range of optimization needs, GOT Online provides four major analysis modes: • Overall Performance Analysis • Mono Heap Memory Analysis • Lua Performance Analysis • GPU Performance Analysis