Channel: Log: Games Performance Optimization
Geometry Best Practices for Artists
Geometry is a main component when creating a 3D game. To make sure a game runs well on all devices it is essential that the geometry considerations of a game are taken seriously, and optimised as much as possible. This guide highlights geometry optimisations for 3D assets, that can make a game more efficient and achieve the overall goal of getting your game to perform better on mobile platforms.
https://developer.arm.com/solutions/graphics/developer-guides/best-practices-for-mobile-game-art-assets-1/geometry-best-practices
#info #optimizing #techart #unreal #unity
Geometry is a main component when creating a 3D game. To make sure a game runs well on all devices it is essential that the geometry considerations of a game are taken seriously, and optimised as much as possible. This guide highlights geometry optimisations for 3D assets, that can make a game more efficient and achieve the overall goal of getting your game to perform better on mobile platforms.
https://developer.arm.com/solutions/graphics/developer-guides/best-practices-for-mobile-game-art-assets-1/geometry-best-practices
#info #optimizing #techart #unreal #unity
ARM Developer
Geometry Best Practices
This guide will highlight geometry optimisation that can be done on 3D assets, making them more efficient and run better on mobile platform.
Texture Best Practices
Textures are an integral part of a game. It is also an area that artists have direct control to improve the performance of games. In this best practices guide, you will find a number of texture optimizations that will help your games to run smoother and look better. The overall goal of the best practices guide series is to make games perform better on mobile based platforms.
Contents of this guide include:
• Texture atlas
• Texture filtering
• Texture mipmap
• Texture size
• Texture color space
• Texture compression
• UV unwrap
• UV visual
• UV channel packing
• Other best practices related to textures
https://developer.arm.com/solutions/graphics/developer-guides/best-practices-for-mobile-game-art-assets-1/texture-best-practices
#info #optimizing #techart #unreal #unity
Textures are an integral part of a game. It is also an area that artists have direct control to improve the performance of games. In this best practices guide, you will find a number of texture optimizations that will help your games to run smoother and look better. The overall goal of the best practices guide series is to make games perform better on mobile based platforms.
Contents of this guide include:
• Texture atlas
• Texture filtering
• Texture mipmap
• Texture size
• Texture color space
• Texture compression
• UV unwrap
• UV visual
• UV channel packing
• Other best practices related to textures
https://developer.arm.com/solutions/graphics/developer-guides/best-practices-for-mobile-game-art-assets-1/texture-best-practices
#info #optimizing #techart #unreal #unity
ARM Developer
Graphics and Gaming Development | Texture Best Practices – Arm Developer
Material and Shader Best Practices for Artists
Welcome to the third best practice for mobile from an artists perspective. We hope you will find everything you are looking for regarding materials and shaders in this guide.
What you will learn;
• The difference between a material and a shader.
• The best practices when dealing with both materials and shaders, along with game engine best practices when dealing with both.
• Transparency best practices from an artists perspective.
• All the other small best practices that fit into the area of dealing with materials and shaders.
https://developer.arm.com/solutions/graphics/developer-guides/best-practices-for-mobile-game-art-assets-1/material-and-shader-best-practices
#info #optimizing #techart #unreal #unity
Welcome to the third best practice for mobile from an artists perspective. We hope you will find everything you are looking for regarding materials and shaders in this guide.
What you will learn;
• The difference between a material and a shader.
• The best practices when dealing with both materials and shaders, along with game engine best practices when dealing with both.
• Transparency best practices from an artists perspective.
• All the other small best practices that fit into the area of dealing with materials and shaders.
https://developer.arm.com/solutions/graphics/developer-guides/best-practices-for-mobile-game-art-assets-1/material-and-shader-best-practices
#info #optimizing #techart #unreal #unity
ARM Developer
Material and Shader Best Practices
Explaining the best practices when using material and shader options when making a game. Includes Unity and Unreal Engine suggestions and options.
Some of the best optimization tips for Unity UI
Tips on how to create optimized UI elements for your content, including dividing up your canvases, avoiding the use of Camera.main and Layout Groups, smart pooling of UI objects and more.
https://unity3d.com/how-to/unity-ui-optimization-tips
#unity #optimizing #ui
Tips on how to create optimized UI elements for your content, including dividing up your canvases, avoiding the use of Camera.main and Layout Groups, smart pooling of UI objects and more.
https://unity3d.com/how-to/unity-ui-optimization-tips
#unity #optimizing #ui
Project Auditor
Project Auditor is a static analysis tool for Unity Projects. Project Auditor analyzes scripts and settings of a Unity project and reports a list of potential problems that affect performance.
#optimizing #unity
https://github.com/mtrive/ProjectAuditor
Project Auditor is a static analysis tool for Unity Projects. Project Auditor analyzes scripts and settings of a Unity project and reports a list of potential problems that affect performance.
#optimizing #unity
https://github.com/mtrive/ProjectAuditor
GitHub
GitHub - mtrive/ProjectAuditor: Project Auditor is an experimental static analysis tool for Unity Projects.
Project Auditor is an experimental static analysis tool for Unity Projects. - GitHub - mtrive/ProjectAuditor: Project Auditor is an experimental static analysis tool for Unity Projects.
CPU Caches and Why You care (Scott Meyers)
No matter what programming language or technology you use, if your software fails to make effective use of the underlying CPU caches, your system's performance will suffer. A lot. This session provides a wide-ranging overview of CPU caches, how they operate, and how that affects high-level decisions on things like data structures and traversal strategies. Both single- and multi-threaded execution are considered. Specific topics include different cache types (data, instruction, TLB); private and shared caches; cache lines and speculative prefetching; false sharing; and cache-friendly program organization, data structures, and traversal strategies. If you care at all about performance, the information in this talk is essential.
https://vimeo.com/97337258
#optimizing #info #cpu
No matter what programming language or technology you use, if your software fails to make effective use of the underlying CPU caches, your system's performance will suffer. A lot. This session provides a wide-ranging overview of CPU caches, how they operate, and how that affects high-level decisions on things like data structures and traversal strategies. Both single- and multi-threaded execution are considered. Specific topics include different cache types (data, instruction, TLB); private and shared caches; cache lines and speculative prefetching; false sharing; and cache-friendly program organization, data structures, and traversal strategies. If you care at all about performance, the information in this talk is essential.
https://vimeo.com/97337258
#optimizing #info #cpu
Vimeo
Scott Meyers - CPU Caches and Why You care
No matter what programming language or technology you use, if your software fails to make effective use of the underlying CPU caches, your system's performance…
ParticleSystem Performance – Culling
TL;DR
- Culling is only possible when a system has predictable behaviour.
- Turning on a single module will not only add to that module’s overhead, but may increase the overall systems impact due to switching from procedural to non-procedural mode.
- Changing values via script will prevent culling.
- Using custom culling can provide a performance benefit, but only you the developer can decide if and when it is appropriate. Take into consideration the type of effect, if the player may notice it isn’t animating when invisible, and if it is possible to predict the area it will affect?
https://blogs.unity3d.com/2016/12/20/unitytips-particlesystem-performance-culling/
#unity #optimizing
TL;DR
- Culling is only possible when a system has predictable behaviour.
- Turning on a single module will not only add to that module’s overhead, but may increase the overall systems impact due to switching from procedural to non-procedural mode.
- Changing values via script will prevent culling.
- Using custom culling can provide a performance benefit, but only you the developer can decide if and when it is appropriate. Take into consideration the type of effect, if the player may notice it isn’t animating when invisible, and if it is possible to predict the area it will affect?
https://blogs.unity3d.com/2016/12/20/unitytips-particlesystem-performance-culling/
#unity #optimizing
Unity Blog
#UnityTips: ParticleSystem Performance – Culling | Unity Blog
Culling is only possible when a system has predictable behaviour.
Turning on a single module will not only add to that module’s overhead, but may increase the overall systems impact due to switching from procedural to non-procedural mode.
Changing values…
Turning on a single module will not only add to that module’s overhead, but may increase the overall systems impact due to switching from procedural to non-procedural mode.
Changing values…
Optimizing mobile games using Arm Mobile Studio
Gain deep insight for applications running on Arm Mali- based devices
Learn how to trace code impact on GPU & CPU performance
Understand how to optimize unreal creations for more devices.
https://www.youtube.com/watch?v=gcxIuwBZyic
#profiling
Gain deep insight for applications running on Arm Mali- based devices
Learn how to trace code impact on GPU & CPU performance
Understand how to optimize unreal creations for more devices.
https://www.youtube.com/watch?v=gcxIuwBZyic
#profiling
YouTube
Optimizing mobile games using Arm Mobile Studio
Gain deep insight for Unity applications running on Arm Mali- based devices
Learn how to trace code impact on GPU & CPU performance
Understand how to optimize unreal creations for more devices
https://developer.arm.com/tools-and-software/graphics-and-gaming/arm…
Learn how to trace code impact on GPU & CPU performance
Understand how to optimize unreal creations for more devices
https://developer.arm.com/tools-and-software/graphics-and-gaming/arm…
"Performance Matters" by Emery Berger
Performance clearly matters to users. For example, the most common software update on the AppStore is "Bug fixes and performance enhancements." Now that Moore's Law has ended, programmers have to work hard to get high performance for their applications. But why is performance hard to deliver?
I will first explain why current approaches to evaluating and optimizing performance don't work, especially on modern hardware and for modern applications. I then present two systems that address these challenges. Stabilizer is a tool that enables statistically sound performance evaluation, making it possible to understand the impact of optimizations and conclude things like the fact that the -O2 and -O3 optimization levels are indistinguishable from noise (sadly true).
Since compiler optimizations have run out of steam, we need better profiling support, especially for modern concurrent, multi-threaded applications. Coz is a new "causal profiler" that lets programmers optimize for throughput or latency, and which pinpoints and accurately predicts the impact of optimizations. Coz's approach unlocks previously unknown optimization opportunities. Guided by Coz, we improved the performance of Memcached (9%), SQLite (25%), and accelerated six other applications by as much as 68%; in most cases, this involved modifying less than 10 lines of code and took under half an hour (without any prior understanding of the programs!). Coz now ships as part of standard Linux distros (apt install coz-profiler).
https://www.youtube.com/watch?v=r-TLSBdHe1A
#profiling
Performance clearly matters to users. For example, the most common software update on the AppStore is "Bug fixes and performance enhancements." Now that Moore's Law has ended, programmers have to work hard to get high performance for their applications. But why is performance hard to deliver?
I will first explain why current approaches to evaluating and optimizing performance don't work, especially on modern hardware and for modern applications. I then present two systems that address these challenges. Stabilizer is a tool that enables statistically sound performance evaluation, making it possible to understand the impact of optimizations and conclude things like the fact that the -O2 and -O3 optimization levels are indistinguishable from noise (sadly true).
Since compiler optimizations have run out of steam, we need better profiling support, especially for modern concurrent, multi-threaded applications. Coz is a new "causal profiler" that lets programmers optimize for throughput or latency, and which pinpoints and accurately predicts the impact of optimizations. Coz's approach unlocks previously unknown optimization opportunities. Guided by Coz, we improved the performance of Memcached (9%), SQLite (25%), and accelerated six other applications by as much as 68%; in most cases, this involved modifying less than 10 lines of code and took under half an hour (without any prior understanding of the programs!). Coz now ships as part of standard Linux distros (apt install coz-profiler).
https://www.youtube.com/watch?v=r-TLSBdHe1A
#profiling
YouTube
"Performance Matters" by Emery Berger
Performance clearly matters to users. For example, the most common software update on the AppStore is "Bug fixes and performance enhancements." Now that Moore's Law has ended, programmers have to work hard to get high performance for their applications. But…
Memory Management in Unity
Proper memory management in Unity can be challenging. The goal of this guide is to fit you with the necessary knowledge to profile and optimize memory consumption on any publicly available platform.
https://learn.unity.com/tutorial/memory-management-in-unity#
#unity #optimizing #profiling
Proper memory management in Unity can be challenging. The goal of this guide is to fit you with the necessary knowledge to profile and optimize memory consumption on any publicly available platform.
https://learn.unity.com/tutorial/memory-management-in-unity#
#unity #optimizing #profiling
Unity Learn
Memory Management in Unity - Unity Learn
Proper memory management in Unity can be challenging. The goal of this guide is to fit you with the necessary knowledge to profile and optimize memory consumption on any publicly available platform.
Your Guide to Reducing Draw Calls in Unity 2020
Draw calls are never a problem. That is, until you add one more element and suddenly your render thread becomes your new bottleneck. Can you guess why keeping Unity draw calls at bay is today more relevant than ever?
https://www.gamedev.net/tutorials/programming/general-and-gameplay-programming/your-guide-to-reducing-draw-calls-in-unity-2020-r5302/
#unity #optimizing
Draw calls are never a problem. That is, until you add one more element and suddenly your render thread becomes your new bottleneck. Can you guess why keeping Unity draw calls at bay is today more relevant than ever?
https://www.gamedev.net/tutorials/programming/general-and-gameplay-programming/your-guide-to-reducing-draw-calls-in-unity-2020-r5302/
#unity #optimizing
GameDev.net
Your Guide to Reducing Draw Calls in Unity 2020
[Find the original post at <a href="https://thegamedev.guru/unity-performance/draw-call-optimization/">Unity Draw Calls</a>]Draw calls are never a problem. That is, until you add one more element and
Understanding Render Passes
This guide discusses how render passes apply to Mali’s tile-based GPU architecture via different Application Programming Interfaces (APIs), such as Vulkan and OpenGL ES.
The guide is useful to application developers new to this topic, or to those who want to build on a basic understanding of how render passes apply to Mali GPUs.
By the end of this guide, you will have a good understanding of how a Mali GPU interacts with the DRAM, and how it works between different APIs. You will also have learned about some of the key issues to consider when improving your application’s rendering efficiency.
Finally, the guide will show you how to enable 4x Multi-Sample Anti-Aliasing (MSAA) with minimal impact to your application’s performance.
https://developer.arm.com/solutions/graphics/developer-guides/understanding-render-passes
#info #rendering
This guide discusses how render passes apply to Mali’s tile-based GPU architecture via different Application Programming Interfaces (APIs), such as Vulkan and OpenGL ES.
The guide is useful to application developers new to this topic, or to those who want to build on a basic understanding of how render passes apply to Mali GPUs.
By the end of this guide, you will have a good understanding of how a Mali GPU interacts with the DRAM, and how it works between different APIs. You will also have learned about some of the key issues to consider when improving your application’s rendering efficiency.
Finally, the guide will show you how to enable 4x Multi-Sample Anti-Aliasing (MSAA) with minimal impact to your application’s performance.
https://developer.arm.com/solutions/graphics/developer-guides/understanding-render-passes
#info #rendering
Arm Developer
Graphics and Gaming Development | Understanding Render Passes – Arm Developer
This guide discusses how render passes apply to Mali’s tile-based GPU architecture via different Application Programming Interfaces (APIs), such as Vulkan and OpenGL ES.
Unity: iOS and Android - Cross-Platform Challenges and Solutions (Siggraph 2012)
#info #rendering
https://www.youtube.com/watch?v=H96PLvYU15Y
http://www.realtimerendering.com/downloads/MobileCrossPlatformChallenges_siggraph.pdf
#info #rendering
https://www.youtube.com/watch?v=H96PLvYU15Y
http://www.realtimerendering.com/downloads/MobileCrossPlatformChallenges_siggraph.pdf
Marvel's Spider-Man: A Technical Postmortem
In this 2019 GDC talk, Insomniac Games' Elan Ruskin discusses the challenges of rapidly growing asset count, and adapting rendering, streaming, and lighting to build a New York City that fits on a Blu-Ray for Marvel's Spider-Man.
https://www.youtube.com/watch?v=KDhKyIZd3O8
In this 2019 GDC talk, Insomniac Games' Elan Ruskin discusses the challenges of rapidly growing asset count, and adapting rendering, streaming, and lighting to build a New York City that fits on a Blu-Ray for Marvel's Spider-Man.
https://www.youtube.com/watch?v=KDhKyIZd3O8
YouTube
Marvel's Spider-Man: A Technical Postmortem
In this 2019 GDC talk, Insomniac Games' Elan Ruskin discusses the challenges of rapidly growing asset count, and adapting rendering, streaming, and lighting to build a New York City that fits on a Blu-Ray for Marvel's Spider-Man.
Register for GDC: http…
Register for GDC: http…
Deliver higher quality games on more devices (Google for Games Developer Summit March 2020)
Building a high quality game is hard. Ensuring it works on many Android devices is harder. Learn about new tools to test your game efficiently before launch, and improve stability and performance once it’s live. This includes Android performance tuner, which unlocks new metrics and insights in Android vitals.
https://www.youtube.com/watch?v=BsTmnoMLdfk
#android
Building a high quality game is hard. Ensuring it works on many Android devices is harder. Learn about new tools to test your game efficiently before launch, and improve stability and performance once it’s live. This includes Android performance tuner, which unlocks new metrics and insights in Android vitals.
https://www.youtube.com/watch?v=BsTmnoMLdfk
#android
YouTube
Deliver higher quality games on more devices (Google Games Dev Summit)
Building a high quality game is hard. Ensuring it works on many Android devices is harder. Learn about new tools to test your game efficiently before launch, and improve stability and performance once it’s live. This includes Android performance tuner, which…
’Witcher 3' on the Nintendo Switch: CPU & Memory Optimization (Presented by NVIDIA)
A lot of old and new games are ported to Nintendo Switch; this talk will show that Switch is a capable platform that can run even the most demanding today's games with little loss in fidelity. We describe in detail CPU, Memory and Build size optimizations and tradeoffs we made during the development of Switch version of Witcher 3: The Wild Hunt.
https://www.gdcvault.com/play/1026635/-Witcher-3-on-the
#optimizing
A lot of old and new games are ported to Nintendo Switch; this talk will show that Switch is a capable platform that can run even the most demanding today's games with little loss in fidelity. We describe in detail CPU, Memory and Build size optimizations and tradeoffs we made during the development of Switch version of Witcher 3: The Wild Hunt.
https://www.gdcvault.com/play/1026635/-Witcher-3-on-the
#optimizing
Tips and Tricks for Optimising Unity UI (Unite '17 Seoul)
https://www.youtube.com/watch?time_continue=1135&v=eH-PdFKgctE&feature=emb_logo
#unity #ui
https://www.youtube.com/watch?time_continue=1135&v=eH-PdFKgctE&feature=emb_logo
#unity #ui
YouTube
Unite '17 Seoul - Tips and Tricks for Optimising Unity UI
Session: Tips and Tricks for Optimising Unity UI
Optimize Metal apps and games with GPU counters
GPU counters can help you precisely measure GPU utilization to pinpoint bottlenecks and optimize workloads for your Metal apps and games. We'll walk you through the tools available in the Metal System Trace instrument and Metal Debugger in Xcode 12 to profile your graphics workload, and show you how to use collected data to discover underused and overworked stages of your GPU pipeline. Discover how you can act on that data to improve your app's capabilities. To get the most out of the session, you should understand the tile-based deferred rendering architecture of Apple GPUs and familiarize yourself with our recommended best practices for performance optimization. For a primer, check out “Delivering optimized Metal apps and games” and “Harness Apple GPUs with Metal.” Once you've learned how to act on GPU counter data to optimize your Metal apps, see how you can use those skills to "Bring your Metal app to Apple Silicon Macs" and "Optimize Metal Performance for Apple Silicon Macs".
https://developer.apple.com/videos/play/wwdc2020/10603
#optimizing #rendering #metal #xcode
GPU counters can help you precisely measure GPU utilization to pinpoint bottlenecks and optimize workloads for your Metal apps and games. We'll walk you through the tools available in the Metal System Trace instrument and Metal Debugger in Xcode 12 to profile your graphics workload, and show you how to use collected data to discover underused and overworked stages of your GPU pipeline. Discover how you can act on that data to improve your app's capabilities. To get the most out of the session, you should understand the tile-based deferred rendering architecture of Apple GPUs and familiarize yourself with our recommended best practices for performance optimization. For a primer, check out “Delivering optimized Metal apps and games” and “Harness Apple GPUs with Metal.” Once you've learned how to act on GPU counter data to optimize your Metal apps, see how you can use those skills to "Bring your Metal app to Apple Silicon Macs" and "Optimize Metal Performance for Apple Silicon Macs".
https://developer.apple.com/videos/play/wwdc2020/10603
#optimizing #rendering #metal #xcode
Apple Developer
Optimize Metal apps and games with GPU counters - WWDC20 - Videos - Apple Developer
GPU counters can help you precisely measure GPU utilization to pinpoint bottlenecks and optimize workloads for your Metal apps and games...
Delivering Optimized Metal Apps and Games
Optimizing performance, memory, and bandwidth are important considerations for resource-intensive Metal apps and games. Learn key best practices to streamline your rendering and attain high frame rates. Understand powerful tools that can help you pinpoint expensive or unexpected GPU work. Dive into GPU capabilities that can yield performance gains and get expert guidance about using memory efficiently.
https://developer.apple.com/videos/play/wwdc2019/606/
#optimizing #rendering #metal #xcode
Optimizing performance, memory, and bandwidth are important considerations for resource-intensive Metal apps and games. Learn key best practices to streamline your rendering and attain high frame rates. Understand powerful tools that can help you pinpoint expensive or unexpected GPU work. Dive into GPU capabilities that can yield performance gains and get expert guidance about using memory efficiently.
https://developer.apple.com/videos/play/wwdc2019/606/
#optimizing #rendering #metal #xcode
Apple Developer
Delivering Optimized Metal Apps and Games - WWDC19 - Videos - Apple Developer
Optimizing performance, memory, and bandwidth are important considerations for resource-intensive Metal apps and games. Learn key best...
HTML Embed Code: