Показать сообщение отдельно
  #1  
Старый 03.01.2011, 18:04
Аватар для Моклев
Моклев Моклев вне форума
Новичок
 
Регистрация: 27.02.2009
Адрес: Лен. обл., г. Коммунар
Сообщения: 53
Версия Delphi: 7 и 2010
Репутация: 16
По умолчанию Ускорение работы - прозрачность

Пишу игру Worms, и мне нужен полу-прозрачный коричневый прямоугольник посередине экрана. Я его сделал, но теперь у меня всё тормозит.

Код:
procedure DrawInv(var b: TBitmap; k: Real);
type
  PRGBArray = ^TRGBArray;
  TRGBArray = array[0..10000] of TRGBTriple;
var x,y: Integer;
    l: PRGBArray;
begin
for y:=50 to b.Height-51 do begin
 l:=b.ScanLine[y];
 for x:=50 to  b.Width-51 do begin
   l[x].rgbtBlue:=Round(l[x].rgbtBlue*(100-k)+14*k) div 100;
   l[x].rgbtGreen:=Round(l[x].rgbtGreen*(100-k)+42*k) div 100;
   l[x].rgbtRed:=Round(l[x].rgbtRed*(100-k)+106*k) div 100;
 end;
end;
end;
(k - процент прозрачности)

Подскажите, как ещё можно ускорить процесс?
Ответить с цитированием