User Tag List

Страница 17 из 24 ПерваяПервая ... 131415161718192021 ... ПоследняяПоследняя
Показано с 161 по 170 из 234

Тема: Новый эмулятор ZX Spectrum - Спектрамин

  1. #161

    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    ос тут ни при чём.
    Обработка прерывания в ОС это тоже целая история, тот же VSync от видеокарты, если ОС находилась в ядре, это одно время реакции, в юзер процессе - другое, потом она кинет сигнал в какую то очередь ядра, дальше какой то Poll цикл заметит его и либо пошлет сообщение процессу, либо разблокирует ожидающий процесс, а это опять же зависит, сколько процессов ждало что то, сколько хотело отреагировать а это событие,
    а мож SSD задумалось, блоки переставлял в этот момент и не отпускало критическую задачу ядра, по свапу страниц памяти (а мы же знаем, что этот процесс происходит даже при 90% свободной памяти)
    Может кеш вытеснили, может память в булк регенерации была, может отработали самые высоко приоритетные события подсистемы питания (аля выключили парочку бездевствующих ядер или включили)

    В общем тыщу если

  2. #162

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от s_kosorev Посмотреть сообщение
    Обработка прерывания в ОС это тоже целая история, тот же VSync от видеокарты, если ОС находилась в ядре, это одно время реакции, в юзер процессе - другое, потом она кинет сигнал в какую то очередь ядра, дальше какой то Poll цикл заметит его и либо пошлет сообщение процессу, либо разблокирует ожидающий процесс, а это опять же зависит, сколько процессов ждало что то, сколько хотело отреагировать а это событие,
    на измерение частоты это заметно не влияет, т.к. измеряется среднее значение за длительные промежуток. Те задержки о которых Вы говорите, они могут создать джиттер для измерения одного фрейма, но на измерение средней частоты это не повлияет. Точно также как джиттер не влияет на результат измерения частотомера. Хотя на спектроанализаторе видны эти случайные отклонения.
    Последний раз редактировалось ZXMAK; 13.05.2019 в 11:15.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  3. #163

    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    DMA инициализирует OC, по системному вызову или в каком то ISR, все нюансы с таймингами, но меньшей степени (где были юзер/ядро), касаюстя и ISR
    И это гораздо большая проблема чем плавающая на 20ppm частота кварца

  4. #164

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Но ошибка там такая маленькая, что это нужно часами сидеть и мониторить её.
    ну это у кого как

  5. #165

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от s_kosorev Посмотреть сообщение
    DMA инициализирует OC, по системному вызову или в каком то ISR, все нюансы с таймингами, но меньшей степени (где были юзер/ядро), касаюстя и ISR
    И это гораздо большая проблема чем плавающая на 20ppm частота кварца
    Эти задержки мало на что влияют (пока они достаточно короткие конечно). Для программы не нужна большая точность.
    Железо инициализируется один раз, дальше всё происходит аппаратно. Программе нужно только периодически пополнять буфер по прерываниям. А вот рассинхронизация за счёт тактирования от разных опорников приведёт к тому, что со временем ошибка между видео и аудиофреймами может накопиться и произойдет потеря одного из фреймов.
    Последний раз редактировалось ZXMAK; 13.05.2019 в 12:06.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #166

    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Железо инициализируется один раз, дальше всё происходит аппаратно.
    Нет желаза! AC97 и иже с ним, софтовые звуковухи, это раньше были, с аппаратными буферами, своими DMA, сейчас такое есть только в проф карточках

    - - - Добавлено - - -

    Самое железное, что сейчас можно взять, это USB верещалки от китайцев

  7. #166
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #167

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от s_kosorev Посмотреть сообщение
    Нет желаза! AC97 и иже с ним, софтовые звуковухи
    железо есть. Windows физически не способна прерываться 192000 раз в секунду на то, чтобы подкинуть следующий байт. Даже 1000 раз в секунду и то будет проблема. Софтовость звуковухи проявляется в том, что вся сигнальная обработка происходит программно. А вывод звука идёт аппаратно. Раньше звуковухи умели сами накладывать цифровые фильтры, микшировать несколько каналов и производить другую обработку звука с помощью DSP. Сейчас это делает винда. А вывод звука из буфера всё также аппаратно происходит, основной процессор в этом не участвует.
    Последний раз редактировалось ZXMAK; 13.05.2019 в 12:20.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  9. #168

    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Windows физически не способна прерываться 192000 раз в секунду на то, чтобы подкинуть следующий байт.
    Но она
    а. способна настроить один из dma каналов, что бы послать порцию (судя по коментам выше на 480 выборок)
    б. протормозить, когда закончилась порция, так как к примеру обрабатывала другое irq, и эти тормоза будут поболее чем погрешность кварца

  10. #169

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от s_kosorev Посмотреть сообщение
    а. способна настроить один из dma каналов, что бы послать порцию (судя по коментам выше на 480 выборок)
    те 480 выборок - это чисто программная фишка. Т.к. аудиопоток от приложения еще микшируется и производится сигнальная обработка системой, прежде чем он попадёт в звуковую карту.


    Цитата Сообщение от s_kosorev Посмотреть сообщение
    б. протормозить, когда закончилась порция, так как к примеру обрабатывала другое irq, и эти тормоза будут поболее чем погрешность кварца
    если система протормозит и не пополнит порцию буфера, то звуковая карта будет по кругу играть то, что ей дали до этого. Эту ситуацию можно наблюдать например во время BSOD'а, когда система перестаёт обновлять звуковой буфер и звуковуха играет последнюю порцию по кругу.
    Последний раз редактировалось ZXMAK; 13.05.2019 в 12:47.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  11. #170

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,392
    Спасибо Благодарностей отдано 
    1,701
    Спасибо Благодарностей получено 
    2,218
    Поблагодарили
    872 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от s_kosorev Посмотреть сообщение
    Самое железное, что сейчас можно взять, это USB верещалки от китайцев
    Вот как раз внешние USB звуковухи и самые проблемные для точной синхронизации. Они - единственные, которые в WASAPI Exclusive не давали точной позиции воспроизведения.

Страница 17 из 24 ПерваяПервая ... 131415161718192021 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Новый эмулятор на Javascript (jVGS)
    от Epsilon в разделе Эмуляторы
    Ответов: 15
    Последнее: 22.01.2018, 13:06
  2. Ответов: 8
    Последнее: 10.03.2016, 10:29
  3. Новый эмулятор ПК-01 ЛЬВОВ.
    от MaratBest в разделе Львов
    Ответов: 10
    Последнее: 17.10.2013, 15:24
  4. Новый глобальный эмулятор!!
    от copperfeet в разделе Эмуляторы
    Ответов: 1
    Последнее: 12.02.2009, 20:54
  5. ZX68 - новый эмулятор Спектрума для PalmOS
    от CityAceE в разделе Эмуляторы
    Ответов: 19
    Последнее: 15.02.2006, 14:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •