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

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

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax > 2D-программирование

Ответ
 
Опции темы
Старый 26.02.2008, 18:58   #1
jimon
 
Сообщений: n/a
DrawPixmap ускорение (OpenGL)

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 10 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

Последний раз редактировалось jimon, 26.02.2008 в 20:24.
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо за это полезное сообщение:
dimanche13 (27.02.2008), Igorr (26.02.2008), Matt Merkulov (26.02.2008), moka (26.02.2008), Randomize (26.06.2009)
Старый 26.02.2008, 19:28   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: DrawPixmap ускорение (OpenGL)

glDrawPixels это очень удобная и очень тормозная команда. если нужна скорость, то быстрее всего рисовать квад, с текстурой.
фильтрация nearest.

можно пример рисующий 5к пиксмапов 512 на 512?
незабываем что это примерно 1311 мегапикселей.
(Offline)
 
Ответить с цитированием
Старый 26.02.2008, 20:23   #3
jimon
 
Сообщений: n/a
Ответ: DrawPixmap ускорение (OpenGL)

я такой код юзал, криво но пашет
Framework brl.GLMax2D
Import jimon.systimer
Import brl.PNGLoader


Graphics 800,600



img:TImage = LoadImage("Star_01.png")

Cls

SetBlend alphablend
SetColor 255,255,255
SetAlpha 1
SetScale 1,1
SetRotation 0

DrawImage img,0,0

pix:TPixmap = GrabPixmap(0,0,512,512)


For Local i2% = 0 To 10

time# = MilliSecs()
time2:Double = jMillisecs()

Cls

SetBlend alphablend
SetColor 255,255,255
SetAlpha 1
SetScale 1,1
SetRotation 0

For Local i% = 1 To 500
DrawPixmap pix,Rand(0,800),Rand(0,600)
Next

Flip 0

time = MilliSecs() - time
time2 = jMillisecs() - time2

'DrawText time,0,0
'DrawText time2,0,20

DebugLog time + " / "+time2

Next

img = Null
pix = Null
End
Ps. перепутал ... не 5K ... а 500 :-[
 
Ответить с цитированием
Старый 27.02.2008, 11:09   #4
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: DrawPixmap ускорение (OpenGL)

Хороший прирост в скорости, никому еще не вредил. Спасиб.
__________________
(Offline)
 
Ответить с цитированием
Старый 27.02.2008, 18:47   #5
jimon
 
Сообщений: n/a
Ответ: DrawPixmap ускорение (OpenGL)

я вот теперь подумал, а нафиг оно надо ?
кто тут усиленно pixmapы рисует ? и где ?

потому что картинка рисуется вот таким кодом : (TGLImageFrame в glmax2d.bmx)
	Method Draw( x0#,y0#,x1#,y1#,tx#,ty# )
		Assert seq=GraphicsSeq Else "Image does not exist"
		EnableTex name
		glBegin GL_QUADS
		glTexCoord2f u0,v0
		glVertex2f x0*ix+y0*iy+tx,x0*jx+y0*jy+ty
		glTexCoord2f u1,v0
		glVertex2f x1*ix+y0*iy+tx,x1*jx+y0*jy+ty
		glTexCoord2f u1,v1
		glVertex2f x1*ix+y1*iy+tx,x1*jx+y1*jy+ty
		glTexCoord2f u0,v1
		glVertex2f x0*ix+y1*iy+tx,x0*jx+y1*jy+ty
		glEnd
	End Method
и как его ускорить то ?
 
Ответить с цитированием
Старый 27.02.2008, 20:17   #6
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: DrawPixmap ускорение (OpenGL)

правильно. ибо это самый быстрый способ.
хотя про GL_QUADS ходят плохие слухи. хз что с ним будет делать драйвер видекарты. Видеокарта только триугольники умеет рисовать.
(Offline)
 
Ответить с цитированием
Старый 01.03.2008, 01:28   #7
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Ответ: DrawPixmap ускорение (OpenGL)

Сообщение от HolyDel Посмотреть сообщение
правильно. ибо это самый быстрый способ.
хотя про GL_QUADS ходят плохие слухи. хз что с ним будет делать драйвер видекарты. Видеокарта только триугольники умеет рисовать.
По идее должна триангулировать, что несколько замедлит рендеринг.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OpenGL pax C++ 134 04.10.2016 15:07
Help:::OpenGl!!! zheland 3D-программирование 30 08.05.2008 20:52
Cos и Sin в OpenGL! pipns Delphi 8 19.11.2007 10:14
Гравитация, ускорение и скорость подъёма impersonalis FAQ 1 04.09.2006 02:30


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


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