Написал на ассемблере графические процедуры вывода спрайтов с точностью до 4 пикселей. Для такого вывода использую копию изображений сдвинутых на 4 пикселя.
В примере спрайт выводится по xor( но можно и через маску, так процедуры вывода универсальные):

Megaman.rar



Получилось в итоге - вывод 90 знакомест на экран за 1/50 секунду. Я не использовал специальный формат спрайтов и вывод через стек.
Но я использую программное зеркалирование по горизонтали, и производительность сразу падает до 45 знакомест. И это проблема. Поэтому, я решил сделать вывод спрайтов с частотой 25 кадров в секунду( в худшем варианте 17). При этом спрайт главного героя буду выводить без зеркалирования и по маске, а срайты противников с зеркалированием по хоr.