|
17.05.2011, 00:38
|
#1
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Тестировщик памяти
Простая до безобразия программа.
Что она делает?
Просто загружает в массив изображение размером 120х120 пикселей до тех пор, пока не закончится память, и приложение не завершится с ошибкой. Вверху указано число, которое указывает на число уже загруженных изображений.
Исходя из того, что каждый пиксель занимает 4 байта, а изображение емеет размер 120х120, можно вычесть, что одно изображение занимает 57 600 байт.
Результат моего телефона (NOKIA 5300) - 118 изображений (6 912 000 байт)
А сколько у Вас?
P.S.
Предложения/критика приветствуются.
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
17.05.2011, 01:38
|
#2
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Тестировщик памяти
ох ши.. А шо нельзя было просто выделять память для интежеров (байтов) ??
А то прям целые картинки лупишь !!
Ну а вообще хз мож и на мп так и нельзя)))) но выглядит решение стремно !!
|
(Offline)
|
|
17.05.2011, 02:27
|
#3
|
Дэвелопер
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений (для 1,962 пользователей)
|
Ответ: Тестировщик памяти
То есть ошибка в твоей программе - удачное завершение работы?
И ты не придумал ничего лучше для определения свободной памяти?
http://forum.boolean.name/showthread.php?t=6021
Одна функция - memory.free
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.05.2011, 06:45
|
#4
|
ПроЭктировщик
Регистрация: 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
|
Разработчик
Регистрация: 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
|
Злобный Админ
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.05.2011, 12:14
|
#7
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Тестировщик памяти
записать пограничный цвет например 1,1,1 в картинку а потом его прочитать
|
Можеш рассказать подробнее насчет "прочитать цвет"? Я так понял, надо использовать либу. А какую?
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
17.05.2011, 12:25
|
#8
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Тестировщик памяти
хм неужели в МП нет команд чтения/записи пикселей?
__________________
|
(Offline)
|
|
17.05.2011, 12:32
|
#9
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Тестировщик памяти
plot (x,y) - вычерчивает пиксель в узанную точку.
Больше ничего связанного с пикселями нет
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:07.
|