Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.05.01;
Скачать: CL | DM;

Вниз

Помогите оптимизировать не большой код   Найти похожие ветки 

 
RWolf ©   (2011-01-26 14:55) [40]


> Slym ©   (26.01.11 14:29) [38]
> 2. регистры 64 битные т.е. в пакет по 4 пикселя 16бит, 3 24бит и 2 32бит.


тоже верно :) 510 fps.


 
novai   (2011-01-26 14:56) [41]

я смотрю, вы тут фпс"ами меряетесь?)


 
Slym ©   (2011-01-26 15:00) [42]

24 битный вариант с развернутым циклом
procedure Fade24(Bitmap:TBitmap;const Value:integer);
label ll;
var
 y,lp:integer;
 p:pointer;
begin
 if Bitmap.PixelFormat<>pf24bit then exit;
 asm
   mov eax,Value
   and eax, $ff
   movd mm0,eax
   punpcklbw mm0, mm0
 punpcklwd mm0, mm0
 punpckldq mm0, mm0
 end;
 for y:= 0 to Bitmap.Height - 1 do
 begin
   p:=Bitmap.ScanLine[y];
   lp:=Bitmap.Width div 16;// 8*6 в байтах = 16 в пикселях
   asm
     push ecx
     push edi
     mov ecx,lp
     mov edi,p
   ll:
     movq mm1,[edi]
     movq mm2,[edi+8]
     movq mm3,[edi+16]
     movq mm4,[edi+24]
     movq mm5,[edi+32]
     movq mm6,[edi+40]

     psubusb mm1,mm0
     psubusb mm2,mm0
     psubusb mm3,mm0
     psubusb mm4,mm0
     psubusb mm5,mm0
     psubusb mm6,mm0

     movq [edi]   ,mm1
     movq [edi+8] ,mm2
     movq [edi+16],mm3
     movq [edi+24],mm4
     movq [edi+32],mm5
     movq [edi+40],mm6

     add edi,48
     loop ll
     pop edi
     pop ecx
   end;
 end;
 asm
   EMMS
 end;
end;


 
Slym ©   (2011-01-26 15:05) [43]

все мои варианты без обработки хвостов!
вариант Slym ©   (26.01.11 15:00) [42] выравнивается на 16 пикселей, т.е. хвостовые пиксели (Bitmap.Width mod 16) нужно допиливать вручную



Страницы: 1 2 вся ветка

Текущий архив: 2011.05.01;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.01 c
1-1252735271
Ruzzz
2009-09-12 10:01
2011.05.01
Правильно создать клон структуры


4-1248097401
dmitry_12_08_73
2009-07-20 17:43
2011.05.01
Как по Handle окна определить скроллбар это или нет?


2-1295729324
dik59
2011-01-22 23:48
2011.05.01
Новая серия в TChart


2-1295860172
Артём
2011-01-24 12:09
2011.05.01
Склонение женских и мужских фамилий.


2-1292196382
Германн
2010-12-13 02:26
2011.05.01
Структура БД