Чтение программой из экранного буфера РК 76D0...7FFF никак не тормозит. Ничего писать и вычислять координаты не надо, т.к в экран РК байты кладёт сама КР580-программа.Сообщение от NEO_SPECTRUMAN
Да, у такой визуализации, скорость прогона зависит от того, сколько записей в экран происходит в единицу времени. Но даже на совсем тормозных машинах (где вообще не надо тормозить), колебания скорости не превышают критической величины и в большинстве игр почти незаметны. А если у машины, есть хотя-бы немного ресурса, то это выравнивается. Кроме того, все-равно придётся контроллировать попадание команд в порт клавиатуры, так что лишняя пара команд сравнения, "погоды не делает".Сообщение от NEO_SPECTRUMAN
Так, на 386SX33 (всего 17 XT) скорость эмуляции всего 1.5 МГЦ и запаса скорости почти нет, а вот на 386DX40 (43 XT) и 486DX2-66 (220 XT) есть существенный запас скорости. Тогда после записи в экран КР580-программой, на 1000 следующих команд константа торможения временно делается нулевой, отчего их прогон идёт на максимальной скорости. В случае, если визуализация текстового компьютера в текстовом же режиме VGA, то торможение совсем маленькое. Увы, я сдуру использовал для эмуляции РК на PC графический драйвер в графическом режиме VGA (где вместо одной команды выполнялась тысяча), отчего и приходилось выравнивать скорость прогона. На 8-ми разрядке никакого ресурса нет, но текстовые программы пишут в экран немного, отчего колебания скорости почти незаметны.
Факты - упрямая вещь. Эмулятор на моём принципе работает в 100...200 раз быстрее, чем эмулятор с визуализацией за счёт периодической регенерации экрана с частотой 25...50 ГЦ. Правда тут не совсем такое сравнение, т.к все эмуляторы, доступные для сравнения имеют блок эмуляции CPU написанный на СИ, а я вынужден был писать на ассемблере для 386-той. Эмуляция на СИ медленнее, но не более, чем в 3-5 раз (всё-таки оптимизирующие компиляторы и для задания ячеек хранения регистров CPU используется спецификатор 'register', что существенно ускоряет), а также потому, что современные процессоры здорово понизили значение качественного кода.
Так, на 386-той неграмотный эмулятор и грамотный эмулятор отличаются по скорости вдвое. А на современном CPU они оказываются одинаковыми по быстродействию, что обидно. Есть ли эмулятор ОРИОНА с визуализацией "фрэймами", который мог бы работать на 286-той? Естественно нет, т.к это невозможно. Для некоторых эмуляторов и одноядерного ПЕНТИУМ-II не хватает.




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