За счёт побитного скролла fps увеличился с 50-ти до 62-ух (это если стенку в вплотную разглядывать... При разглядывании спрайтов fps почти вдвое меньше становится)
int d1=lineHeight * 128;
int d2=h * 128;
for(int y = drawStart; y < drawEnd; y++)
{
int d = y *256 - d2 + d1; //256 and 128 factors to avoid floats
int texY = ((d * texHeight) / lineHeight) >>8;
Uint32 color =texture[texNum][texWidth * texY + texX];
if(side == 1) color = (color >> 1) & 8355711;
buffer[x][y] = color;
}
Если " у*256 " заменить на " y<<8 " - там происходит сатана с текстурами.