The Job System in 'Cyberpunk 2077': Scaling Night City on the CPU
GDC 2024 Speaker: David Block Company: CD Projekt RED Format: Programming This talk covers the evolution of REDengine 4's thread-based job system: its API, internal implementation details, and our overall efforts to achieve greater parallelism. The final design was the result of many iterations and stages of feedback while the game was under development. The final approach chosen resulted in nearly all engine and gameplay systems taking advantage of multiple cores, which helped toward reaching our performance goals. Particular topics include solutions for a thread-based approach using counters for interjob dependencies, debugging and profiling, practical philosophy towards CPU resource sharing, integration with other systems, and overall approaches to the composability of jobs.
GDC 2024 Speaker: David Block Company: CD Projekt RED Format: Programming This talk covers the evolution of REDengine 4's thread-based job system: its API, internal implementation details, and our overall efforts to achieve greater parallelism. The final design was the result of many iterations and stages of feedback while the game was under development. The final approach chosen resulted in nearly all engine and gameplay systems taking advantage of multiple cores, which helped toward reaching our performance goals. Particular topics include solutions for a thread-based approach using counters for interjob dependencies, debugging and profiling, practical philosophy towards CPU resource sharing, integration with other systems, and overall approaches to the composability of jobs.