Прямой вызов
playSound() блокирует меню, пока аудиодвижок загружает ресурс. Два врага, задетые одной атакой, запускают звук дважды и удваивают громкость. Запросы из потоков приходят вместе, хотя для аудио выделен свой поток.С очередью система оставляет запрос и продолжает работу. Аудиодвижок забирает его позже, сводит звуки, расставляет приоритеты и выполняет работу в своём потоке. Кадр не ждёт загрузки, а аудиосистема выбирает момент обработки.
Очередь нужна для разделения отправки и обработки во времени. Если требуется лишь скрыть получателя, Observer или Command проще. Центральная очередь остаётся глобальной, а отправитель не получает немедленного ответа. В главе Game Programming Patterns паттерн разбирают на аудиосистеме и показывают его архитектурную цену.