Форум: "Основная";
Текущий архив: 2014.10.19;
Скачать: [xml.tar.bz2];
ВнизКак максимально оптимизировать(убыстрить) этот участок кода? Найти похожие ветки
← →
ololo (2012-02-04 17:45) [0]
trgba = record
r,g,b,a:byte;
end;
function q(backcl,forecl):trgba;
var factor:real;
begin
if forecl.a=0 then begin
result:=backcl; exit;
end;
factor:=trunc(forecl.a/255*100)/100; // здесь предпологается получить число вида 0,00
result.b:=trunc(backcl.b*(1-factor)+forecl.b*factor);
result.g:=trunc(backcl.g*(1-factor)+forecl.g*factor);
result.r:=trunc(backcl.r*(1-factor)+forecl.r*factor);
end;
← →
Sapersky (2012-02-04 19:27) [1]Убрать плавающую точку, убрать вызов функции для каждого пикселя (или инлайн), переписать на ассемблере с MMX.
В Медиа/Играх было довольно много веток про альфа и прочий блендинг.
http://www.delphimaster.ru/cgi-bin/forum.pl?n=7&search=Alpha
http://www.delphimaster.ru/cgi-bin/forum.pl?n=9&search=Alpha
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2014.10.19;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.002 c