Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Построение игрушки, скорость прорисовки 
:(
    Опции темы
Jlekc
Дата 17.10.2005, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 520
Регистрация: 10.2.2005
Где: Leopolis

Репутация: нет
Всего: 4



есть ткая трабла.
Заказали игрушку, движок зделал, все ок.
Но начали тестить велез глюк(((

Действие в игрухе происходить на фоне определенной карты. Художники подготовили серию елементов, из которых я эту карту и формирую.
Изначально чтоб не тратить ресурсы я формировал карту при инициализации уровня. Но взяли одну из труб, у нее оперативки 195 кБ, нехватило памяти чтоб создать карту.
Пошол другим путем, карта формируеться из елементов, решил на каждый кадр делать перерисовку(( - Нехватило производительности. Прорисова занимает 170-200мсек.

Тем немение есть игрухи, Де в каждом кадре идет прорисова всего экрана, и они выдают более-менее неплохой fps.
В чем юмор построения таких приложений?
Добавлено @ 11:39
ЗЫ: взял пусту апликуху в нее впихнул этот код:
Код

....
 protected void paint(Graphics graphics) {
        long currentTime = System.currentTimeMillis();
        multipleImage(graphics);
        graphics.setColor(0xFFFFFF);
        graphics.fillRect(0, 0, 128, 16);
        graphics.setColor(0x0);
        graphics.drawString(String.valueOf(System.currentTimeMillis() - currentTime), 50, 2, Graphics.TOP | Graphics.LEFT);
    }
    private void multipleImage(Graphics g){
        try {
            image = Image.createImage(imagePath);
        } catch (IOException e) {
            e.printStackTrace();
        }
        for(int i=0; i<8; i++)
            for(int j=0; j<8; j++)
            {
                g.drawImage(image, j*16, i*16, Graphics.TOP | Graphics.LEFT);
            }
    }
....


на трубе Nokia 6021 прорисовка занялы 84msec.
Это не серъезна.
ЗЫЗЫ: Мож надо использовать пакеты зделанные производителями труб, а не полагаться на базовые классы MIDP?
есе да то можна привести пример на основе представленого кода


--------------------
PM MAIL ICQ   Вверх
$tatic
Дата 23.11.2005, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



Попробуй классы из MIDP 2.0 (javax.microedition.lcdui.game): GameCanvas, TiledLayer и др.
PM MAIL   Вверх
Jlekc
Дата 23.11.2005, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 520
Регистрация: 10.2.2005
Где: Leopolis

Репутация: нет
Всего: 4



хых, нашол много различных приемов для прорисовки.
Все намана

Но твой совет по ДП2 немного неподходил, в поставленую задfчу входило релизовать под MIDP1.0


--------------------
PM MAIL ICQ   Вверх
Mayk
Дата 23.11.2005, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



Цитата(Jlekc @ 23.11.2005, 19:12)
хых, нашол много различных приемов для прорисовки.
Все намана

Находками делится будем? Нам ведь тоже интересно для общего развития так сказать


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Jlekc
Дата 23.11.2005, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 520
Регистрация: 10.2.2005
Где: Leopolis

Репутация: нет
Всего: 4



да не находни, а просто заточки под конкретную задачу

Прорисовку делать из картинки.
Картинку загнать в NativeArray, и прорисовывать из памяти.
Прорисовка из памяти с разными параметрами.
Использовать двойнуюБуферизацию
Прорисовать всю карту
Прорисовать видимую область, и нарашивать по ходу движения.

Вообщем натестил разных вариантов.
Итог: двойная буферизация + нарашивания + (есе хватит памяти)графику считать Натив

Или заюзать MIDP2.0, воспользоваться сплайнами и не париться, слышал что дают лутьшею производительность. Но небыло возможности заценить.


--------------------
PM MAIL ICQ   Вверх
redrick
Дата 1.12.2005, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 547
Регистрация: 7.1.2004
Где: Москва

Репутация: 1
Всего: 5



Jlekc
Цитата
Картинку загнать в NativeArray, и прорисовывать из памяти.
Прорисовка из памяти с разными параметрами.

эти пункты относятся к аналагам JNI для j2me ? Т.е. к сдк от производителя (Nokia и т.п.) ?
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.1131 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.