Getting started:
Development and
performance
We’re proud of the ever-increasing size of GPUOpen as a repository for powerful software and highly detailed documentation to help you get the best out of your game or graphics application.
With so much content available, if you’re new to graphics development or performance optimizations, or even just new to AMD tools, libraries, or effects, it’s not always easy to know where to start. This page is designed to be a helping hand to point you in the right direction!
Note: If you’re looking for a similar page to help you get started with our tools, SDKs, libraries, and effects – then make sure you head over to our “Getting started: Our software” page!
Jump to the section you need:
New to graphics programming or AMD hardware?
Videos and presentations
Our engineers regularly present at industry conferences and/or produce videos which provide an introduction to various graphics development concepts.
These links to YouTube videos normally provide an opportunity to download the slides shown as well – usually in the YouTube description.
Compute Shaders – Game Industry Conference 2021
This talk introduces compute shaders, explaining ideas from a software and hardware perspective, as well as considerations when writing compute shaders.
Efficient Use of GPU Memory in Modern Games – Digital Dragons 2021
This Digital Dragons 2021 talk presents the current state of access to memory resources through the DirectX® 12 and Vulkan® APIs.
All the Pipelines – Journey through the GPU
This presentation by one of our engineers at GIC 2020 provides an introduction to the graphics pipeline.
From Source to ISA: A Trip Down the Shader Compiler Pipeline – YouTube link
This video will take you from the original source code down to the RDNA ISA. It covers control-flow, bindless resource access and scalarization, along with DXC, instruction selection, scheduling, and register allocation for the RDNA instruction set.
Sometimes events aren’t recorded, but we can still share the slides from the presentation with you. The slide deck below is great for those just getting started with games development.
Make Your Game Friendly for Graphics Debugging and Optimization - Digital Dragons 2019
Adam Sawicki talks you through the various ways you can make your game easier to debug and optimize. Covering topics such as hidden front end menu screens, developer game builds, debug and validation layers, using tools, and much more, this presentation is essential for new game devs.
If you’re just after information on our AMD RDNA™ architecture, this is the place to start:
AMD RDNA™ Architecture
Produced by our engineers, this guide is an approachable walk through how AMD RDNA GPUs work, with some helpful advice along the way!
Make sure you visit our “Developing for” Vulkan® and DirectX®12 pages, as there are some excellent presentations linked there for both beginners and more experienced developers.
AMD developer documentation
We’ve written many useful guides on various AMD-specific development concepts, as well as information on more general principles.
How to get the most out of Smart Access Memory (SAM)
Smart Access Memory (SAM) provides the CPU with direct access to all video memory. These guidelines help you to improve CPU and GPU performance using SAM.
Using AMD FreeSync™ Premium Pro HDR: Color Spaces
The first in a series of four tutorials related to AMD Freesync™ Premium Pro HDR. This tutorial covers terminology related to color.
Understanding GPU context rolls
Learn what a context roll on our GPUs is, how they apply to the pipeline and how they’re managed, and what you can do to analyse them and find out if they’re a limiting factor in the performance of your game or application.
First Steps When Implementing FP16
Half-precision (FP16) computation is a performance-enhancing GPU technology long exploited in console and mobile devices not previously used or widely available in mainstream PC development.
CPU Core Count Detection on Windows®
Due to architectural differences between Zen and our previous processor architecture, Bulldozer, developers need to take care when using the Windows® APIs for processor and core enumeration.
Selecting the Best Graphics Device to Run a 3D Intensive Application
3D intensive application performance may suffer greatly if the best graphics device is not selected. As a developer you can easily fix this problem by adding only one line to your executable’s source code.
AMD Driver Symbol Server
How to set up the AMD Driver Symbol Server in Visual Studio.
Getting the Most Out of Delta Color Compression
DCC is a domain-specific compression that tries to take advantage of data coherence. It’s lossless, and adapted for 3D rendering. The key idea is to process whole blocks instead of individual pixels.
Vulkan® and DirectX®
We have dedicated pages for both low-level APIs, where you can find appropriate documentation, videos, samples, and links to relevant tools. These pages are suitable for both beginners and experienced developers. Head over there now if it’s programming help you’re after!
Developing Vulkan® applications
Discover our Vulkan blog posts, presentations, samples, and more. Find out how we can help you create and optimize your Vulkan applications!
Developing DirectX® applications
Developing with DirectX? This page shares our DirectX blog posts, presentations, samples, and more. Let us help you create and optimize your DirectX applications!
Improving performance
Guides
Our regularly-updated performance guides are a great place to start whether you’re looking for easy wins, or final tweaks.
AMD Ryzen CPU Performance Guide
Design faster. Render faster. Iterate faster. Our one-stop resource for getting great AMD Ryzen performance.
Videos and presentations
Watch these presentations by our engineers who give excellent advice on optimizing for AMD CPUs and GPUs.
AMD Ryzen™ Processor Software Optimization (GDC 2022) – YouTube link
Join AMD for an introduction to the AMD Ryzen™ family of processors which power today’s game consoles and PCs.
Optimizing for the Radeon™ RDNA Architecture (Let’s build 2020) – YouTube link
Learn about the details of RDNA and how it differs from the previous GCN architecture. Includes examples of optimizations based on the case study of implementing an efficient downsampler. Covers topics such as characteristics of workload distribution, shader optimizations, and efficient texture access.
These slide decks are also fantastic for those looking to understand the basics of analysis and optimization.
Surfing the Wave(front)s with Radeon GPU Profiler - GDC 2019
Dominik Baumeister shows you how to use RGP to identify problems relating to barriers, async, and compression, explains the underlying issues, and tells you how to fix them!
Blogs
These are just some of our detailed performance-related blogs available here on GPUOpen. Find more on our developer guides page.
Reducing Vulkan® API call overhead
This guest post, by Arseny Kapoulkine from Roblox, looks at the costs associated with calling various Vulkan functions tens or hundreds of thousands of times per frame, and ways to bring them down.
Optimizing GPU occupancy and resource usage with large thread groups
Sebastian Aaltonen, co-founder of Second Order Ltd, talks about how to optimize GPU occupancy and resource usage of compute shaders that use large thread groups.
Fetching From Cubes and Octahedrons
For GPU-side dynamically generated data structures which need 3D spherical mappings, two of the most useful mappings are cubemaps and octahedral maps. This post explores the overhead of both mappings.
Maxing Out GPU usage in nBodyGravity
Asynchronous compute can help you to get the maximum GPU usage. I’ll be explaining the details based on the nBodyGravity sample from Microsoft.
Game engines - Unreal Engine and Unity
Plugins and patches
We provide support for both engines with plugins and patches. These include FidelityFX Super Resolution for both, and for Unreal we have a wide range of both performance and feature (primarily effects) patches you can apply to your UE build to use.
We have dedicated pages for both engines, where you can find these:
Unity
Develop for Unity® on AMD hardware with our FidelityFX™ Super Resolution patch for URP and built-in support for HDRP.
Unreal Engine
Develop for Unreal Engine on AMD hardware with our plugin, performance and feature patches, including FidelityFX support.
Blogs
We have shared a lot of detailed information on how to make use of the plugins we provide, as well as useful tips on performance, including our extremely popular Unreal Engine performance guide!
AMD FidelityFX Super Resolution 3 Unreal Engine plugin guide
Our AMD FidelityFX Super Resolution (FSR) 3 plugin guide for Unreal Engine guides you the installation and configuration process.
AMD FSR 2 UE plugin enhancements part 1: Intro & improving foliage appearance using the base pass
Discover one of several ways to improve upscaled foliage appearance in the first of this five part blog series on getting the most out of our FSR 2.1 Unreal Engine plugin.
AMD FSR 2 UE plugin enhancements part 2: Improving foliage appearance via content changes
Learn which content changes you can make in the Unreal Engine editor to improve the appearance of upscaled foliage.
AMD FSR 2 UE plugin enhancements part 3: Improving foliage appearance with the ImproveStaticWPO patch
Find out how to apply one of our supplied Unreal Engine patches to improve upscaled foliage appearance with our FSR 2.1 plugin.
AMD FSR 2 UE plugin enhancements part 4: Making a specific shading model write to the reactive mask
See ways you can improve suboptimal FSR 2 results caused by animated materials obscured by a fine mesh or grill with no motion vectors.
AMD FSR 2 UE plugin enhancements part 5: Making materials reactive: Applying the LitReactiveShadingModel patch
This final part demonstrates how to apply the LitReativeShadingModel patch which adds a new Lit Reactive shading model.
Guest blog by EBB Software: Integrating AMD FidelityFX™ Super Resolution 2 (FSR 2) into Scorn
In this guest post by EBB Software, learn how they integrated our FSR 2.1 plugin for Unreal Engine into their first title: Scorn
How to use AMD FidelityFX™ Super Resolution (FSR) 1.0 Unreal Engine 4 Plugin
Find out how to install and configure the AMD FidelityFX Super Resolution (FSR) 1.0 plugin for Unreal Engine 4.
How to use the AMD FidelityFX™ Super Resolution 2 (FSR 2) Unreal Engine plugin
Find out how to install and configure the AMD FidelityFX Super Resolution (FSR) 2 plugin for Unreal Engine 4.26/4.27 and UE5.
TressFX 5.0 arrives as a patch for Unreal Engine
UE4 TressFX 5.0 has been designed to build upon the many features of UE4 TressFX 4.1, while being much easier to use. Find out what’s new!
Unreal Engine performance guide
Our one-stop guide to performance with Unreal Engine.
Using Ryzen™ Threadripper for Game Development – optimising UE4 build times
Guest post by Sebastian Aaltonen, co-founder of Second Order. It covers optimising building the engine and asset production when using AMD Ryzen Threadripper processors.
Explore GPUOpen!
This page is only the beginning. There are hundreds of pages on GPUOpen we haven’t linked to here.
You can use the menu at the top to explore further, or take a look at some starting points for further reading below:
Getting started: Our software
New or fairly new to AMD’s tools, libraries, and effects? This is the best place to get started on GPUOpen!
Latest news and updates for games and graphics developers from AMD’s GPUOpen.
Don’t miss our manual documentation! And if slide decks are what you’re after, you’ll find 100+ of our finest presentations here.
Explore our huge collection of detailed tutorials, sample code, presentations, and documentation to find answers to your graphics development questions.
Come see us in person! Or the next best thing – enjoy our large library of presentations from various developer events.
Words not enough? How about pictures? How about moving pictures? We have some amazing videos to share with you!
Discover our published publications.