Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Посоветуйте!!!!!!!!!!!


Страницы:   1 2

>>DEATH<< ©   (2007-04-11 14:42:00) 

Вообшем есть tbitmap(битмапка 8х8) и tcanvas надо нарисовафон 80 на 60 из битмап..сделал перебором пикселей но рисуется долго а надо чтобы обновлялось несколько раз в секунду )))


vegarulez   (2007-04-19 06:59:00) [1]

Используй спрайты и не парься.


homm   (2007-04-16 15:07:00) [2]

http://kolnmck.ru/files/257/kol_mck.7z

Хотя я думаю что если ты их не смог найти по прямой ссылке на головной сайт, думаю поставить тебе тоже их не удастся.


>>DEATH<<   (2007-04-16 14:01:00) [3]

чет я не  могу найти компоненты которые ты там использовал дай ссыльци


>>DEATH<<   (2007-04-14 14:05:00) [4]


> Свой домен то и забыл подписать :)

я так и подумал)))))

ша буду пытаться чегонить сделать..пасиб что помог


homm   (2007-04-14 10:42:00) [5]

> [27] >>DEATH<<   (14.04.07 09:56)


Свой домен то и забыл подписать :)

http://homm86.narod.ru/files/fp.rar

Так работает.


&gt;&gt;DEATH&lt;&lt;   (2007-04-14 09:56:00) [6]


> Вот, наваял специально для тебя. http://narod.ru/files/fp.
> rar

404 Нет такой страницы..залей на слил ру или кинь на 929292@mail.ru


homm   (2007-04-14 09:00:00) [7]

ЗЫ: Для сабжевого разрешения 640х480 у меня получается 200 кадров в секунду ровно :) Надеюсь автору этого будет достаточно.


homm   (2007-04-14 08:53:00) [8]

> плохо разбираю чужие исходники дайте плиззз конкретную процедуру

Вот, наваял специально для тебя. http://narod.ru/files/fp.rar
Формирование временного битмапа происходит в памяти, затем одной операцией копируется в видео. Для работы в памяти никакие GDI функции не использовал, слишком медленно выходило, все прямым копированием.
Получилось примерно 53 кадра в секунду на разрешении 1280*981 т.е. примерно 19 милисекунд на один кадр. примерно 6 из них на коприрование память-видео (т.е. примерно 820Мб/сек скорость прокачки(!)). Остальные 13 мс — на формирование битмапа в памяти. Так медленно видимо потому что доступ не целеком ко всем запрошеным страницам идет, системе часто приходится переключатся. В этом смысле оптимальный размер мелких картинок был бы 4096/4=1024 пикселя :) Тобиш чем крупнее мелкие картинки, тем больше производительность была бы. Сама процедура копирования FastDIBitBlt сильно заоптимизирована, но это не придел. Например можно еще ммх приплести для перемещения сразу 64-х битного значения (компилятор разбивает это действия на 2). Просто мне лень дельфю посвежее ставить, а пятая ммх инструкции не понимает. Ну и самую главную оптимизацию, которую можно бы произвести, кокретно для твоей игры — рисовать не заново все, а только те части, которые скролятся.

Кстати, проект на КОЛ, так что не пугайся. Вот офф сайт: http://kolnmck.ru


&gt;&gt;DEATH&lt;&lt;   (2007-04-14 04:23:00) [9]


> http://igdc.ru/downloads.php?cat_id=1
> и в частности:
> http://igdc.ru/downloads.php?cat_id=1&download_id=15
>
> Там пример anton`a с канвасом, все работает, ни чего не
> мерцает.

плохо разбираю чужие исходники дайте плиззз конкретную процедуру


homm   (2007-04-13 11:20:00) [10]

> а как примерно

Считаем. 1600*1200*50 = 275Мб/с. Это в 10 раз меньше чем скорость копирования памяти—память на моей машине, это в 15 раз меньше чем копирование видео—видео на моей машине, это даже раз в 5 меньше чем копирование память—видео. Вкратце, ключевые слова DirectX и DIB.


Мистер Т   (2007-04-13 10:56:00) [11]

http://igdc.ru/downloads.php?cat_id=1
и в частности:
http://igdc.ru/downloads.php?cat_id=1&download_id=15

Там пример anton`a с канвасом, все работает, ни чего не мерцает.


&gt;&gt;DEATH&lt;&lt;   (2007-04-13 05:36:00) [12]


> Да хоть 1600х1200 с 50 кдров в секунду. Если руки есть,
> все получится.

а как примерно


homm   (2007-04-13 05:19:00) [13]

> Двигать карту - битмап 1024*768 не получится без мерцания.

Да хоть 1600х1200 с 50 кдров в секунду. Если руки есть, все получится.


Rial   (2007-04-12 17:51:00) [14]

> [18] >>DEATH<<   (12.04.07 14:21)
> ну всмысле не карта а фон(ну или как сказать)..по середине
> персонаж бегает и так далее..

Если графика двухмерная, то такое можно реализовать и
на канвасе. Самое главное, чтобы с каждый кадром
перерисовывался не весь экран, а только необходимая часть.
Двигать карту - битмап 1024*768 не получится без мерцания.
А вот нарисовать карту и двигать персонаж по ней размером 64*64 -
вполне реально, и не один.
То место, с которого персонаж сошел, догружать из картинки карты,
рисовать опять же таки только обновленный участок.

Двойная буферизация... это что
> [7] @!!ex ©   (11.04.07 19:19)
> Двойная буфферизация - наше все.

Она поможет только если картинка от кадра к кадру не сильно изменяется...
25 разных картинок за секунду с BitBlt - вряд ли что то хорошее получится.


&gt;&gt;DEATH&lt;&lt;   (2007-04-12 14:21:00) [15]

ну всмысле не карта а фон(ну или как сказать)..по середине персонаж бегает и так далее..может это лучше на ОпенГЛ рисовать


ЮЮ   (2007-04-12 11:54:00) [16]

Такая динамичная игра, что  карты игры обновляется несколько раз в секунду?


&gt;&gt;DEATH&lt;&lt;   (2007-04-12 10:49:00) [17]

как примерно эт сделать..

P.S.это надо для выведения карты игры так что должно быстро и красиво обновляться


ЮЮ   (2007-04-12 09:24:00) [18]

> только надо чтобы каждый раз изображение генерировалось
> а не сначало на тбитмап рисовалось а потом уж этот битмап
> на холст


Если обнавляь надо часто, значит положение "битмапиков" меняется. Следовательно, перед новым циклом весь канвас надо будет очистить, следовательо мерцание будет видно невооруженным глазом. Рисование на холсте невидимого битмама как раз избавит от этого. Если тебя это не беспокоит, выводи на TImage.icture.Bitmap.Canvas


&gt;&gt;DEATH&lt;&lt;   (2007-04-12 05:38:00) [19]

может кто код какойнить посооветует..только надо чтобы каждый раз изображение генерировалось а не сначало на тбитмап рисовалось а потом уж этот битмап на холст


homm   (2007-04-12 00:32:00) [20]

Да что вы спорите, вызов прерывания видеокарты все равно быстрее ;)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо