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

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

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

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 25.08.2009, 15:45   #16
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: canvas: аналог GetPixel или как ?

Вот набросал небольшую демку c эффектом огня...
Но пока опять выводит через стандартные функции MP. И опять тормозит (( Вроде и цикл то теперь небольшой - [1..30,1..60], а все равно.
Как работать с ARGB массивами в lib_cnv2 не разобрался.

Может дадите простой пример - типа создаем ARGB массив, в нем рисуем точку с координатами 50,50 цветом RGB, выводим этот массив на экран. ?

UPD: Вроде кое-как разобрался. Написал свою либу -) Щаз будем эксперементировать...
Миниатюры
Нажмите на изображение для увеличения
Название: flame.PNG
Просмотров: 909
Размер:	5.9 Кб
ID:	7316  
Вложения
Тип файла: zip test2.zip (21.0 Кб, 509 просмотров)

Последний раз редактировалось Tronix, 25.08.2009 в 17:33.
(Offline)
 
Ответить с цитированием
Старый 25.08.2009, 18:18   #17
DIMMON4IK
Знающий
 
Аватар для DIMMON4IK
 
Регистрация: 21.07.2009
Адрес: Украина
Сообщений: 219
Написано 44 полезных сообщений
(для 78 пользователей)
Хорошо Ответ: canvas: аналог GetPixel или как ?

Красиво!
(Offline)
 
Ответить с цитированием
Старый 28.08.2009, 08:24   #18
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: canvas: аналог GetPixel или как ?

Есть библиотека Lib_beta называется. Там можно просто задать картинку 30*60 и рисовать по ней стандартными методами из MP, а потом с данной картинкой можно делать что угодно. Можно добавить прозрачный фон (Lib_alpha) и вывести на экран.
(Offline)
 
Ответить с цитированием
Старый 28.08.2009, 12:00   #19
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: canvas: аналог GetPixel или как ?

немного оптимизировал демку огня
p.s.: Tronix - неплохо придумал с зажигалкой
Вложения
Тип файла: zip demo2.zip (14.1 Кб, 491 просмотров)
(Offline)
 
Ответить с цитированием
Старый 29.08.2009, 12:19   #20
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: canvas: аналог GetPixel или как ?

Красиво. Неплохая идея с огнем.
(Offline)
 
Ответить с цитированием
Старый 31.08.2009, 11:24   #21
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: canvas: аналог GetPixel или как ?

Спасибо за коментарии. Вернулся с дачи, сейчас буду продолжать мучиться над терминалкой.

Сообщение от abcdef Посмотреть сообщение
немного оптимизировал демку огня
p.s.: Tronix - неплохо придумал с зажигалкой
Спасибо, посмотрел, но есть некие сомнения насчет использования одномерного массива - получается, что в основном цикле есть 7 умножений, а операция эта афаик на любых процессорах не быстрая. Хотя я не знаю, как MP работает с двумерными массивами. Может точно так же использует одномерный и через умножение высчитывает смещение...
И потом еще одно: где выполняются циклы for x, for y нужно блюрить именно начиная с первых элементов массива, потому что если начинать с конца - получаеться эффект "воды", а не огня. На таком маленьком огне это не очень заметно, но если он будет чуть больше - это будет видно.
И еще хотел спросить - а имеет ли большое значение делать в циклах downto ? Мне почему-то кажется, что нет.
Ну и создание палитры можно было не оптимизировать - она же один раз только считается, перед началом основного цикла.

В любом случае спасибо за проявленный интерес. Вообще, abcdef, не планируешь написать что-то типа тутора или хау-то по теме оптимизации программ применительно к MP? По-моему у тебя бы прекрасно это вышло )
(Offline)
 
Ответить с цитированием
Старый 31.08.2009, 19:50   #22
DIMMON4IK
Знающий
 
Аватар для DIMMON4IK
 
Регистрация: 21.07.2009
Адрес: Украина
Сообщений: 219
Написано 44 полезных сообщений
(для 78 пользователей)
Ответ: canvas: аналог GetPixel или как ?

А может тему стоит переименовать?
Напр. на: Визуальные эфекты в MP
canvas: аналог GetPixel или как ? - тема не очень соответствует названию
(Offline)
 
Ответить с цитированием
Старый 01.09.2009, 17:35   #23
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: canvas: аналог GetPixel или как ?

немного о составлении программ
По оптимизиции можно найти много подробной доки, подойдет любая т.к. принципы практически одни и те же, только встречаются некоторые ньюансы, так для прочессоров x86 самые быстрые циклы это уменьшение до нуля, т.к. инструкция декремента выставляет флаг переполнения если результат становится отрицательным, т.е. не нужно использовать медленную команду сравнения. Кроме того самые быстрые команды сравнения - это сравнение с нулем.

В java (как и MP) есть набор инструкций с константами 0,1,2 которые работают чуть быстрее, это однобайтовые команды и их зачения не грузятся из константного пула.

везде где можно используйте одномерные массивы, т.к. на каждом элементе массива java проверяет выход за границы.
Умножения оставил, как и говорил, для наглядности, а вообще можно сделать отдельную переменную для смещения и увеличивать ее на единицу при каждой итерации цикла.

в циклах крайнее значение нужно делать константой (числом), как уже говорил желательно 0, ну или на худой конец переменной, т.к. крайнее значение вычисляется при каждой итерации.

немного о размере программы: старайтесь записывать алгоритмы настолько эффективно, как только это возможно, т.к. когда-нить пригодятся эти куски кода в других разработках.
имена глобальных переменные желательно делать короче, в подпрограммаx MP все равно ставит свои короткие имена, но тоже старайтесь чтоб имена выглядели однообразно в каждой подпрограмме.
__
Вообще оптимизация под java не всегда очевидна: мелкие корректировки на некоторых устройствах не заметны, т.к. различны реализации java-машин, поэтому лучшая оптимизация - привильно спроектированный алгоритм, не содержащий лишних команд. Сам когда сажусь писать алгоритм, вопрос который задаю себе-"что еще здесь можно упростить?"
часто попадаются хорошо написанные программы, но не совсем корректно разбитые на управляющие конструкции, т.е. планировка кода по подпрограммам: всегда стараюсь разбить программу на основные алгоритмы, работающие не зависимо друг от друга и использующие минимум глобальных переменных, и единую управляющую конструкцию связывающую в одном месте вместе алгоритмы. так модифицировать программу, но чрезмерная разбивка тоже вредна, т.к. на загрузку подпрограммы тоже уходит время.
__

p.s.: про туториалы - так я этим и занимаюсь в свободное время, только применительно к уже готовым программкам, потому что изредка, но попадаются интересные кусочки алгоритмов
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Tronix (01.09.2009)
Старый 08.01.2012, 13:04   #24
Nextovoy
AnyKey`щик
 
Аватар для Nextovoy
 
Регистрация: 23.08.2011
Сообщений: 13
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: canvas: аналог GetPixel или как ?

Мне бы очень хотелось знать все функции библиотеки cnv2, так как в java я практически не разбираюсь, а смотреть на код декомпилированного класса и пытаться постичь функции библиотеки не дают мне результатов.

p.s.: Я очень надеюсь что несмотря на даты сообщений кто-нибудь ответит мне
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Canvas Serg_Bloim Программирование 8 03.03.2009 12:47
Screen.Canvas beloff Delphi 3 05.04.2008 12:04
Аналог FloatToString DmT MidletPascal 3 08.11.2007 08:13
Soft в canvas andresyuk_be Основной форум 3 04.08.2007 00:53
Canvas & TextBox stinger25 Основной форум 3 06.02.2006 12:28


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


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