Специально сходил в винду, запустил unreal 0.37.3, скачал Zemu (зачем ему ruby-full?) и послушал начало rage. Мой быстрее unreala, zemu - наоборот, медленней.
Синхронизация по звуку: как это в SDL малой кровью сделать, понятно - callback будет вместо таймера. А вот как в oss/alsa, учитывая, что у меня всё-таки нагорожено в Qt и всё крутится в QApplication::exec() как бы без моего участия?
Голубая мечта переписать всё заново имеется...
PS: На таймер грешить не надо. Тестовая прога - делается QTimer на 20мс, по его сигналу вызывается слот обьекта, внутри которого отсчитывается число срабатываний и на энное выдаётся сигнал к завершению QApplication. На минутном (3000 срабатываний) прогоне:
Код:
real 1m0.037s
user 0m2.264s
sys 0m0.568s