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

User Tag List

Страница 137 из 224 ПерваяПервая ... 133134135136137138139140141 ... ПоследняяПоследняя
Показано с 1,361 по 1,370 из 2231

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

  1. #1361

    Регистрация
    31.10.2005
    Адрес
    Кемерово
    Сообщений
    1,390
    Спасибо Благодарностей отдано 
    119
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Я не знаю чем они отличаются, если есть информация выкладывай вместе с образом пзу, добавлю
    http://zx-pk.ru/showpost.php?p=771519&postcount=117
    http://zx-pk.ru/showpost.php?p=771698&postcount=119

  2. #1362

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

    По умолчанию

    обнаружилось что рилтайм граф не на всех видеокартах рисовался, на лаптопе не рисовался, ломал голову почему, оказалось дело в rhwvalue для transformed color вершин.

    Также заметил интересную особенность, Direct3D девайс запоминает дисплей на котором был создан и если перетянуть окно на другой дисплей с другой частотой, он продолжает обновляться с частотой другого видеоадаптера (на котором был создан). Нашел способ вычислить на каком адаптере сейчас работает эмулятор - его можно найти по имени дисплея, а имя дисплея можно вытянуть из hWnd. Это дает возможность получить частоту дисплея, но нужно еще придумать способ заставить Direct3D применить новую частоту.
    Кстати люди пишут, что если через твики менять частоту дисплея, то DirectX дает неправильную частоту... Так что с этим тоже засада, похоже реальную частоту нужно только замерять...

    Еще интересный факт - по графу теперь стало видно, что на каждой машине синхронизация от звука работает совершенно по разному
    Вторым открытием стало то что Win 7 иногда чегото творит, что в результате кадры успешно и вовремя отправляются, но система их забывает показать, наблюдается обычно если чтото тяжелое начинает ворочаться на уровне ядра (антивирус)

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

  3. #1363

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    девайс запоминает дисплей на котором был создан и если перетянуть окно на другой дисплей с другой частотой, он продолжает обновляться с частотой другого видеоадаптера (на котором был создан).
    а из неприятностей - Full Screen всегда работает на одном экране, даже не на том, на котором создан(
    Profi v3.2 -=- Speccy2010,r2

  4. #1364

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

    По умолчанию

    Зарелизил новую версию: 2.8.3.37808

    Что нового:
    - исправлена ошибка синхронизации потоков;
    - добавлен рилтайм граф, отображающий время между сменой кадров и затраченного времени на обновление и отправку данных на видеокарту и звуковую карту;
    - исправлено измерение fps (теперь для большей точности интервал измерения 1 секунда);
    - исправлена заливка фона для индикатора fps (раньше на некоторых видеокартах его просто не было);
    - исправлена синхронизация XNA4 хоста;
    - исправлен сброс Z80 (USR 46578);
    - исправлен порт IRB у AY8910 для PENTEVO (подвисало при переходе в 48К бейсик);
    - исправлена эмуляция флага только чтение для HDD (теперь операция записи выполняется как положено, но запись на диск не происходит);
    - исправлена обработка ошибок для лучшей совместимости с Linux;
    - добавлена возможность закрыть консоль логов по Ctrl+C/Ctrl+Break;
    - отключена кнопка закрытия у консоли логов, т.к. приводила к мгновенному закрытию эмулятора без сохранения данных (также консоль логов отключена по дефолту в log4net.config);
    - масштабный рефакторинг кода практически завершен, теперь UI полностью отделен от движка, крупные изменения завершены (ну разве что Hardware часть будет вынесена в отдельную или несколько отдельных сборок), изменения теперь будут более точечными;
    - также поменяласть структура имени типа при загрузке/сохранении конфигурации машины (в связи с масштабной сменой структуры);
    - также, если нет конфига машины, то по дефолту теперь открывается конфигурация из machines.config, помеченная аттрибутом isDefault="true"

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

  5. #1365

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

    По умолчанию

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

  6. #1366

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

    По умолчанию

    возился с синхронизацией видео, в конце концов попробовал синхронизацию просто от времени сделать и на ней к моему удивлению эмуль стал работать очень плавно и отзывчиво

    Вот как выглядит граф при синхронизации по времени:


    частота кадров иногда дергается между 50.000 и 50.001, а так стоит как вкопанная

    но к сожалению в этом режиме, также как и в спектакуляторе и unreal, происходит смена четных/нечетных кадров каждые 5-10 секунд. Что заметно в ZXTIME-15... Но плавность скролов и отзывчивость эмулятора с такой синхрой просто обалденная. Вобщем маст хев Буду добавлять синхру по времени (сейчас пока отладочный вариант -кривоватый).
    Последний раз редактировалось ZXMAK; 14.01.2015 в 05:24.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

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

  8. #1367

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

    По умолчанию

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

  9. #1368

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    По времени - это все от того же QueryPerformanceCounter / QueryPerformanceFrequency?
    да, а других источников точного измерения времени на PC вроде как и нету

    Кстати заодно заменил поэлементное копирование массивов с графикой и звуком на kernel32 MemoryCopy. Если вывести время копирования на граф, то с достаточно заметного уровня оно упало практически до уровня, который на графе даже не виден
    Проверял еще как эмит кода в рантайме на моно под линуксом работает - все ок
    Проверял точками останова по условию в отладчике Adlers, я ему подсказал вариант с эмитом кода в рантайме для условных точек останова и он на удивление быстро этот вопрос разобрал и реализовал. код конечно требует переработки, но работает все на удивление быстро. например условие остановки AF==0005 на скорость эмуляции практически не влияет

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

  10. #1369

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

    По умолчанию

    Обновил эмулятор до версии 2.8.4.37878:

    - исправлен фулскрин на системах с несколькими дисплеями;
    - заметная оптимизация производительности для video/sound rendering;
    - оптимизация измерения fps;
    - добавлен Time Sync (синхронизация кадров по времени);
    - значительно улучшен VBlank Sync;
    - Настройки меню View переработаны (добавлены пункты "Frame Sync Source" и "Video Filter");
    - значительно уменьшена нагрузка на процессор для Time sync;
    - значительно уменьшена нагрузка на процессор для VBlank sync;
    - рефакторинг кода (CPU, Engine, Circuits, HDD emulation)

    Основная фишка этого релиза - переработанная синхронизация видео/звука. Добавлена возможность синхронизации по времени. Качество VBlank Sync улучшено в разы.

    Теперь при включении синхронизации от видео эмулятор не жрет процессор! При этом качество еще улучшилось.

    Синхронизация по Video, теперь работает лучше чем во всех остальных эмуляторах и процессор при этом не жрет
    Правда ресамплер пока заточен под 75 Гц дисплеи, на 60 Гц будут наблюдаться биения, нужно будет переделать.



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

  11. #1370

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Теперь при включении синхронизации от видео эмулятор не жрет процессор! При этом качество еще улучшилось.
    Поделись методикой)

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

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

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

Эту тему просматривают: 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

Ваши права

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