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

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

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

Ответ
 
Опции темы
Старый 17.05.2011, 00:38   #1
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Радость Тестировщик памяти

Простая до безобразия программа.

Что она делает?
Просто загружает в массив изображение размером 120х120 пикселей до тех пор, пока не закончится память, и приложение не завершится с ошибкой. Вверху указано число, которое указывает на число уже загруженных изображений.

Исходя из того, что каждый пиксель занимает 4 байта, а изображение емеет размер 120х120, можно вычесть, что одно изображение занимает 57 600 байт.

Результат моего телефона (NOKIA 5300) - 118 изображений (6 912 000 байт)

А сколько у Вас?

P.S.
Предложения/критика приветствуются.
Вложения
Тип файла: rar bin.rar (4.8 Кб, 463 просмотров)
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 17.05.2011, 01:38   #2
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Тестировщик памяти

ох ши.. А шо нельзя было просто выделять память для интежеров (байтов) ??
А то прям целые картинки лупишь !!
Ну а вообще хз мож и на мп так и нельзя)))) но выглядит решение стремно !!
(Offline)
 
Ответить с цитированием
Старый 17.05.2011, 02:27   #3
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: Тестировщик памяти

То есть ошибка в твоей программе - удачное завершение работы?
И ты не придумал ничего лучше для определения свободной памяти?
http://forum.boolean.name/showthread.php?t=6021
Одна функция - memory.free
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
YellowAfterlife (17.05.2011)
Старый 17.05.2011, 06:45   #4
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Ответ: Тестировщик памяти

Странное, очень странное решение. К тому же на разных телефонах изображения хранятся в разном формате. На более старых моделях не 32-битном.
Как мне кажется, freeMemory\totalMemory лучше определяют количество памяти на телефоне...
http://yellow.orgfree.com/micro/mpinline/#memfree
http://yellow.orgfree.com/micro/mpinline/#memtotal
А выделять память под челочисленные можно, но опять таки только библиотекой или inline()ами в 3+ версиях.
__________________

Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
(Offline)
 
Ответить с цитированием
Старый 17.05.2011, 11:32   #5
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Сообщение Ответ: Тестировщик памяти

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

Одна функция - memory.free
А ты уверен, что она говорит правду?
Вот, например, java info говорит что в моем телефоне 2МБ памяти всего, а свободно - 600 Кб.
Однако каким образом в 600 Кб влезло изображений суммой на 6 Мб?

Это значит либо то, что функция работает не точно, либо то, что под каждый пиксель изображения выделяется не 4 байта, а меньше (зависит от телефона).

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

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 17.05.2011, 12:08   #6
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Тестировщик памяти

самый простой способ определить цветность( бит/пиксель) это записать пограничный цвет например 1,1,1 в картинку а потом его прочитать. Цвет изменится до ближайшей границы цветности. Отсюда легко посчитать битность.
Например записали цвет 1,1,1 прочитав получили 8,8,8
Значит 256 / 8 = 32 цвета на канал. Т.е. 5бит на канал или 15бит на пиксель без альфы. т.е. 32к цветов.
З.Ы. 15 бит скорее всего пакуются в 2 байта и занимают 16 бит.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
PassCall (17.05.2011)
Старый 17.05.2011, 12:14   #7
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Сообщение Ответ: Тестировщик памяти

записать пограничный цвет например 1,1,1 в картинку а потом его прочитать
Можеш рассказать подробнее насчет "прочитать цвет"? Я так понял, надо использовать либу. А какую?
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 17.05.2011, 12:25   #8
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Тестировщик памяти

хм неужели в МП нет команд чтения/записи пикселей?
__________________
(Offline)
 
Ответить с цитированием
Старый 17.05.2011, 12:32   #9
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Тестировщик памяти

plot (x,y) - вычерчивает пиксель в узанную точку.

Больше ничего связанного с пикселями нет
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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