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

User Tag List

Страница 140 из 224 ПерваяПервая ... 136137138139140141142143144 ... ПоследняяПоследняя
Показано с 1,391 по 1,400 из 2231

Тема: ZXMAK2 - Виртуальная машина ZX Spectrum

  1. #1391

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

    По умолчанию

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

  2. #1392

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Смысл в том что раз уж берем блокируем поток на холостой цикл, то нужно хотябы поделиться блоками процессора с другими потоками и дать прцессору пооптимизировать свои кэши. Это лучше чем тупо жрать вхолостую ресурсы
    Я не понимаю зачем ты блокируешь поток на холостой цикл?

  3. #1393

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    На XP с одним ядром если в реалтайм приоритете ты не отдашь управление системе, то комп железно зависнет (замрет экран, мышка и т.д.) и до ресета.

    Если explorer завис это не значит что система поток себе не берет. Еще как берет. Себя она на уровне ядра никогда не обделит
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #1394

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Кстати если процесс сам себе приоритет ставит, то это очень плохо. Во первых пермиссии может не быть. Во вторых мы мешаем системе и юзеру управлять приоритетами процессов.
    В тесте к эмулятору есть код который рилтайм ставит и этот код валится под линуксом из-за отсутствия пермиссии
    Это нормально, если иного способа гарантированно отобрать процессорное время на заднное время нет.

    Про линукс ничего не знаю, там нужны, очевидно, другие методы.

  5. #1395

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Я не понимаю зачем ты блокируешь поток на холостой цикл?
    Это не холостой цикл. Это аналог nop'а, только он дает процессору возможность использовать это время с пользой. В итоге операции на которые процессор бы всеравно потратил время позже, выполняются раньше, а мы не теряем поток.

    ---------- Post added at 23:13 ---------- Previous post was at 23:09 ----------

    Цитата Сообщение от Titus Посмотреть сообщение
    Это нормально, если иного способа гарантированно отобрать процессорное время на заднное время нет.

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

  6. #1396

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Это очень плохо, более того, если процесс сам пытается запрввлять своим приоритетом, то есть серьезный повод отказаться от использования такого процесса. Процесс может упрввлять только приоритетами своих потоков.
    Для системы не реального времени (Windows) приходится идти на ухищирения, чтобы реализовать те фичи, которые она кошерными методами не предоставляет.

    ---------- Post added at 00:17 ---------- Previous post was at 00:16 ----------

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Это не холостой цикл. Это аналог nop'а, только он дает процессору возможность использовать это время с пользой. В итоге операции на которые процессор бы всеравно потратил время позже, выполняются раньше, а мы не теряем поток.
    Я понимаю, что это nop, холостой цикл и т.д.) Смысле его у тебя в эмуляторе какой?

    Ты же в этом nop'e не можешь ничего делать. Не можешь задать nop на определенное время. Просто nop неопределенной длительности и ничего не делающий. Зачем?

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

  8. #1397

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

    По умолчанию

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

    Цитата Сообщение от Titus Посмотреть сообщение
    Я понимаю, что это nop, холостой цикл и т.д.) Смысле его у тебя в эмуляторе какой?

    Ты же в этом nop'e не можешь ничего делать. Не можешь задать nop на определенное время. Просто nop неопределенной длительности и ничего не делающий. Зачем?
    В том-то и дело что это не nop, а специальный вызов который дает процессору понять что мой поток ничего не делает, а только ждет событи которое должно наступить раньше чем квант времени на переключение задач, поэтому отдать процессор другой задаче я сейчас не могу, но и ближайшие несколько тактов делать точно ничего не буду.
    Процессор получает возможность использовать эти такты для выполнения задач по оптимизации, которые у него накопились или заюзать блоки моего ядра для более быстрого выполнения инструкций другим потоком, ну или на худой конец отключить часть блоков чтобы снизить потребление тока. Задать число таких тактов какраз можно. Только проблема в том что вычислить их проблематично, т.к. частота современных процессоров динамически меняется.
    А если просто цикл крутить или nop выполнять, то это может помешать другим потокам выполниться более быстро, заблокирует процессору возможность обновить на этих тактах ячейки кэша и т.п.
    Последний раз редактировалось ZXMAK; 16.01.2015 в 06:12.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  9. #1398

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Last Ninja Remix 2 на Скорпе с ПрофПЗУ после входа в монитор по NMI и выхода кажет черный экран. Потому что включена вторая экранная область. Сдается мне, проблема в чтении 1ffd и 7ffd. Или в ПрофПЗУ Игра 48-я, но при сохранении образа памяти ПрофПЗУ пишутся 256 Кб. Unreal ведет себя так же. По мотивам этой темы.

  10. #1399

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    если задача требует того чтобы забрать процессор в эксклюзивное пользование на длительное время, то задача плохая ее нужно переделать, чтобы она получала кванты времени именно тогда когда нужно, в этом и весь смысл этой борьбы. Тем более если это длительное время будет использовано для холостого цикла
    Как раз не на длительное время, а на короткие отрезки времени.
    Моя цель в том, чтобы нужное время для эмуляции процессор гарантированно получил, выполнил всю работу а остальное время отдал системе. Если же приоритет на время выполнения необходимых эмуляторных задач будет недостаточный, то любая фоновая активность заставит твой (или мой, или любой другой эмулятор) заикаться в звуке или кадрах.

    ---------- Post added at 13:34 ---------- Previous post was at 13:32 ----------

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    а только ждет событи которое должно наступить раньше чем квант времени на переключение задач, поэтому отдать процессор другой задаче я сейчас не могу, но и ближайшие несколько тактов делать точно ничего не буду.
    Теперь я понял) Ты ждешь события. Что за событие?
    Разве события могут приходить чаще, чем раз в квант (1мс?). Когда я экспериментировал с событиями от звукового буфера, они приходили именно так, с дискретностью в квант. А иной раз задерживались и приходили скопом по несколько штук даже.

  11. #1400

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    я именно на ffmpeg и сделал, с помощью AForge.Video прикручивание заняло минут 15-20, включая загрузку библиотек
    А, а то у меня от всех этих разговоров о графах показалось, что DirectShow. Сразу попытался вспомнить, где там счас кодеки берут
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

Страница 140 из 224 ПерваяПервая ... 136137138139140141142143144 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 7
    Последнее: 06.04.2012, 21:37
  2. Машина Тьюринга для Z80
    от ZXMAK в разделе Эмуляторы
    Ответов: 4
    Последнее: 15.08.2011, 03:26
  3. Продвинутая Мелко Машина 1
    от Black_Cat в разделе Зарубежные компьютеры
    Ответов: 74
    Последнее: 03.03.2009, 09:05
  4. Что за машина такая??? Commodore 128...
    от ILoveSpeccy в разделе Commodore 16/64/128
    Ответов: 5
    Последнее: 31.10.2007, 10:25
  5. Java-машина
    от Error404 в разделе Программирование
    Ответов: 2
    Последнее: 15.01.2007, 15:11

Ваши права

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