Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal

Ответ
 
Опции темы
Старый 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)
 
Ответить с цитированием
Старый 11.03.2012, 20:52   #2
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Создаю бенчмарк для мобилы

Производительность графики меряется не так. Надо гонять программу (рисование линий, заливка экрана, время выполнения repaint, время создания 100500 форм) Мне кажется, что при рисовании форм телефон обновляет экран когда захочет.
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 10:21.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com