update sprites unit to use shifter/maskgen

This commit is contained in:
slederer 2026-02-01 00:44:34 +01:00
parent c119a2a5bb
commit 66a50d5ea8
2 changed files with 86 additions and 157 deletions

View file

@ -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.