Полный текст
Как Майкл Абраш удвоил скорость QuakeРелиз исходников Quake в 1999 году подтвердил легенду: версия на чистом C была вдвое медленнее оптимизированной. Секрет двукратного прироста FPS крылся в рукописном коде на ассемблере, за который отвечал Майкл Абраш. Главным вызовом стала архитектура процессора Pentium (P5), которая требовала ювелирного управления конвейерами для устранения простоев.Ключевая оптимизация затронула внутренний цикл отрисовки текстур. Абраш применил метод разделения перспективы: вместо дорогого деления для каждого пикселя, коррекция выполнялась раз в 16 пикселей, а промежутки заполнялись линейной интерполяцией. Это позволило параллельно выполнять целочисленные операции в U-конвейере и вычисления с плавающей запятой в V-конвейере, практически исключив «пузырьки» в работе CPU.Разберём технику оптимизации конвейеров.