Важная информация

User Tag List

Страница 4 из 4 ПерваяПервая 1234
Показано с 31 по 35 из 35

Тема: Аппаратная эмуляция GS/TFM/AY

  1. #31
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,406
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Да неужели? Мы говорим о разных вещах? Какие такие характеристики не мяет рилтайм? А вы пробовали ЧТО-НИБУДЬ КОГДА-НИБУДЬ запустить в РИЛ-ТАЙМ приоритете?
    пробовать то пробовал, но толку от него ноль. И вообще если нет четкого понимания к чему приводит изменение приоритета, то его лучше вообще не менять. Приоритет в Win XP изменяет очередность выполнения потоков, но не меняет время переключения.

    устанавливать повышенный приоритет для потока который жрет много процессорного времени вообще глупость редкая.

    а подвисает все остальное у вас потому что все остальное имеет другой приоритет, т.е. другие потоки стоят в другой очереди, которая не будет выполнятся до тех пор пока в более высокоприоритетной очереди есть активные потоки.

    На самом деле, скажу по секрету, низкоприоритетные очереди всетаки будут выполнятся, даже если очередь с более высоким приоритетом не пустует. Происходить это начнет через 5-10 секунд отсутствия процессорного времени у низкоприоритетных потоков. времени они будут получать совсем мало - крохи, но чтото достанется
    Последний раз редактировалось ZXMAK; 02.05.2008 в 09:02.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

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

  3. #32
    Master Аватар для Vladimir Kladov
    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    если нет четкого понимания
    У меня есть чёткое понимание. Если нет понимания, есть MSDN.
    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    подвисает все остальное у вас
    У нас ничего не подвисает. Просто если программа изначально не предусматривает отдачу остаков своих слайсов вызовом Sleep и большую часть времени не ждёт ввода-вывода, каких-нибудь событий, то система отдаст ей всё время. Максимум для чего система прервёт рил-таймовую программу - если оживёт драйвер важного устройства типа хдд или таймера, и то при отсутствии других задач с таким же приоритетом опять отдаст сразу управление этой программе. Но вот тут как раз и ответ. Если программа постоянно ждёт события от драйвера порта, то ей вполне можно дать самый большой приоритет, и ничего она не завесит, зато свою задачу выполнит великолепно.
    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    низкоприоритетные очереди всетаки будут выполнятся, даже если очередь с более высоким приоритетом не пустует.
    Ну-ну. И нажатие на клавишу альт-таб где-то минут за 20 будет обработано. (После чего обнаружится, что то окно, в которое мы таким макаром попали, ещё минут 10 перерисовывается). Видал я и такое Если нет понимания, то кнопка ресет только и поможет.
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  4. #33
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,406
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    У меня есть чёткое понимание. Если нет понимания, есть MSDN.
    могу вас огорчить, в MSDN эта тема не раскрывается.


    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    У нас ничего не подвисает. Просто если программа изначально не предусматривает отдачу остаков своих слайсов вызовом Sleep и большую часть времени не ждёт ввода-вывода, каких-нибудь событий, то система отдаст ей всё время.
    и тут ошибочка, даже такому жадному потоку win xp даст проработать непрерывно не более 130 мс.

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Максимум для чего система прервёт рил-таймовую программу - если оживёт драйвер важного устройства типа хдд или таймера,
    нет, win xp прервет любой поток, с любым приоритетом. Прервет и отдаст другому потоку из очереди с такимже приоритетом.

    Ключевое заблуждение в этом вопросе, в том, что якобы "реалтайм" приоритет делает поток realtime. Это не так Windows не является системой реального времени и потому не гарантирует время реакции на событие, вне зависимости от приоритета потока.

    Повышением приоритета до реалтайм в виндовс вы только ухудшите время реакции.

    Еще раз подчеркну - приоритет потока в Windows не влияет на время реакции, т.е. на скорость переключения потоков. Т.е. не выполняется главное требование для realtime системы. Повышение приоритета влияет только на очередность получения потоками процессорного времени. Сами интервалы работы планировщика не меняются. На quantum приоритет не влияет.

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Но вот тут как раз и ответ. Если программа постоянно ждёт события от драйвера порта, то ей вполне можно дать самый большой приоритет, и ничего она не завесит, зато свою задачу выполнит великолепно.
    глупости, повышением приоритета скорость реакции увеличить не получится, зато тормознутость системы в целом увеличится очень значительно.

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Ну-ну. И нажатие на клавишу альт-таб где-то минут за 20 будет обработано. (После чего обнаружится, что то окно, в которое мы таким макаром попали, ещё минут 10 перерисовывается). Видал я и такое Если нет понимания, то кнопка ресет только и поможет.
    [/QUOTE]

    таск менеджер работает с нормальным приоритетом, т.к. расчитан на то что в системе запускаются быстрые и корректные приложения (т.е. с нормальным приоритетом).
    Последний раз редактировалось ZXMAK; 02.05.2008 в 21:17.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  5. #34
    Master Аватар для Vladimir Kladov
    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    могу вас огорчить, в MSDN эта тема не раскрывается.
    Я жутко огорчён. Набираю Sleep, и нахожу всё, что нужно. В том числе ссылочку на стью Scheduling Priorities. Да, они договаривают. Но есть ведь и ещё и опыт.

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    даже такому жадному потоку win xp даст проработать непрерывно не более 130 мс.
    Я фигею. И больше не запустит? Не говоря уже о timeBeginPeriod, действующем глобально на все программы.
    Почему же тогда если дать тако приоритет какой-нибудь левой программе, то всё вешается навсегда?
    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    Прервет и отдаст другому потоку из очереди с такимже приоритетом.
    О. Другому потоку с таким же приоритетом. Если вам после запуска первой программы (хорошо,если у неё только один поток, а то система так и будет перекидывать мячик между её потоками, а про всё прочее забудет и думать, встречал и такое)... так вот если вам после запуска первой проги с рил-тайм приоритетом удастся запустить вторую, то тут уже точно придётся искать, где же кнопка ресет.

    А чего вы собственно на меня набросились? Я что ли защищаю винду, или утверждаю, что в ней нормальная обработка рил-тайма? Я такого не говорил. Я асолютно т очно знаю, что это не так. Но я сообщая, что для сабжевых целей, если аккуратно, то можно заюзать рил-тайм, и всё будет нормуль. Кина, правда, в параллельном потоке уже не посмотришь, но заявленный функционал работать будет, и с задержкой менее 1 мс.

    Добавлено через 24 секунды
    Последний раз редактировалось Vladimir Kladov; 03.05.2008 в 19:31. Причина: ушло 2 раза, пополам его
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  6. #35
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,406
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Я жутко огорчён. Набираю Sleep, и нахожу всё, что нужно. В том числе ссылочку на стью Scheduling Priorities. Да, они договаривают. Но есть ведь и ещё и опыт.
    вот после msdnа многие люди и пребывают в заблуждении, что Sleep(1) отдаст процессорное время на 1 мс...

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Я фигею. И больше не запустит? Не говоря уже о timeBeginPeriod, действующем глобально на все программы.
    Почему же тогда если дать тако приоритет какой-нибудь левой программе, то всё вешается навсегда?
    У меня задачи писать проги которые не вешаются, проги которые вешают комп я пользовать не стану. Поэтому и приоритет REALTIME я использовать не стану, как бы вы меня не уговаривали

    Если вам нужно реализовать реакцию в 20 мс, то приоритет REALTIME вам никак не поможет. Это можно сделать только модифицировав ядро Windows... Сделав из Windows realtime систему. Realtime приоритет не делает из Windows realtime систему. Время реакции у потока с realtime приоритетом кстати увеличится Это просто неудачное название для приоритета
    Последний раз редактировалось ZXMAK; 03.05.2008 в 23:40.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

Страница 4 из 4 ПерваяПервая 1234

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

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

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

Похожие темы

  1. Эмуляция Sprinter'а
    от breeze в разделе Эмуляторы
    Ответов: 7
    Последнее: 28.03.2008, 23:08
  2. Эмуляция инструкции IM 0/1
    от DZh в разделе Эмуляторы
    Ответов: 1
    Последнее: 09.03.2008, 09:20
  3. Аппаратная трассировка
    от Sonic в разделе Несортированное железо
    Ответов: 6
    Последнее: 25.11.2006, 11:36
  4. Эмуляция и только
    от CityAceE в разделе Эмуляция ZX Spectrum'а
    Ответов: 0
    Последнее: 13.01.2005, 15:20

Ваши права

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