[an error occurred while processing this directive]
|
Тут такая вещь...
Ну представте, что у меня на процессоре крутится множество задач для аудиообработки. Причем, одновременно.
Теперь представте, что та на эту систему сыпется огромное количество комманд - допустим, у меня реализован 5-полосный эквалайзер (т.к. сигнал стерео, считайте его 10 полосным). И когда ползунок этого эквалайзера двигается (и это только одна полоса!), то прерывания (команды) подаются в систему чаще, чем пулеметная очередь. Сильно чаще...
Теперь представьте, что отработка команд (или если хотите обработчик прерываний) есть длительная вещь. Например, чтобы не было щелчков, при скачкообразном изменении громкости, сигнал как бы медленно "подтягивается" до уровня скачка...
Теперь представьте, что приоритеты у команд разные. Очевидно, что команда на смену кодека (допустим МР3 на MIDI), выше приоритета комады для интерполятора на смену частоты дискретизации...
К чему это я? А к тому, что поразмыслив над сей задачей, я забил не только на приорететы, но и на сами прерывания. И только после этого все заработало.
Я имею в виду - на аппаратные игры с приоритетами. Софтверные преоритеты я конечно использую. Т.е., как один товарищ написал, "разработал собственный виндовз" :)))
E-mail: info@telesys.ru