Цитата Сообщение от Pyk Посмотреть сообщение
До конца не разобрался
Ещёб. Даже мне приходится прибегать к помощи средств вижуалстудии, чтобы разобраться в той каше, что наворочена за всё это время.
У меня не получается сделать такой цикл. Тот, что используется сейчас мне не нравится, я давно хочу изменить его, но как бы я ни ухищрялся, что бы ни придумывал, всё равно в конце-концов прихожу к тому, с чего начал. К этому же виду цикла.
Звуковые буферы заполняются на лету с заданной частотой дискретизации звука во время исполнения фрейма. Потом по мере заполнения буфера, он отправляется на звучание. Если сделать звуковой буфер длиной 40мс, то при работе эмулятора получается чудовищное отставание звука в 40мс. Даже отставание в 20мс заметно. Поэтому всю работу с выводом звука на устройство я взял из BKBTL, с небольшой модификацией. Дополнительно фрейм разбивается ещё на 4 части. Т.е. звуковой фрейм на самом деле ещё в 4 раза меньше процессорного.


Lethargeek, а напишите какой-нибудь тестовый проект, который покажет преимущества вашего метода. Просто окошко с кнопками старт/стоп, цикл выполнения фреймов, и заглушку процессора в виде конечного автомата, каждый этап которого - одна команда с каким-либо временем исполнения, который будет просто фиксировать наличие/отсутствие факта нажатия на клавиатуру в какой-нибудь расшаренной переменной и визуализировать это каким-нибудь значком рядом с кнопками старт/стоп.
Возни будет много, результат - не определён.