A curated list of various learning resources for computer graphics on mobile devices.
- GPU Framebuffer Memory: Understanding Tiling - A clear explanation with step-by-step animation.
- Tile-based Rendering - A concise introduction to different rendering architectures with brief comparative analysis.
- Mobile GPU Approaches to Power Efficiency by Andrew Gruber - An overview of power efficiency in terms of memory system, render pipeline, etc.
- Game Asset Optimizations - Informative tips for app deployment and run-time performance.
- Geometry Best Practices - Tips to strike a balance between geometry complexity and visual quality with lots of illustrations.
- Textures Best Practices - A number of texturing tips help apps run smoother and look better.
- Understanding Numerical Precision - A brief guide to properly choose numerical precision and to preserve accuracy of the numbers.
- Cramming Software onto Mobile GPUs by Andrew Garrard - Various essential techniques to well utilize mobile hardware.
- OpenGL ES Usage Recommendations - Practical and effective tips for GLES programming.
- How to Correctly Handle Framebuffers by Peter Harris - A crystal clear explanation with sample code for avoiding redundant tile writes.
- Vulkan Usage Recommendations - Effective guidelines for Vulkan API.
- Introduction to Vulkan Render Passes - A detailed note about how to use render passes in Vulkan API.
- Getting Faster and Leaner on Mobile: Optimizing Roblox with Vulkan by Arseny Kapoulkine - Informative optimization experiences with several concrete examples.
- Mali GPU Training - A comprehensive training series from mobile graphics fundamentals to performance analysis.
- Graphics and Gaming Development - Official Mali developer resources.
- Arm Mali GPU Best Practices Developer Guide - A complete guide for Mali graphics programming with OpenGL ES and Vulkan.
- Mali GPU OpenGL ES 3.x Developer Guide - An introductory guide for Pixel Local Storage, ASTC, and other 3.x features.
- Understanding Render Passes - Practical guides for efficient render passes with Vulkan and OpenGL ES.
- The Benefits of Buffer Packing - Several performance tips related to bandwidth usage saving.
- Using Asynchronous Compute on Arm Mali GPUs: A Practical Sample by Hans-Kristian Arntzen - An informative introduction to async-compute scheduling on Mali devices.
- Deferred Shading on Mobile: An API Overview by Hans-Kristian Arntzen - A crisp introduction to bandwidth saving techniques on deferred shading with various API options.
- Architecture Guides.
- Performance Recommendations - An informative recommendations range from high-level effect techniques to low-level GLSL optimization.
- Metal Video Learning Resources.
- Modern Rendering with Metal - Demonstration of how to apply Metal features to implement deferred and tiled-forward rendering.
- Moving Mobile Graphics, SIGGRAPH Course Notes - Technical and inspirational talks from practitioners at the forefront.
- Event Archive from Galaxy GameDev - Quite a few collected slides and videos from conference talks at GDC, Unreal Summit, Unity Unite, etc.
- Vulkanised - Informative best and worst practices from game devs pioneering with Vulkan
- Vulkan Samples - Educational source code with informative explanation for developing optimized Vulkan application.
- Android Vulkan Tutorial - Beginner guide to develop Vulkan sample with Android Studio.
- PowerVR Vulkan Examples.
- RenderDoc (video tutorials) - A lightweight, reliable and developer friendly debugger for quick frame diagnosis.
- Principles of High Performance - Core ideas for mobile app optimization.
- Optimization Checklist - A handy checklist for common performance bottlenecks.
- Game Development Guides on Android, including tools, libraries, best practices, etc.
- Modern Android Development Skills on Performance - A video series of brief overviews on various profiling tools on Android.
- Android GPU Inspector - A unified profiler for various GPU IPs on Android.
- Analyze a System Trace - A comprehensive tutorial of system inspection.
- System Tracing
- Android Profiler - Tools for inspecting usage of CPU, memory, network, and battery resources.
- Systrace for Games by Tim Murray - An introductory video tutorial with case studies.
- Improve Game Performance on Android - Tips for identifying and improving various aspects of common performance concerns in mobile games.
- Arm Mobile Studio (video tutorial) - A developer suite contains graphics analyzer, GPU profiler and performance advisor.
- Android performance triage with Streamline - A step-by-step diagnosis guide to identify performance problem.
- Accelerating Mali GPU analysis using Streamline by Peter Harris - A quick overview of using Streamline template charts.
- Workload Pipelining - A clear illustration of various pipeline bottlenecks.
- Frame Pipelining by Peter Harris - A lucid explanation of asynchronous execution of rendering pipeline beneath GL APIs.
- Mali GPU Performance Counters.
- Mali GPU Datasheet.
- Profiling and Optimization in UE4 by Paulo Souza - An introductory tutorial for identifying performance problems.
- UE4 Performance and Profiling by Zak Parrish - Comprehensive guidelines for optimization process.
- UE4 Graphics Profiling by Tech Art Aid - A well organized and informative tutorial series for beginners.
- Introduction to Profiling in Unity by Ciro Continisio - A beginner tutorial on CPU profiler and frame debugger.
- Tackling Profiling for Mobile Games with Unity and Arm by Mark Harkness - A crisp introduction to mobile game optimization with various tools.
- Better Together: Integrating Arm Mobile Studio with Unity by Geraint North - A concrete example of how Streamline annotations make better data interpretation.