For years, baking lightmaps has been a necessary but time-consuming part of game development. Pre-calculating lighting information improves performance in-game, but consumes on-premises computing resources, tying up artists' workstations or valuable network machines for minutes – if not hours – at a time.
But now, thanks to the power of cloud computing, studios working with Unreal Engine can finally escape those production bottlenecks. Using Unreal Swarm, Unreal's native task distribution system, developers can 'burst' computationally intensive tasks to the cloud, harnessing the huge vCPU counts and memory capacities of AMD-powered Amazon Elastic Compute Cloud (Amazon C5a) instances to slash lightmap baking times.
Cloud computing finally ends the pain of baking lightmaps
Lightmass, Unreal Engine's static GI solver, generates texture maps representing the way that surfaces of objects respond to light, encapsulating complex phenomena like area shadowing and diffuse interreflection.
Baking complex lighting effects in this way, rather than calculating them on the fly, improves performance in-game, but consumes computing resources, potentially tying up an artist's workstation for hours at a time. Worse still, the process has to be repeated many times during development as artists iterate on the lighting design for a level, with each major change calling for a new set of lightmaps.
To reduce the impact on workflow, studios often turn to Unreal Swarm. Unreal's native task distribution system lets users run computationally expensive applications like Lightmass across multiple machines, cutting processing times. A Swarm farm consists of two types of machines: the Swarm Coordinator, which distributes tasks, and a network of Swarm Agents, which actually carry out the work.
Running Unreal Swarm on a local network shares the pain of lightmap baking, but doesn't remove it entirely. Baking times are limited by the number of machines available on-premises, and co-opting a workstation as a Swarm Agent is an inefficient use of computing resources, since Swarm performs lighting calculations only on the machine's CPU, leaving its GPU sitting idle.
Thankfully, there is a solution: cloud computing. By using CPU-based virtual machines as Swarm Agents, studios can save their physical workstations for tasks to which they are better suited. And through powerful, cost-efficient options like AMD-powered Amazon EC2 C5a instances, they can call upon dozens, or even hundreds, of CPU cores in the cloud on demand – all for as little as a few dollars per day.
AMD-based Amazon EC2 instances: a powerful, cost-effective solution for game development
Available in eight configurations to suit all types of compute-intensive workloads, EC2 C5a instances use custom second-generation AMD EPYC™ 7002 processors running at clock speeds of up to 3.3GHz. Providing up to 96 vCPUs, up to 192GiB of memory, and up to 20Gbps of network bandwidth, C5a instances offer the lowest cost per x86 CPU in the EC2 portfolio for Amazon: 10% lower than comparable Intel-based instances. (1)
For graphically intensive tasks, separate EC2 G4ad instances bring the power of both the AMD RDNA™ and “Zen 2” processor architectures to the cloud, with second-generation EPYC processors – themselves providing up to 64 vCPUs and 256GB of memory – complemented by AMD Radeon™ PRO V520 GPUs.
Together, the two types of instances help game developers manage the entire lightmap baking process online, by using a G4ad instance as a virtual workstation on which to make lighting changes inside the Unreal Editor, and to host the Unreal Swarm Coordinator, and a network of C5a instances to act as Swarm Agents.
Virtual Swarm farms bake lightmaps over 4x faster than on-premises workstations (2)
The high vCPU counts of C5a instances make them ideal for highly multi-threaded tasks like baking lighting.
Having the cloud workstation, applications and C5a instances for acceleration within the same AWS environment, meant much greater bandwidth efficiencies which resulted in improved workflow productivity.
AWS pricing is costed by the hour, so a recommendation is to batch lightmap jobs for even greater cost efficiencies. For example, the rental of 10x EC2 instances for an hour cost just $52.24*, during which time it would have been possible to bake lightmaps for 20 variant lighting set-ups: a highly affordable $2.61 per bake.
*Pricing based on EC2 C5a instance, $5.223 per hour, Ireland region - 4 February 2022
Cloud computing: ending decades-old bottlenecks in game development
Used with Unreal Swarm, AMD-powered Amazon EC2 C5a and G4ad instances remove decades-old production bottlenecks in lighting design for games. Being able to harness hundreds of vCPUs on demand cuts lightmap baking times, enabling artists to iterate faster on lighting set-ups, while moving the process to the cloud avoids the need to tie up on-premises workstations, leaving staff temporarily unable to work.
And while Unreal Swarm is traditionally used with Lightmass, the application itself is task-agnostic, opening up the possibility of new cloud-based workflows for computationally expensive tasks when Unreal Engine 5, the new version of the game engine, is released later this year. Speed, efficiency, and versatility: just three of the reasons why cloud computing is quickly becoming the workflow of choice for savvy game developers.
George Watkins is a Product Marketing Manager for AMD. His postings are his own opinions and may not represent AMD’s positions, strategies or opinions. Links to third party sites are provided for convenience and unless explicitly stated, AMD is not responsible for the contents of such linked sites and no endorsement is implied. Third party marks are for informational purposes only and no endorsement of or by AMD is intended or implied.
2 Testing conducted by AMD Performance Labs as of 17/02/2022 on live AWS Cloud VM G4ad 4xlarge using AWS customized graphics driver version Radeon-Pro-Software-for-Enterprise-20.10.25.04, with Windows® Server 2019 and 10x C5a instances as slave machines for the workload build. Local machine used was Whitebox desktop workstation, with AMD Ryzen 7 5800x CPU 16core, 64 GiB memory and AMD Radeon PROTM WX5700 w/ 8GB VRAM. Application used was Unreal Engine® Editor 4 and Unreal Swarm® software using “ShooterGame” sample from Unreal on both desktop and VM machines. All test results drawn from composite, average, AMD internal test sequence scores over 3 runs. Performance may vary based on use of latest drivers. Cloud performance results presented are based on the test date in the configuration and are in alignment with AMD internal bare-metal testing factoring in cloud service provider overhead. Results may vary due to changes to the underlying configuration, and other conditions such as the placement of the VM and its resources, optimizations by the cloud service provider, accessed cloud regions, co-tenants, and the types of other workloads exercised at the same time on the system.