MTRRLFBE.EXE 1.6.


Обновлено13/02/2022
Статус программыБесплатная (FreeWare)
ОСWindows ME, Windows 98, Windows 95, DOS
Архитектураx86
РазработчикRayer
Скриншот:
Описание:Вольный перевод со странички автора программы: Программа MTRR-WC для VESA LFB. По просьбе я написал эту небольшую программу, которая позволяет установить режим MTRR независимо для области VGA (A0000h) и области LFB (адрес LFB определяется автоматически). Если вы установите режим WC, вы можете увеличить производительность ваших существующих программ, которые отображают графику через VESA VBE. На моей машине: Celeron Tualatin 1466, чипсет intel BX, SVGA GeForce MX440 я получил прирост скорости передачи данных (RAM->VRAM), например, в режиме 800 x 600 / 32 LFB с 62 MB/s до 315 MB/s. BTW вся эта история с MTRRLFBE началась так: Я программировал несколько графических процедур для своей DOS-программы и делал несколько бенчмарков, чтобы найти самый быстрый алгоритм. Но иногда случалось, что программа выполнялась, например, в 5 раз быстрее, чем обычно. Но это не имело никакого отношения к моему коду. Все было быстрее. Затем я обнаружил, что этот эффект происходит, когда я перезагружаюсь в DOS из Win98 без полной перезагрузки. Это навело меня на мысль, что драйверы nVidia или Windows настроили что-то, что делает копирование фреймбуфера намного быстрее. Затем я много гуглил и обнаружил документ intel, описывающий настройку MTRRs и ее влияние на производительность графики. Тогда было бы довольно просто реализовать это в моей библиотеке mtgfx и как отдельную утилиту...
Дополнительная информация:
  • Вольный перевод со странички автора программы:
  • 8.1.2007 начиная с версии 1.1 позволяет задать диапазон пользовательских адресов для указанного режима через следующий параметр командной строки USER:base_address:size_kB.
  • 10.3.2011 В версии 1.3 я полностью переписал процедуры настройки MSR, так что теперь она может работать под старым менеджером памяти emm386.exe и Windows 9x.
  • 11.11.2018 В версии 1.5 я добавил новый код для анализа и модификации существующих настроек MTRR, так что в случае обнаружения перекрывающихся областей программа пытается исправить их, используя режим Write-Combining в качестве приоритетного. Если у вас есть ощущение, что желаемая настройка имеет какой-либо эффект, попробуйте запустить программу с опцией /d, которая отображает отладочную информацию обо всех MTRR и выполненных модификациях. Затем пришлите мне этот лог. Я тестировал эту версию на nVidia GeForce GTX670 в материнской плате Gigabyte GA-P67-DS3-B3. Я достиг скорости передачи данных 2847 МБ/с.
  • 29.12.2018 Важное замечание об использовании MTRRLFBE в режиме v86: было сделано наблюдение, что некоторые программы DOS не ускоряются после включения режима WC для LFB в режиме v86, в то время как они значительно ускоряются при работе в реальном режиме. Я и Falcosoft с форума VOGONS подтвердили это поведение на различных конфигурациях HW (от Pentium Pro до Core i7 2600K), так что это не редкая причуда HW, а общая проблема. Я сузил проблему до того, что в основном страдают старые DOS-программы, использующие DOS/4GW extender (такие как Blood, DN3D игры и perf, профильные бенчмарки...), в то время как более новые программы, скомпилированные DJGPP и использующие внешний DPMI сервер (CWSDPMI), работают нормально и значительно ускоряют работу. Это касается, например, моего VESATEST и игровых движков QDOS, Q2DOS, Hexen II. Мы понятия не имеем, что вызывает эту проблему, возможно, то, как физический адрес отображается на линейный адрес программы... Решение может потребовать модификации расширителя DOS или менеджера памяти v86.
  • UPDATE: если вы загрузите HDPMI как резидентный DPMI сервер (командой hdpmi32.exe -r -i), то вы получите ускорение и для старых DOS программ, которые используют DOS/4GW расширитель. Но если после этого загрузить эмулятор Yamaha DMA dsdma.exe (для звуковых карт Yamaha 7xx PCI), то эффект ускорения будет сведен на нет.
  • 15.1.2021 В версии 1.6 я добавил новый параметр info, который просто отображает конфигурацию MTRR без каких-либо изменений для отладочных целей.
Файлы:

Скачать/Download Бинарник для DOS - 62 Кбайт