![]() ![]() And while rendering several frames in flight, some Apple GPUs can overlap workloads between them. Another area is getting good overlap across your vertex, fragment, and compute workloads. Optimization is about getting the best out of several areas, ranging from shader performance to memory bandwidth. As I mentioned, Xcode and Instruments are great tools to help you understand your Metal application. So, I have a little list of things you could consider, or look for, in your game. It's a great idea to save a GPU trace file and an Instruments trace file so you can have your before and after data, both before and after optimization. For these games, we use Xcode's Metal Debugger to give us insights about their performance and how their frame graphs are structured, and we use Metal System Trace in Instruments to learn about a game's performance over time. Since optimization is a process, you will go back and repeat until your performance targets have been met. Lastly, you verify your improvements by comparing some new measurements with your original ones. Once you know what is causing a bottleneck, then you can make improvements to the game, but normally you pick one or two at a time, so you can understand the impact of each change. In-depth analysis helps you find where and why the bottlenecks are occurring. Then, you analyze the data to learn about the behavior of your engine. You may decide the in-game location to take your GPU frame captures and Metal system traces, the scene complexity, graphics settings, and other metrics important to you, like frame time. Soon after you begin measuring data, you will want to choose some performance targets, or where you want to be when you finish. First, you need to choose what data to collect, or measure, so it will help you understand what's happening with your game. When we optimize a graphics application, it's important to have a methodology, a set of principles that define how we solve a particular problem. And, in particular, I'd like to share some of the principles our team uses to help developers optimize their games. You're probably interested in finding opportunities to optimize your own game, so we have geared this session to emphasize how our GPU tools are especially helpful in pinpointing these problem areas and to suggest ways to solve them. Looking back over the course of the year, we have analyzed many games and identified some common scenarios that affect graphics performance. I am sure you'll be excited to see the details, and I want to take a moment and thank both Larian Studios and 4A Games for giving us permission to show development materials in this presentation. So, over the past year, we collaborated with Larian Studios and 4A Games to find ways to tune the graphics performance in their games for Apple GPUs. Let's dive in and talk about optimization. ![]() And lastly, Dustin is going to do a tools demonstration featuring the game Divinity: Original Sin 2, while he introduces the new GPU Timeline in Xcode 13. Then, I'm going to show you the kinds of optimizations that are used in the games Baldur's Gate 3 and Metro Exodus. ![]() In this video, I'm going to cover the process that we use to optimize games. Dustin and I are going to show you how we optimize high-end games for Apple GPUs. We get to work with game developers to help them get the best graphics performance on our Apple GPUs. I'm a member of the Metal Ecosystem team at Apple. Have a question? Ask with tag wwdc21-10148.Debugging the shaders within a draw command or compute dispatch.We'll also dive into the new GPU Timeline profiling tool in Xcode 13 to identify possible performance bottlenecks in “Divinity: Original Sin 2” when running on iPad.įor this session, you should be familiar with the tile-based deferred rendering architecture in Apple GPUs, and have a working knowledge of Xcode and the Metal API.Ĭheck out “Discover Metal debugging, profiling, and asset creation tools” or the WWDC20 session “Optimize Metal apps and games with GPU counters” to learn more about using our tools to profile graphics workloads. We'll explore various techniques for improving your game's performance, including optimizing shaders, reducing memory bandwidth utilization, and increasing the overlap of your GPU workloads. Learn from our experiences working with developers at Larian Studios and 4A Games as we help them optimize their games for Apple GPUs. Optimize your high-end games for Apple GPUs: We'll show you how you can use our rendering and debugging tools to eliminate performance issues and make your games great on Apple platforms. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |