![]() |
|
Модераторы: javastic, AntonSaburov |
![]()
|
|
| GhostMasterNet |
|
|||
|
Илья ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 6.9.2006 Репутация: 3 Всего: 3 |
Нужна информация о минимальном размере оперативной памяти, поддерживаемой большинством мобильных телефонов.
|
|||
|
||||
| GhostMasterNet |
|
|||
|
Илья ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 6.9.2006 Репутация: 3 Всего: 3 |
У меня появилась информация - 1МБ.
Но, возможно, это не точно. |
|||
|
||||
| olegrolik |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Конфигурация CLDC (а на сколько я знаю, это почти все мобилы) рассчитана на мобилы у которых памяти от 160 до 512 килобайт, для всей платформы Java 2 ME. Это написано в книге Горнакова "Программирование мобильных телефонов на Java2ME".
|
|||
|
||||
| javastic |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1214 Регистрация: 18.3.2005 Где: St.Petersburg Репутация: 19 Всего: 27 |
А если мы вспомним про heap то и того меньше 48 -64 Kb
-------------------- 01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011 scjp, mcp |
|||
|
||||
| GhostMasterNet |
|
|||
|
Илья ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 6.9.2006 Репутация: 3 Всего: 3 |
При использовании TiledLayer создаётся карта картинок.
Простая загрузка такой карты в моём случае занимает примерно 500 кб ОП. Это не считая вспомогательных классов. Всего игра ест 1Мб. Я так понял, перспективы довольно плачевные. Подскажите, как можно оптимизировать. |
|||
|
||||
| W0LF |
|
|||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
все картинки сразу тебе не нужны..
очищай периодически память, точней обнуляй ссылки, не используй принудительного вызова System.gc(); если надо быстродействие - переделай все циклы на убывание, ибо -- работает быстрее чем ++ в циклах желательно делать не проверку, а бросать исключение. Используй стрингбуффер. для игрухи желательно поменьше паттернов и поменьше классов, ибо много классов жрут память. Так же желательно использовать двойную буфферизацию, если телефон ее автоматом не поддерживает Но это все если ты пишешь для слабеньких телефонов Щас они посильнее стали -------------------- iOS developer |
|||
|
||||
| javastic |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1214 Регистрация: 18.3.2005 Где: St.Petersburg Репутация: 19 Всего: 27 |
W0LF, что-то мне это напоминает ;)))))
-------------------- 01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011 scjp, mcp |
|||
|
||||
| W0LF |
|
|||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
javastic, нипомню
-------------------- iOS developer |
|||
|
||||
| tanderbold |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 23.5.2007 Репутация: нет Всего: нет |
если есть большие картинки - например фоновая, возможно имеет смысл разбить её на несколько маленьких и перерисовывать только те которые меняются. Также нужно постараться избавится от выделения памяти в циклах и часто выполняющихся функциях. Также необходимо постараться уменьшить число временных объектов. Вот. )
|
|||
|
||||
| GhostMasterNet |
|
|||
|
Илья ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 6.9.2006 Репутация: 3 Всего: 3 |
Этот форум - просто супер!
Спасибо всем! Особенно тебе, Wolf. Интересно, что убывающие циклы работают быстрее, чем возрастающие. Наверно, это из-за того, что процессор сравнение с нулём выполняет быстрее. Wolf, объясни, пожалуйста, почему
|
|||
|
||||
| W0LF |
|
||||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
Вообще, как многие говорят - с точки зрения ООП это очень некрасиво
На самом деле бросить исключение занимает много времени.
возьмем пример :
просто во втором случае идет две проверки, первая на то, что нужно бросить исключение, а вторая то, что i < 4299, а в первом случае только одна но эт догадки ;) Это сообщение отредактировал(а) W0LF - 21.8.2007, 17:03 -------------------- iOS developer |
||||
|
|||||
| GhostMasterNet |
|
|||
|
Илья ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 6.9.2006 Репутация: 3 Всего: 3 |
Интересный подход. Спасибо, Wolf.
Кстати, только что нашел ещё одну фишку. Для тех, кто столкнётся с этой проблемой. Нужно использовать GameCanvas как можно меньше, так как в него встроены всякие навороты, например, двойная буфферизация. Для промежуточных экранов, таких, как меню, заставок, лучше юзать Canvas. Памяти жрёт меньше. Сам только нашёл в WTK2.5.1 отладчик крутой. Профилер, и всякую другую ерунду, помогующую при рутине. В KToolbar в Preferences есть настройки, с помощью которых можно включать разные мониторинги. |
|||
|
||||
| VKoresh |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 14.6.2007 Где: Запорожье Репутация: 1 Всего: 1 |
Сам столкнулся с проблеммой оптимизации. И нашел весьма полезным информацию Wolf'a и
GhostMasterNet'a. Спасибо, почерпнул много полезного! |
|||
|
||||
| dosj2me |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 18.9.2007 Репутация: нет Всего: нет |
Для тех кто пишет замысловатый ИИ и хочет чтобы противников было много, пользуйтесь потактовым просчетом ИИ, т.е. для каждого противника свой такт.
Пример: //определение тактов(для 30 противников) for(int i=0;i<=30;i++) {Takt[i]=i;} int tekTakt=0; //просчет ИИ { for(int i=0;i<=30;i++) {if(tekTakt%31==Takt[i])//вычисления % - для расширения числа тактов, если нужно выполнять редкое действие, используя тот же счетчик } tekTakt++; } бла бла бла))) мож кому поможет |
|||
|
||||
| Arahnus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 12.5.2009 Репутация: нет Всего: нет |
А как проверить доступную оперативную память для работы?
Если будет нехватка памяти то программа может встать и надо точно знать на что можно расчитывать. Добавлено через 1 минуту и 23 секунды Есть ли свойства окружения для проверки оп. памяти? |
|||
|
||||
![]()
|
FAQ раздела лежит здесь! |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |