How Can Unity Developers Analyze GPU Performance Across Mali, Adreno, and PowerVR?
GameOptim’s GOT Online Overview mode provides GPU performance data to help developers understand rendering pressure caused by increasingly demanding game visuals. In addition to GPU shading and bandwidth data, the Mali GPU Counter module provides GPU geometry and GPU Shader Cycles data. This update expands GPU analysis to Adreno and PowerVR GPUs and adds additional metrics for GPU workload, cache behavior, texture filtering, and power consumption.
By testing with the latest SDK on supported devices, developers can view the corresponding GPU data in the GPU module of GOT Online Overview and investigate GPU pressure and performance consumption.
This update expands GOT Online GPU analysis with support for additional GPU architectures: Mali: GPU workload analysis Adreno: GPU workload, texture cache miss, and texture filtering PowerVR: GPU workload, shading, bandwidth, and geometry Hardware information: Peak power data for analyzing power consumption The metrics can help developers investigate GPU workload, rendering pressure, cache efficiency, texture filtering, and power related performance issues. How Can Mali GPU Counter Help Analyze GPU Workload? GameOptim's Mali GPU Counter now provides GPU workload information in addition to GPU shading, bandwidth, geometry, and Shader Cycles data. Mali GPU workloads are coordinated by the Job Manager , which provides two FIFO work queues to the graphics driver: Non Fragment: Compute and Vertex related shading work Fragment: Fragment related work Ideally, these two queues can operate in parallel. The ratio between the number of cycles during which each queue is active and the total number of GPU active cycles is referred to as Non Fragment Utilization and Fragment Utilization , respectively. What Do Non Fragment Utilization and Fragment Utilization Indicate? When the GPU is fully loaded, ideally at least one of Non Fragment Utilization and Fragment Utilization should be close to 100% , while the other may work in parallel during some periods. If both values are significantly below 100%, there may be serialization or computational dependencies between the two workloads. The optimization direction can then be considered based on which workload is higher: When Non Fragment Utilization is high, developers can investigate vertex count, Compute Shader, Geometry Shader, and Tessellation Shader usage. When Fragment Utilization is high, developers can investigate issues such as excessive Overdraw and overly complex Fragment Shaders. How Can Adreno GPU Counter Help Identify GPU Pressure? The Adreno GPU Counter uses GPU frequency as a key metric for GPU workload analysis. During testing, developers need to monitor not only CPU activity but also the operating condition of the GPU. Can GPU Frequency Reveal Thermal Related Performance Issues? When project pressure is high and device temperature increases significantly, the GPU may also experience frequency reduction, similar to the CPU. By observing GPU frequency during testing, developers can understand GPU operating conditions, identify scenes with relatively high GPU pressure, and conduct further investigation and optimization. How Can GPU Cache Data Reveal Inefficient Texture Access? Data accessed by the GPU can be stored in the GPU cache. When the requested data is found in the cache, this is referred to as a Cache Hit . Otherwise, it is a Cache Miss . GOT Online provides Texture L1 Cache Miss , which represents the percentage of texture accesses that miss the L1 cache. Texture L1 Cache Miss mainly affects device bandwidth and power consumption. A higher Cache Miss rate means the GPU is performing more work without obtaining the required data from the cache. To improve processing efficiency, developers should aim to reduce the Cache Miss rate. GameOptim recommends keeping this value below 15% . When the value is relatively high, developers can investigate: Texture filtering Mipmap settings Texture compression How Can GPU Texture Filtering Data Help Optimize Textures? The main GPU texture filtering metric is Non Base Level Textures , which represents textures from non zero Mipmap levels. GOT Online also provides: Nearest Filtered Linear Filtered Anisotropic Filtered These metrics can help developers quickly understand texture filtering behavior during testing. In general, GameOptim recommends using lower cost texture filtering where possible and using anisotropic filtering carefully. For 3D games , developers should pay particular attention to whether Mipmap is enabled. What Does PowerVR GPU Counter Provide? For PowerVR GPUs , GameOptim provides four GPU Counter modules: GPU Workload GPU Shading GPU Bandwidth GPU Geometry The GPU workload metric has been introduced above. The meaning and optimization direction of GPU shading, GPU bandwidth, and GPU geometry are consistent with those described for the Mali GPU Counter, so they are not repeated here. For additional details: GPU shading and bandwidth: How Can Unity Developers Identify and Optimize Lua Performance Bottlenecks? https://www.gameoptim.com/blog/post/unity gpu counter timeline analysis GPU geometry: How Can Unity Developers Identify GPU Pressure and Analyze Stutter Frames? https://www.gameoptim.com/blog/post/unity gpu geometry shader cycles analysis Why Should GPU Counter Values Be Compared Carefully Across GPU Brands? Because Mali and PowerVR use different GPU architectures , the recommended values for the same metric may differ between GPU brands. As a result, direct comparisons between different devices are generally less meaningful. Developers are encouraged to focus on longitudinal comparisons on the same device . There can also be architectural differences between different generations of GPUs from the same brand. Therefore, GameOptim currently supports GPU Counter data collection only on some supported GPU chips . How Can Power Data Help Analyze Device Power Consumption? In addition to GPU Counter, this update adds a Peak Power metric to the hardware information page. Developers can use this module to view device power and current during testing and analyze project power consumption. Power consumption is closely related to bandwidth. Device power consumption can provide an indication of bandwidth activity, and higher power consumption may accompany higher bandwidth. Therefore, developers should monitor device power consumption during testing to avoid issues such as increased temperature and frequency reduction caused by excessive power consumption. Why Should Power Consumption Not Be Compared Across Different Devices? Power consumption is influenced by device hardware, so significant differences may exist between devices. Directly comparing power consumption across different devices is therefore not recommended. In addition, when a device is connected to USB or charging, the measured power value can be significantly affected. This may result in abnormal values or even negative values. For this reason, GameOptim recommends using power and current data collected while the device is not connected to USB as the reference. How Can Developers Use These GPU Metrics in Practice? The different GPU Counter modules provide complementary information for investigating GPU pressure: | GPU | Available Metrics | Main Analysis Focus | | | | | | Mali | GPU Workload, Shading, Bandwidth, Geometry, Shader Cycles | GPU workload, rendering geometry, shader complexity | | Adreno | GPU Workload, Cache, Texture Filtering | GPU frequency, cache efficiency, texture processing | | PowerVR | GPU Workload, Shading, Bandwidth, Geometry | GPU workload and rendering pressure | When investigating GPU performance, developers should consider the GPU architecture and focus on comparisons under consistent device conditions , rather than directly comparing absolute values across different GPU brands. Key Takeaways GOT Online now supports additional GPU analysis for Adreno and PowerVR , alongside supported Mali devices. Mali GPU Counter provides Non Fragment Utilization and Fragment Utilization for GPU workload analysis. Adreno GPU Counter provides GPU frequency, Texture L1 Cache Miss , and texture filtering data. GameOptim recommends keeping Texture L1 Cache Miss below 15% . PowerVR GPU Counter provides GPU workload, shading, bandwidth, and geometry data. GPU Counter values should be interpreted according to the underlying GPU architecture. Longitudinal comparisons on the same device are generally more meaningful than cross device comparisons. Peak power and current data can help developers investigate power consumption, but measurements should be taken with the device disconnected from USB or charging. FAQ Which GPU brands are supported by GOT Online GPU Counter? This update adds support for Adreno and PowerVR , in addition to supported Mali GPU devices. GameOptim currently supports GPU Counter data collection only on some GPU chips. What does Non Fragment Utilization mean? It represents the ratio between the active cycles of the Non Fragment workload and the total GPU active cycles. What does Fragment Utilization mean? It represents the ratio between the active cycles of the Fragment workload and the total GPU active cycles. What is Texture L1 Cache Miss? Texture L1 Cache Miss represents the percentage of texture accesses that miss the GPU's L1 texture cache. GameOptim recommends keeping this value below 15% . What should developers check when Texture L1 Cache Miss is high? Developers can investigate texture filtering, Mipmap settings, and texture compression. Can GPU Counter values be directly compared across different GPU brands? Direct comparison is generally not recommended because different GPU brands use different architectures, and the recommended values for the same metric may differ. Comparisons on the same device are more useful for tracking changes over time. Can power consumption be compared between different devices? Power consumption is affected by device hardware, so significant differences may exist between devices. Cross device power comparisons are therefore not recommended. 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