On Apple GPU's, you can get per-line performance breakdowns directly in your shader source code with the shader profiler. Simply switch the navigator to "View Frame by Pipeline State" and then select a render pipeline. Shaders are also becoming more powerful each year. If you're interested in learning more, we have another session this year that goes into much more detail about performance counters and how to use them to fine-tune your app. Clicking on Counters in the navigator brings you to the GPU Performance counters, which give you great detail into how long the GPU is spending on the various parts of your frame. We'll also come back to the dependency viewer a bit later, so let's move on for now.Īpple GPUs are packed with enormous power, and we want you to take full advantage of it. If you're interested in learning more, check out the "Delivering Optimized Metal Apps and Games" talk from last year's WWDC. The dependency viewer provides a bird's-eye overview of all of the GPU passes encoded by your app and is a great place to start debugging load/store actions and bandwidth in general. Let's move on to the dependency viewer, which you can get to by clicking on the Show Dependencies button in the summary view or by clicking on any command buffer or encoder in the navigator.Īs apps and render pipelines become more complicated, it's often useful to see all the dependencies between different encoders to understand how your frame is rendered. Each insight is accompanied by a description of the problem, a hint on how to fix it, along with links to related documentation. The tools will give you the guidance you need to face the challenges. It's okay if this is your first journey into the world of Apple GPUs. The summary also shows Insights, which suggest changes that you can make to your app in order to improve memory usage, bandwidth, performance or Metal API usage. From here, you can jump into tools that are specific to the areas you're interested in exploring. To help you better understand your frame, this year we've created a new summary view with the information about a frame in one convenient location, giving you quick access to an overview of encoders, performance numbers and memory usage. Once you're at a frame that you wanna debug, simply click on the camera icon in the debug bar. In Xcode, make sure to first enable GPU Frame Capture under the scheme options, and then run your Metal app. Let's take a closer look at each of the tools. It lets you deep dive into your render pipeline and helps to diagnose issues at an API level. The Metal Debugger in Xcode is a powerful toolset for capturing and debugging a single frame of your app. First up is the Metal Debugger, which you'd typically use when you're GPU-bound. In this session, we're gonna dig around in the Metal toolbox and discover what's available in the Metal Debugger and Metal System Trace.Īt the end, we're gonna have a sneak peek at an upcoming game from Larian Studios, and then I'll show you how you might investigate it with the tools. We're gonna be going through them today, and once you use them, I hope that you'll be able to deliver amazingly optimized, beautiful apps and games to people all over the world. We've got a bunch of great Metal tools that can guide you and help to reduce some of that complexity. And that probably sounds a bit daunting, especially if you're new to the Apple platform. These days, the rendering pipeline is increasing in complexity, with potentially hundreds of render passes. Hi, I'm Sam Colbran from the GPU Software team at Apple, and today we're gonna be talking about Metal tools and how they can help you gain insights into your apps in the world of Apple GPUs.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |