How to Reduce GPU Bandwidth in Unity Mobile Games?
Most GPU optimization discussions focus on GPU Clocks, because they directly determine frame rate stability. However, GPU performance is not only about computation. GPU Bandwidth is another critical metric, especially for mobile devices, where power consumption and heat are often bigger problems than FPS drops. In GOT Online, GPU Mode tracks Bandwidth separately from Clocks, helping developers identify hidden thermal bottlenecks. Combined with Gears, bandwidth-heavy rendering passes can be analyzed at frame level for more precise optimization.
About GameOptim GameOptim helps Unity developers identify memory issues, rendering bottlenecks, and performance regressions through automated profiling and cloud based performance analysis. Explore more: 🌐 Website: www.gameoptim.com https://www.gameoptim.com/?fopt=blog 📘 Blog: www.gameoptim.com/blog/ https://www.gameoptim.com/blog/ 💼 LinkedIn: www.linkedin.com/company/gameoptim/ https://www.linkedin.com/company/gameoptim/ 🎥 YouTube: GO.PerformanceLab https://www.youtube.com/@GO.PerformanceLab 💬 Discord: GameOptim https://discord.gg/4Jh6hj9gRw ⭐ GitHub: GameOptim https://github.com/GameOptim/unity mobile performance guide 💻 Dev: GameOptim https://dev.to/gameoptim https://uwa overseas images.oss us east 1.aliyuncs.com/Blog/HeadImage/OptimizationGuide28%280%29.jpg Summary GPU Clocks mainly affect frame rate. GPU Bandwidth mainly affects power consumption and device temperature. High bandwidth can create severe battery drain even when GPU Clocks are moderate. Texture reads are usually the largest contributor to bandwidth usage. RenderTexture copies and post processing also generate heavy bandwidth pressure. Reducing sampling count, improving compression, and lowering render resolution are highly effective. GOT Online can reveal long term thermal pressure caused by bandwidth overload. Core Concepts GPU Clocks vs GPU Bandwidth Previous sections mainly focused on GPU Clocks and the factors affecting them. However, in GOT Online , GPU Mode also collects another critical metric: GPU Bandwidth This deserves equal attention. The difference is: GPU Clocks Mainly affect: Frame rate Rendering latency GPU execution speed High GPU Clocks force higher frequency scaling, increasing: Power consumption Heat generation GPU Bandwidth Mainly affects: Power consumption Memory traffic Thermal pressure And this is largely independent of GPU Clocks. A project may have acceptable FPS but still suffer severe overheating because bandwidth remains too high. 92 https://uwa ducument img.oss cn beijing.aliyuncs.com/GameOptim/4.7Bandwidth/92.png Why GPU Pressure Causes Overheating In mobile SoCs, CPU, GPU, and battery are physically compact. Heat spreads quickly between components. At GameOptim , temperature data collected from large scale testing shows: GPU pressure is one of the most common overheating sources. Through hardware temperature monitoring: CPU temperature GPU temperature Battery temperature Developers can determine the real heat source. Rules: If the blue GPU temperature curve dominates, GPU pressure is the main thermal source. Otherwise, CPU pressure is usually the root cause. This is directly observable in GOT Online device temperature reports. 93 https://uwa ducument img.oss cn beijing.aliyuncs.com/GameOptim/4.7Bandwidth/93.png Why Thermal Throttling Hurts FPS High temperature creates: Reduced player comfort Battery drain Device frequency throttling Once thermal throttling begins: GPU frequency drops CPU frequency drops Frame rate becomes unstable This means: Heat optimization is indirectly frame optimization. This is why Gears often helps teams correlate GPU heavy frames with later FPS degradation. Quantifying GPU Bandwidth Cost Previously, bandwidth impact was mostly judged qualitatively. But there is a measurable relationship. According to Arm Holdings Mali documentation: ~1 GB/s bandwidth ≈ 80–100 mW power consumption This is significant. Reference: Idle / Light Applications Total power: 1000–2000 mW Healthy low power state. Heavy Mobile Games Total power: 4000–5000 mW Or higher. Under heavy rendering: A game may reach: 10 GB/s bandwidth This alone can consume: ~1000 mW That is about: 20% of total system power Before: CPU cost OS cost Memory cost Network cost This explains why bandwidth optimization is so important. Real Project Bandwidth Range Based on GameOptim large scale project testing: Low end devices / casual games Typical bandwidth: 2–3 GB/s High end devices / heavy rendering Typical bandwidth: ≤ 5–6 GB/s Exact values vary by: Vendor GPU architecture Memory system Resolution So no universal fixed target exists. But when battery drain or overheating occurs: Bandwidth analysis becomes extremely valuable. Bandwidth Breakdown Bandwidth can be split into: Read Bandwidth Usually the largest part. Includes: Texture reads Vertex reads Texture reads are typically much larger. Write Bandwidth Mainly from: RenderTexture writes Resolve passes Copy passes This is especially common in URP. Vertex Read Bandwidth Determined by: Vertex count Vertex attribute size Earlier geometry optimization also reduces this. Usually no separate optimization is needed. Texture Read Bandwidth This is usually the biggest target. Main sources: Texture sampling Post processing RenderTexture sampling This is where most optimizations happen. Best Practices 1 Reduce Sampled Texture Count Excessive texture samplings significantly increase bandwidth. Especially when: Multiple layers Detail maps Normal maps Masks Lightmaps Optimization: Check for: Redundant samplings Disabled features still sampling textures Duplicate texture reads This is often easy to spot in Gears shader inspection. 2 Use Proper Texture Compression As discussed in the memory chapter: Texture compression reduces: Data size per pixel This directly lowers texture read bandwidth. Examples: ASTC ETC2 Proper compression improves both: Memory usage GPU bandwidth 3 Enable Mipmap Properly Mipmap reduces bandwidth significantly. Especially for distant textures. Benefits: Smaller sampled texture levels Better cache hit rate Lower bandwidth cost This is one of the highest ROI texture optimizations. 4 Control Texture Filtering Carefully Filtering affects sampling count. Main risks: Anisotropic Filtering Improves angled texture clarity. But increases: Sample count Cache miss rate Bandwidth usage Recommendation: In Unity Quality Settings: Set: Anisotropic Textures = Per Texture Do NOT use: Forced On Only enable where necessary. Trilinear Filtering Trilinear uses: 8 texture taps Bilinear uses: 4 texture taps That means: 2× bandwidth cost. Only use when visually meaningful. GameOptim’s resource scanning in GOT Online can detect textures using anisotropic and trilinear filtering. 94 https://uwa ducument img.oss cn beijing.aliyuncs.com/GameOptim/4.7Bandwidth/94.png 5 Reduce Render Resolution This is one of the most powerful bandwidth optimizations. Lower resolution means: Fewer pixels Fewer samples Lower memory traffic Benefits are immediate and significant. Especially for: Low end devices High FPS modes 6 Reduce Copy Operations and Post processing Sampling RenderTexture copies are expensive. Examples: Copy Color Copy Depth These create: Read bandwidth Write bandwidth Remove unnecessary copies whenever possible. Also watch: Bloom DOF Blur Anti aliasing These perform multiple full resolution sampling passes. This makes them major bandwidth consumers. On low end devices: Use: Lower quality tiers Reduced sampling Full disable where necessary This can be continuously validated through GOT Online GPU Bandwidth tracking. Key Takeaways GPU optimization is not only about Clocks. Bandwidth is equally important. Especially for: Battery life Device temperature Long session stability Optimization priority: Texture Sampling + RenderTexture + Post processing Main strategies: Reduce unnecessary texture reads Use texture compression Enable Mipmap Limit anisotropic/trilinear filtering Lower render resolution Remove unnecessary copy passes Using GOT Online together with Gears allows developers to optimize both frame rate and thermal efficiency systematically. FAQ Does GPU Bandwidth affect FPS directly? Not always. Its biggest impact is usually heat and power consumption. But overheating eventually causes FPS drops through throttling. What contributes most to bandwidth? Usually: Texture reads. Especially in post processing and layered shaders. Is lowering resolution the fastest bandwidth optimization? Yes. It directly reduces pixel count and sampling cost. Is anisotropic filtering expensive? Yes. Especially at high levels. Use only where visually necessary. Continue reading the series 1. Why Do Mobile Games Crash, Lag, or Overheat? A Unified Framework for CPU, GPU, and Memory Optimization in Unity https://www.gameoptim.com/blog/post/OptimizationGuide1 2. How to Control Runtime Memory in Unity Mobile Games: PSS Standards, Memory Profiler Analysis, and Optimization Workflows https://www.gameoptim.com/blog/post/OptimizationGuide2 3. Common Resource Memory Issues in Unity Mobile Games https://www.gameoptim.com/blog/post/OptimizationGuide3 4. Why Is Texture Memory So High in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide4 5. How Do Vertex Count, Vertex Attributes, and Read/Write Settings Affect Mesh Performance in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide5 6. How Can You Reduce Animation Memory Usage and Runtime Overhead in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide6 7. How Can You Reduce Audio Memory Usage and Playback Overhead in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide7 8. How Can You Reduce Material Count and Avoid Material Related Performance Waste in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide8 9. How Can You Reduce Render Texture Memory Usage and Rendering Overhead in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide9 10. What Causes Excessive Shader Memory Usage and Variant Explosion in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide10 11. Why Do Font and Particle System Resources Consume Excessive Memory in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide11 12. Why Does Mono Heap Memory Keep Growing and Trigger GC Spikes in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide12 13. Why Is Memory Usage Still High After Optimizing Unity Resources? https://www.gameoptim.com/blog/post/OptimizationGuide13 14. What Defines a CPU Bottleneck in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide14 15. Unity Rendering CPU Optimization: Why Is Rendering Time So High? https://www.gameoptim.com/blog/post/OptimizationGuide15 16. What Causes UI Performance Bottlenecks in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide16 17. Is Unity Physics Wasting CPU Time on Mobile? How to Detect and Reduce Hidden Physics Overhead https://www.gameoptim.com/blog/post/OptimizationGuide17 18. Why Is Unity Animation Taking Too Much CPU on Mobile? https://www.gameoptim.com/blog/post/OptimizationGuide18 19. How to Reduce Particle System CPU Spikes and Runtime Overhead in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide19 20. How Can I Reduce Unity Loading Time and Avoid Runtime Stutters? https://www.gameoptim.com/blog/post/OptimizationGuide20 21. How Can I Optimize Unity Logic Code, Lua, and Hotfix Runtime Performance? https://www.gameoptim.com/blog/post/OptimizationGuide21 22. How Do I Identify GPU Bottlenecks in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide22 23. How can developers accurately determine whether a Unity mobile game is GPU Bound using GPU Clocks? https://www.gameoptim.com/blog/post/OptimizationGuide23 24. How can developers identify and optimize GPU vertex stage bottlenecks in Unity mobile games? https://www.gameoptim.com/blog/post/OptimizationGuide24 25. How can developers identify and reduce GPU fragment stage bottlenecks in Unity mobile games? https://www.gameoptim.com/blog/post/OptimizationGuide25 26. How to Reduce Shader Complexity in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide26 27. How to Optimize Post processing in Unity Mobile Games? https://www.gameoptim.com/blog/post/OptimizationGuide27 29. Why Does My Unity Mobile Game Overheat, Drain Battery Fast, and Drop FPS After a While? https://www.gameoptim.com/blog/post/OptimizationGuide29