Решил на досуге сравнить время, затрачиваемое на выполнение разных участков программы (текстовый CGA режим). Пришел в ужас. Оказывается, самым длительным является построчный скроллинг экрана вверх, около 150-300 мкс на пне четвертом, 2,53 ГГц. Поскольку текст выводится непрерывно, возникает нерациональный расход времени. Например, при скане поверхности HDD это приводит к лишним минутам при больших объемах. Оптимизация алгоритма ничего не дала. Да и нечего тут оптимизировать:
| Код | mov ax,0b800h mov ds,ax mov es,ax mov si,160 xor di,di mov cx,(80*24) rep movsw
|
В тоже время в разных источниках то и дело читаешь "аппаратный скроллинг", "средствами видеоконтроллера" итд. Как это делается, никто толком не объясняет. Помогите пожалуйста разобраться. |