Я пытаюсь сделать свой собственный простой движок 3D-рендеринга в сборке полностью с нуля. Так что я запускаю его из DOS, переключаюсь на 32-битный PM и все такое прочее ....
Наконец-то я получил рабочие преобразования с проекцией и рендерингом каркаса, но у меня появилась действительно тривиальная проблема. После рендеринга моей сцены необходимо очистить LFB, чтобы в следующем кадре я мог рисовать там снова.
Но использование rep stosd
или простого mov-loop
цикла очень медленно, и мой FPS падает буквально до 10 с 60+.
Я использую высокое разрешение 1280x1024 пикселей с 4 байтами на пиксель, поэтому мне нужно установить 1280 * 1024 = 1310720 dwords = 5242880 байтов в ноль, начиная с адреса 0xFC000000.
Есть ли способ заставить память мгновенно стереть себя? (Я хочу сохранить эту резолюцию)