update sprites unit to use shifter/maskgen
This commit is contained in:
parent
c119a2a5bb
commit
66a50d5ea8
2 changed files with 86 additions and 157 deletions
|
|
@ -1,5 +1,17 @@
|
|||
program graphbench;
|
||||
uses sprites;
|
||||
|
||||
var starttime,endtime:DateTime;
|
||||
spriteData:SpritePixels;
|
||||
|
||||
procedure readSpriteData(filename:string);
|
||||
var f:file;
|
||||
begin
|
||||
open(f,filename,ModeReadOnly);
|
||||
seek(f,8); (* skip file header *)
|
||||
read(f,spriteData);
|
||||
close(f);
|
||||
end;
|
||||
|
||||
procedure startBench(name:string);
|
||||
begin
|
||||
|
|
@ -13,7 +25,7 @@ var secDelta, minDelta, hourDelta:integer;
|
|||
begin
|
||||
if i < 10 then
|
||||
write('0');
|
||||
write(i);
|
||||
write(i);
|
||||
end;
|
||||
begin
|
||||
endTime := GetTime;
|
||||
|
|
@ -49,6 +61,20 @@ begin
|
|||
randint := r;
|
||||
end;
|
||||
|
||||
procedure drawsprites(count:integer);
|
||||
var i,col,x,y:integer;
|
||||
begin
|
||||
col := 1;
|
||||
for i := 1 to count do
|
||||
begin
|
||||
x := randint(350);
|
||||
y := randint(350);
|
||||
PutSprite(x,y,spriteData);
|
||||
col := col + 1;
|
||||
if col > 15 then col := 1;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure drawlines(count:integer);
|
||||
var i,col,x1,y1,x2,y2:integer;
|
||||
begin
|
||||
|
|
@ -80,13 +106,20 @@ begin
|
|||
end;
|
||||
|
||||
begin
|
||||
readSpriteData('rocket.sprt');
|
||||
|
||||
InitGraphics;
|
||||
startBench('200K points');
|
||||
startBench('points 200K');
|
||||
drawpoints(200000);
|
||||
endBench;
|
||||
|
||||
InitGraphics;
|
||||
startBench('10K lines');
|
||||
startBench('lines 10K');
|
||||
drawlines(10000);
|
||||
endBench;
|
||||
|
||||
InitGraphics;
|
||||
startBench('sprites 50K');
|
||||
drawsprites(50000);
|
||||
endBench;
|
||||
end.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue