Показать сообщение отдельно
Старый 26.01.2012, 17:24   #1
maestrodan
AnyKey`щик
 
Регистрация: 14.08.2011
Сообщений: 9
Написано 0 полезных сообщений
(для 0 пользователей)
Создаю бенчмарк для мобилы

Вобщем, такое дело: надумал написать прогу для тестирования железа телефона, вчера сделал версию через интерфейс с использованием граф. режима(canvas), сегодня решил сделать формой, и оказалося, что показатели проца вышли разные, я так понимаю, что графика горошо кушает процессор, а подскажите, как бы можно было использовать эту разницу для оперделения производительности графики?
привожу тексты обоих вариантов софтин

Формой

program CHIPPerformance;
uses memory;
var
timer1,timer2,i,field1,field2,field3,field4:intege r;
a:real;
c:command;
begin
showform;
setticker('CHIPPerformance');
field1:=formaddstring('Processing CPU test...');
c:=createcommand('ok',CM_OK,1);
timer1:=GetRelativeTimeMs;
for i:=1 to 50000 do
a:=sin (i);
timer2:=GetRelativeTimeMs;
timer1:=timer2-timer1;
clearform;
setticker('CHIPPerformance');
field1:=formaddstring('CPU:'+integertostring(timer 1/100)+' points');
if (memory.total div (1024*1024)=1) then
field2:=formaddstring('Всего java-heap '+integertostring(memory.total/(1024*1024))+'.'+integertostring((memory.total/1024)-1024)+' Mb');
if (memory.total div (1024*1024)=2) then
field2:=formaddstring('Всего java-heap '+integertostring(memory.total/(1024*1024))+'.'+integertostring((memory.total/1024)-2024)+' Mb');
if (memory.total div (1024*1024)=3) then
field2:=formaddstring('Всего java-heap '+integertostring(memory.total/(1024*1024))+'.'+integertostring((memory.total/1024)-3024)+' Mb');
if (memory.total div (1024*1024)=0) then
field2:=formaddstring('Всего java-heap '+integertostring(memory.total/1024)+' Kb');
if (memory.free div (1024*1024)=1) then
field3:=formaddstring('Свободно java-heap '+integertostring(memory.free/(1024*1024))+'.'+integertostring((memory.free/1024)-1024)+' Mb');
if (memory.free div (1024*1024)=2) then
field3:=formaddstring('Свободно java-heap '+integertostring(memory.free/(1024*1024))+'.'+integertostring((memory.free/1024)-2024)+' Mb');
if (memory.free div (1024*1024)=3) then
field3:=formaddstring('Свободно java-heap '+integertostring(memory.free/(1024*1024))+'.'+integertostring((memory.free/1024)-3024)+' Mb');
if (memory.free div (1024*1024)=0) then
field3:=formaddstring('Свободно java-heap '+integertostring(memory.free/1024)+' Kb');
field4:=formaddstring('Размер экрана'+integertostring(getwidth)+'x'+integertostr ing(getheight));
addcommand©;
repeat
delay (100);
until getclickedcommand<>emptycommand;
end.

Графикой

program CPUPerformance;
uses memory;
var
timer1,timer2,i:integer;
a:real;
begin
drawtext('CPUTest',0,0);
drawtext('Processing test...',0,10);
repaint;
timer1:=GetRelativeTimeMs;
for i:=1 to 50000 do
a:=sin (i);
timer2:=GetRelativeTimeMs;
timer1:=timer2-timer1;
setcolor(255,255,255);
fillrect(0,0,getwidth,getheight);
setcolor(0,0,0);
drawtext ('CPU:'+integertostring(timer1/100)+' points',0,10);
if (memory.total div (1024*1024)=1) then
drawtext('Всего java-heap '+integertostring(memory.total/(1024*1024))+'.'+integertostring((memory.total/1024)-1024)+' Mb',0,20);
if (memory.total div (1024*1024)=2) then
drawtext('Всего java-heap '+integertostring(memory.total/(1024*1024))+'.'+integertostring((memory.total/1024)-2024)+' Mb',0,20);
if (memory.total div (1024*1024)=3) then
drawtext('Всего java-heap '+integertostring(memory.total/(1024*1024))+'.'+integertostring((memory.total/1024)-3024)+' Mb',0,20);
if (memory.total div (1024*1024)=0) then
drawtext('Всего java-heap '+integertostring(memory.total/1024)+' Kb',0,20);
if (memory.free div (1024*1024)=1) then
drawtext('Свободно java-heap '+integertostring(memory.free/(1024*1024))+'.'+integertostring((memory.free/1024)-1024)+' Mb',0,20);
if (memory.free div (1024*1024)=2) then
drawtext('Свободно java-heap '+integertostring(memory.free/(1024*1024))+'.'+integertostring((memory.free/1024)-2024)+' Mb',0,20);
if (memory.free div (1024*1024)=3) then
drawtext('Свободно java-heap '+integertostring(memory.free/(1024*1024))+'.'+integertostring((memory.free/1024)-3024)+' Mb',0,20);
if (memory.free div (1024*1024)=0) then
drawtext('Свободно java-heap '+integertostring(memory.free/1024)+' Kb',0,30);
drawtext('Размер экрана'+integertostring(getwidth)+'x'+integertostr ing(getheight),0,40);
drawtext('Нажмите любую клавишу',getwidth/2,50);
repaint;
repeat
delay (100);
until getkeyclicked<>0;
end.

Разница показаний: в графике 162, в форме 234
(Offline)
 
Ответить с цитированием