оно именно так и получается, когда позиция воспроизведения обновляется слишком редко. При синхронизации от звуковой карты в этом случае получается, например два кадра приходят с нулевой задержкой между ними, а потом третий через 40 мс. Это видно, если записать моменты времени когда обновление приходит. Но я думаю это не совсем из-за того, что USB устройство. Насколько помню, я пробовал ту-же USB звуковую карту на другом компьютере, тоже под linux, и там обновление от драйвера приходило нормально. Вероятно это связано с мощностью процессора или особенностями материнки - сложно сказать.
В линукс можно запрашивать у драйвера требуемую скорость обновления, но в данном случае запрошенный интервал обновления почему-то игнорируется и используется гораздо больший.
- - - Добавлено - - -
речь не совсем об этом. В ZXMAK2 эмуляция, вывод звука, рендеринг, GUI - все в отдельных потоках. Т.е. 4 потока. Обычно в приложениях рендеринг и GUI в одном потоке, в этом случае все просто. В ZXMAK2 рендеринг и GUI в отдельных потоках, поэтому задержки в GUI не влияют ни на рендеринг, ни на эмуляцию. И вот об этом разделении на потоки GUI и рендеринга и идет речь. Заметить это в Windows можно при перетаскивании окна, при подхватывании его за заголовок. Программы с GUI и рендерингом в одном потоке приостанавливают обновление окна на некоторое время (около 1 сек). Эта задержка связана с тем, что винда в это время крутит какие-то свои внутренние циклы.





Ответить с цитированием