Game Developers Conference (GDC) is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

How to Write an Asynchronous Multithreaded Audio Engine

Guy Somberg  (Lead Gameplay Engineer, Echtra Games)

Location: Room 2014, West Hall

Date: Thursday, March 20

Time: 11:00 am - 12:00 pm

Pass Type: All Access Pass, Core Pass, Audio Pass - Get your pass now!

Track: Audio, Programming

Format: Lecture

Vault Recording: Video

Audience Level: Intermediate

Game audio engines - usually built on top of middleware like FMOD Studio, Audiokinetic Wwise, CRI ADX2, or Unreal Metasounds - typically have a core loop that tracks and updates playing sounds. Guy will present his classic state machine that manages the life cycle of a playing sound, then update it to match his current thinking. After that, Guy will present two important observations, called "steady state" and "fire and forget", which will allow us to take a step back and rethink the foundations of these audio engines at the level just above the middleware. The consequences of these observations will lead us to reorganize the core loop into an asynchronous and multithreaded system, without sacrificing latency. There will be code examples showing how and why the system works.

Takeaway

Attendees will learn how to transform their audio engine code to be higher performance by making it asynchronous and multi-threaded, without sacrificing latency. Code examples will be provided that explain how and why they work.

Intended Audience

This talk is intended for game audio programmers, people who are working on game audio engines, and anybody interested in high performance audio code.



Connecting the Global Game Development Community