PowerVR Performance Recommendations Introduction
These recommendations are aimed at developers who wish to get the best possible graphics performance from their applications running on PowerVR hardware. The recommendations range from the fairly high-level to very low-level, and have varying amounts of performance gain.
https://docs.imgtec.com/Profiling_and_Optimisations/PerfRec/topics/c_PerfRec_introduction.html
#optimizing #BestPractices
These recommendations are aimed at developers who wish to get the best possible graphics performance from their applications running on PowerVR hardware. The recommendations range from the fairly high-level to very low-level, and have varying amounts of performance gain.
https://docs.imgtec.com/Profiling_and_Optimisations/PerfRec/topics/c_PerfRec_introduction.html
#optimizing #BestPractices
Imgtec
PowerVR Performance Recommendations Introduction
These recommendations are aimed at developers who wish to get the best possible graphics performance from their applications running on PowerVR hardware. The recommendations range from the fairly ...
Qualcomm® Adreno™ GPU Best Practices
This guide outlines the various technologies and subsystems provided by the Adreno GPU to support the graphics developer.
https://developer.qualcomm.com/sites/default/files/docs/adreno-gpu/developer-guide/gpu/best_practices.html#gpu-best-practices
#optimizing #BestPractices
This guide outlines the various technologies and subsystems provided by the Adreno GPU to support the graphics developer.
https://developer.qualcomm.com/sites/default/files/docs/adreno-gpu/developer-guide/gpu/best_practices.html#gpu-best-practices
#optimizing #BestPractices
Speeding up Blender .obj export
A short story how a float formatting curiosity led to accidentally speeding up Blender's obj exporter.
https://aras-p.info/blog/2022/02/03/Speeding-up-Blender-.obj-export/
A short story how a float formatting curiosity led to accidentally speeding up Blender's obj exporter.
https://aras-p.info/blog/2022/02/03/Speeding-up-Blender-.obj-export/
ShaderVariantTool for Unity
This tool lists out all shader keywords and variant counts that are being included in player build.
i.e. If a shader keyword is being stripped, you won't see the keyword on the list.
https://github.com/cinight/SimpleTools/tree/master/Assets/Editor/ShaderVariantTool
#unity #shaders
This tool lists out all shader keywords and variant counts that are being included in player build.
i.e. If a shader keyword is being stripped, you won't see the keyword on the list.
https://github.com/cinight/SimpleTools/tree/master/Assets/Editor/ShaderVariantTool
#unity #shaders
GitHub
SimpleTools/Assets/Editor/ShaderVariantTool at master · cinight/SimpleTools
Contribute to cinight/SimpleTools development by creating an account on GitHub.
Optimize for Android (Go edition)
The Android operating system brings the power of computing to everyone. This vision applies to all users, including those on entry-level phones that face real constraints across data, storage, memory, and more.
This was especially important for us to get right because, when we first announced Android (Go edition) back in 2017, people using low-end phones accounted for 57% of all device shipments globally.
Part 1
Part 2
Part 3
#optimizing #BestPractices #android
The Android operating system brings the power of computing to everyone. This vision applies to all users, including those on entry-level phones that face real constraints across data, storage, memory, and more.
This was especially important for us to get right because, when we first announced Android (Go edition) back in 2017, people using low-end phones accounted for 57% of all device shipments globally.
Part 1
Part 2
Part 3
#optimizing #BestPractices #android
👍2
Media is too big
VIEW IN TELEGRAM
Arm Mobile Studio: Graphics optimization case studies
This talk will use step-by-step case studies from real-world examples to show how developers can use our profiling tools to improve the performance of their Android games. For each case study this talk will introduce the key graphics concepts, before showing how to use the Mobile Studio profiling tools to measure the on-device performance and identify bottlenecks. For each problem identified, the talk will then explain the rendering API best practice and use it to make changes to improve the performance of each sample. We will then use the tools to confirm the impact of applied optimizations.
#optimizing #android
This talk will use step-by-step case studies from real-world examples to show how developers can use our profiling tools to improve the performance of their Android games. For each case study this talk will introduce the key graphics concepts, before showing how to use the Mobile Studio profiling tools to measure the on-device performance and identify bottlenecks. For each problem identified, the talk will then explain the rendering API best practice and use it to make changes to improve the performance of each sample. We will then use the tools to confirm the impact of applied optimizations.
#optimizing #android
Introducing Pixel Local Storage: an extension ahead of its time
Back in 2014 . Since then, many things have happened that have transformed mobile Graphics, particularly the release of the first Vulkan version in February 2016. Built from the ground up, Vulkan was intended to replace OpenGL as the main Graphics API, after OpenGL had successfully served the industry for more than 20 years. The new Graphics API was expected to provide a set of benefits across multiple platforms that the graphics community recognizes and values today.
As expected, the transition from OpenGL to Vulkan is taking several years. Although today the default API in the main game engines is Vulkan, all of them still support OpenGL ES 3.x for Android. OpenGL ES 3.1 brought compute to mobile graphics, and OpenGL ES 3.2 added the Android Extension Pack, bringing the mobile API's functionality significantly closer to its desktop counterpart – OpenGL. OpenGL ES 3.2 is supported in Android 6.0 and higher if the device itself supports this graphics pipeline, which is reflected in the high use of OpenGL ES by game developers.
Part 1 in this blog series explores the PLS extension from today’s perspective, but also from when it was launched. We highlight the main benefits it introduced, so developers can make the most of it when coding their games using OpenGL ES. Some representative examples are described and links to relevant publications and presentations are provided.
https://community.arm.com/arm-community-blogs/b/graphics-gaming-and-vr-blog/posts/introducing-pixel-local-storage
#graphics #mobile
Back in 2014 . Since then, many things have happened that have transformed mobile Graphics, particularly the release of the first Vulkan version in February 2016. Built from the ground up, Vulkan was intended to replace OpenGL as the main Graphics API, after OpenGL had successfully served the industry for more than 20 years. The new Graphics API was expected to provide a set of benefits across multiple platforms that the graphics community recognizes and values today.
As expected, the transition from OpenGL to Vulkan is taking several years. Although today the default API in the main game engines is Vulkan, all of them still support OpenGL ES 3.x for Android. OpenGL ES 3.1 brought compute to mobile graphics, and OpenGL ES 3.2 added the Android Extension Pack, bringing the mobile API's functionality significantly closer to its desktop counterpart – OpenGL. OpenGL ES 3.2 is supported in Android 6.0 and higher if the device itself supports this graphics pipeline, which is reflected in the high use of OpenGL ES by game developers.
Part 1 in this blog series explores the PLS extension from today’s perspective, but also from when it was launched. We highlight the main benefits it introduced, so developers can make the most of it when coding their games using OpenGL ES. Some representative examples are described and links to relevant publications and presentations are provided.
https://community.arm.com/arm-community-blogs/b/graphics-gaming-and-vr-blog/posts/introducing-pixel-local-storage
#graphics #mobile
👍2
Vulkanised 2023: Getting started on mobile and best practices for Arm GPUs
This talk was originally presented at Vulkanised 2023 (Feb 7-9, Munich Germany) and was recorded afterwards due to some technical issues with the original live recording.
Vulkanised is organised by the Khronos Group and is the largest event dedicated to 3D developers using the Vulkan API. The event provides a unique opportunity to bring the Vulkan developer community together to exchange ideas, solve problems and help steer the future development of the Vulkan API and ecosystem..
https://www.youtube.com/watch?v=BD1zXW7Uz8Q
#vulkan #BestPractices #android
This talk was originally presented at Vulkanised 2023 (Feb 7-9, Munich Germany) and was recorded afterwards due to some technical issues with the original live recording.
Vulkanised is organised by the Khronos Group and is the largest event dedicated to 3D developers using the Vulkan API. The event provides a unique opportunity to bring the Vulkan developer community together to exchange ideas, solve problems and help steer the future development of the Vulkan API and ecosystem..
https://www.youtube.com/watch?v=BD1zXW7Uz8Q
#vulkan #BestPractices #android
YouTube
Vulkanised 2023: Getting started on mobile and best practices for Arm GPUs
In this video, originally presented at Vulkanised 2023, get an introduction to a modern mobile system-on-chip (SoC), and the hardware building blocks of the Arm GPU family. Find out some of the key best practices for efficient rendering on Arm GPUs, including…
👍2
Practical Optimizations
So with all the talk about optimization happening on Twitter, some people who saw me give this talk at a private conference asked for me to do a public version.
https://www.youtube.com/watch?v=NAVbI1HIzCE
#optimizing
So with all the talk about optimization happening on Twitter, some people who saw me give this talk at a private conference asked for me to do a public version.
https://www.youtube.com/watch?v=NAVbI1HIzCE
#optimizing
YouTube
Practical Optimizations
So with all the talk about optimization happening on Twitter, some people who saw me give this talk at a private conference asked for me to do a public version.
If you want to play with the code yourself, a more complete version of the monster example is…
If you want to play with the code yourself, a more complete version of the monster example is…
❤7
Branching on a GPU
If you consult the internet about writing a branch of a GPU, you might think they open the gates of hell and let demons in. They will say you should avoid them at all costs, and that you can avoid them by using the ternary operator or step() and other silly math tricks. Most of this advice is outdated at best, or just plain wrong.
Let’s correct that.
https://medium.com/@jasonbooth_86226/branching-on-a-gpu-18bfc83694f2
#shaders
If you consult the internet about writing a branch of a GPU, you might think they open the gates of hell and let demons in. They will say you should avoid them at all costs, and that you can avoid them by using the ternary operator or step() and other silly math tricks. Most of this advice is outdated at best, or just plain wrong.
Let’s correct that.
https://medium.com/@jasonbooth_86226/branching-on-a-gpu-18bfc83694f2
#shaders
Medium
Branching on a GPU
If you consult the internet about writing a branch of a GPU, you might think they open the gates of hell and let demons in. They will say…
👍4❤2
Media is too big
VIEW IN TELEGRAM
ASTC texture compression for developers
ASTC is an advanced texture compression format which has now reached ubiquity in the mobile graphics ecosystem. This session with discuss how to use the ASTC effectively, and highlight the optimization work Arm has been doing to significantly improve compression performance and usability of our "astcenc" texture compressor.
#TextureCompression #ASTC
ASTC is an advanced texture compression format which has now reached ubiquity in the mobile graphics ecosystem. This session with discuss how to use the ASTC effectively, and highlight the optimization work Arm has been doing to significantly improve compression performance and usability of our "astcenc" texture compressor.
#TextureCompression #ASTC
🔥2
When Optimisations Work, But for the Wrong Reasons
Level of detail and imposters are effective optimizations that work for reasons you may not fully understand. Let's explore why, from a hardware perspective, these work.
https://www.youtube.com/watch?v=hf27qsQPRLQ
#optimizing
Level of detail and imposters are effective optimizations that work for reasons you may not fully understand. Let's explore why, from a hardware perspective, these work.
https://www.youtube.com/watch?v=hf27qsQPRLQ
#optimizing
YouTube
When Optimisations Work, But for the Wrong Reasons
Level of detail and imposters are effective optimizations that work for reasons you may not fully understand. Let's explore why, from a hardware perspective, these work.
Gamedev Courses: https://simondev.teachable.com/
Support me on Patreon: https://www…
Gamedev Courses: https://simondev.teachable.com/
Support me on Patreon: https://www…
❤2
How Games Have Worked for 30 Years to Do Less Work
We explore the evolution of culling and visibility determination in video games, building on work started over 30 years ago, and evolving with every generation of hardware.
https://www.youtube.com/watch?v=CHYxjpYep_M
We explore the evolution of culling and visibility determination in video games, building on work started over 30 years ago, and evolving with every generation of hardware.
https://www.youtube.com/watch?v=CHYxjpYep_M
YouTube
How Games Have Worked for 30 Years to Do Less Work
We explore the evolution of culling and visibility determination in video games, building on work started over 30 years ago, and evolving with every generation of hardware.
Gamedev Courses: https://simondev.teachable.com/
Support me on Patreon: https://…
Gamedev Courses: https://simondev.teachable.com/
Support me on Patreon: https://…
👍1🔥1
Arm® GPU Best Practices Developer Guide
Revision: 3.3
This guide is for experienced software engineers who want to optimize the performance of the graphics in their application.
https://developer.arm.com/documentation/101897/latest/
#optimizing #BestPractices
Revision: 3.3
This guide is for experienced software engineers who want to optimize the performance of the graphics in their application.
https://developer.arm.com/documentation/101897/latest/
#optimizing #BestPractices
👍5🥰1
Arm GPU Training
https://developer.arm.com/Additional%20Resources/Video%20Tutorials/Arm%20Mali%20GPU%20Training%20-%20EP1-1
#mobile
https://developer.arm.com/Additional%20Resources/Video%20Tutorials/Arm%20Mali%20GPU%20Training%20-%20EP1-1
#mobile
Arm
Arm GPU Training - Episode 1.1: Introduction to mobile systems
In this introductory video we will explore Mobile GPUs, taking a look at what they are used for and the systems in which they operate.
❤5
The Advent of Compiler Optimisations
This series will cover various fun compiler tricks and optimisations I've spotted in my years of playing around with Compiler Explorer. There will be 25 episodes in total, each with an accompanying blog post.
https://www.youtube.com/watch?v=j-BwR-Cw0Gk&list=PL2HVqYf7If8cY4wLk7JUQ2f0JXY_xMQm2
This series will cover various fun compiler tricks and optimisations I've spotted in my years of playing around with Compiler Explorer. There will be 25 episodes in total, each with an accompanying blog post.
https://www.youtube.com/watch?v=j-BwR-Cw0Gk&list=PL2HVqYf7If8cY4wLk7JUQ2f0JXY_xMQm2
YouTube
[AoCO 0/25] The Advent of Compiler Optimisations
A brief welcome and introduction to what we're going to cover in December. Can't wait to see you there!
Blog post: https://xania.org/202511/advent-of-compiler-optimisation
This series will cover various fun compiler tricks and optimisations I've spotted…
Blog post: https://xania.org/202511/advent-of-compiler-optimisation
This series will cover various fun compiler tricks and optimisations I've spotted…
❤1🤬1
GPU Cache Hierarchy: Understanding L1, L2, and VRAM
https://charlesgrassi.dev/blog/gpu-cache-hierarchy/
https://charlesgrassi.dev/blog/gpu-cache-hierarchy/
Charles Grassi
GPU Cache Hierarchy: Understanding L1, L2, and VRAM
Why does one texture sample cost 4 cycles and another 500? GPU cache hierarchy explained—L1, L2, VRAM, and how to stop thrashing them.
🔥6