Список форумов .::Russian Blood Community Forum::.
Официальный форум русского сообщества фанатов игры BLOOD
Deep Cold Grave
Официальный сайт издательства ОНО
BloodGame

 

Life Is Real
Флейм
Привед :)
[Страниц (6): « 1 2 3 4 5 [6] ]

Привед :)
| Новая тема | Ответить | | Поиск в теме |
| Версия для печати |
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

Забыл свой собственный рендер ? УлыбкаУлыбкаУлыбка
Трианглами или квадами не суть. Квады это абстракция OpenGL, реально все равно все будет рисоваться треугольниками.

Я конечно уже сто лет не писал под OpenGL но сразу возникает несколько вопросов-заметок.

Почему не используешь glDrawElements ?

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

Вызов вида:
s->Draw(d->X-50*d->scale*d->mirror,d->Y-70*d->scale+d->offsetY,100*d->scale*d->mirror,100*d->scale);
лично мне внушает ужас. И в плане читабельности тоже Улыбка
Имхо ты не помогаешь компилятору. А вдруг он не сообразит, что 100*d->scale можно просчитать один раз заранее ?
Почему бы тебе не выносить такие вещи наружу и считать всего один раз ?

Если pfd - generic, то блендинг в топку.

Мне кажется очень не помешает воспользоваться профайлером.


(Отредактировано автором: 09 Марта, 2010 - 06:33:15)

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 09 Марта, 2010 - 06:32:27
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

Цитата:
s->Draw(d->X-50*d->scale*d->mirror,d->Y-70*d->scale+d->offsetY,100*d->scale*d->mirror,100*d->scale);


Так вот приходится считать каждый раз, тут никуда не денешся. Где бы я не считал. Размеры спрайтов частенько меняются (приведения во время испуга растут).

Цитата:
Почему не используешь glDrawElements ?


В голову как-то не пришло Улыбка Всего 2 полигона, зачем столько возни... Но тогда уж, может, лучше GL_Lists использовать?

Фильтрация меняется каждый раз, потому что возможно изменение GraphicQuality после инициализации. А другого шанса изменить параметры в каждой текстуре может не представиться, как не во время рендеренга. Можно, в принципе, добавить флажок в каждый спрайт, изменены ли там параметры.

Да, фильтрация обязательно нужна! Эта игра поддерживает все разрешения, даже 2500 на 1500 Улыбка Во время запуска я оставляю разрешение рабочего стола, как в Zuma Reverange. И тормозов это не вызовет на современных компах.

Для старых же можно опцией графики GraphicQuality: отключить блендинг, вырубить фильтрацию. При перезапуске игры, разрешение меняется к 800х600.

Тормоза при этом уменьшаются в два раза, но каждый кадр по-прежнему рисуется секунду :|

-------------------

У меня возникли мысли, из-за чего еще могут быть тормоза. Мне нужна твоя помощь в этом вопросе, как знатока OpenGL.

1. Возможно, текстуры хранятся в видеопамяти, а отрисовка ведется ЦП. Если я укажу, что хранить текстуры надо в оперативке? Никогда этого не делал, и не знаю как. Напиши, пожалуйста Улыбка

2. Возможно, текстуры надо выравнить в памяти (GL_UNPACK_ALIGNMENT ?). Подскажи, что написать, чтобы заработало лучше. Я этой командой не пользовался никогда Улыбка

--------------------

Софтверный рендер подождет. Если без него можно обойтись, то ждать придется ООооочень долго Улыбка Я откатываю драйвера и тестирую Духи на OpenGL Улыбка

(Добавление)
Цитата:
блендинг в топку


... и не только из-за generic. GeForce2 за....бется рисовать с блендингом, знаю на своей шкуре. Черт, я даже не уверен, что AlphaTest не будет там тормозить Недовольство, огорчение

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 09 Марта, 2010 - 12:15:28
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

Я говорю о том, что повторяющиеся расчеты в формуле можно вынести в отдельную переменную, рассчитывающуюся вначале.
У тебя в этой только формуле, например, 100*d->scale считается несколько раз. Если компилятор это дело не оптимизировал, что ты кстати уже должен был проверить, то надо выносить отдельно.

Используй что угодно, но не glVertex Улыбка

Про фильтрацию ещё раз - зачем это каждый раз делать в теле рендера ? Улыбка

А в чем проблема ? Делай спрайты под максимальное разрешение. А потом при загрузке масштабируй Улыбка И не надо фильтраций.

Боюсь, я уж точно не знаток. Как я уже говорил очень давно ничего не писал под GL, и уже лет 5 точно серьезных графических приложений не делал.

Надо читать стандарт. В Opengl текстуры в любом случае зеркалируются на сколько я помню - то бишь есть одновременно в озу и в видеопамяти.
Если нужен контроль за расположением, по моему это расширение, то бишь в генерик имплементации уже не будет работать, и связанно оно кажется с супер буфферами. Я думаю, что в случае генерик имплементации текстура хранится в системной памяти - cpu до неё ближе и тебе не стоит на это заморачиваться.

Мне кажется выравнивание текстур в видеопамяти это дело самого компилятора. Что до выравнивания в озу - в интернете видел реализацию malloc/free отдающую только ailgned данные

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 09 Марта, 2010 - 12:52:06
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

Цитата:
и уже лет 5 точно серьезных графических приложений не делал


Мухи - игра уровня графики 10 летней давности, если не больше, так что 5 лет - не срок Улыбка))))

Цитата:
повторяющиеся расчеты в формуле можно вынести в отдельную переменную


Впринципе да... Неохота было делать лишнюю строчку ради всего 2 раз. Да и так ли уж сильно это влияет на быстродействие, если учесть... сколько времени уходит на непосредственную растеризацию с блендингом?

Цитата:
зачем это каждый раз делать в теле рендера ?


Ох, попробовал убрать, текстуры начали глючить неимоверно. Незнаю, в чем причина, вернул на место. Буду проверять на ошибки.

Цитата:
при загрузке масштабируй


Походу так и сделаю. Для разрешения 800х600 можно в два раза снизить разрешение спрайтов, картинке от этого не убудет.

------------

Снес дрова, тестирую на софтвере.

GL_UNPACK_ALIGNMENT и прочие подобные настройки не прокатили.

Еще раз перелопатил Интернет. Везде пишут, что софтверной реализацией лучше вообще не пользоваться, т.к. дикие тормоза. Все-таки попробую еще денек похимичить. А потом пишу-таки свою функцию отрисовки спрайтOFF.

(Добавление)
Цитата:
Используй что угодно, но не glVertex


Хорошо, перепишу под glDrawElements(), но помоему там не такие уж большие объемы данных, чтобы это значительно замедляло отрисовку. Вообще, я юзаю glDrawElements() в своей 3д двиге и довольно успешно, а вот тут взял и хренанул glVertex Улыбка)))

(Добавление)
А, на 'XP Улыбка) ! Все это фигня. Ради простой отрисовки спрайта использовать функционал OpenGL - маразм. Бросаю все на фиг и пишу софтварный движок для режима ухудшенного качества Улыбка

(надоело сидеть без дров. ХочеЦЦа уже в игрушку какую нидь погамать нормальную Голливудская улыбка )

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 09 Марта, 2010 - 16:30:38
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

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

Цитата:

Впринципе да... Неохота было делать лишнюю строчку ради всего 2 раз. Да и так ли уж сильно это влияет на быстродействие


Не факт, что это вообще влияет. Надо смотреть - я же тебе говорил. Если влияет - править. Это же ты собирался заниматься мегаоптимизациями, не я Улыбка Так почему бы не оптимизировать очевидное ? Улыбка

На счет glDrawElements - вполне возможно ты прав, но все равно проверь.
В 3д двигах наверное вообще лучше использовать glMultiDrawElementsExt и какие нибудь супербуфферы (или как их там зовут ?) Улыбка

Ты не просто перепиши. Переписывая меряй чем нибудь. И конечно сохраняй предыдущие версии. Чтобы если прироста все таки не будет - вернутся назад.

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 10 Марта, 2010 - 03:02:08
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

Будем бороться за FPS! Голливудская улыбка

Сейчас больше всего меня волнуют тормоза при софтверном рисовании. Оптимизации оптимизациями, темболее что я АБТЕМИСЬД Улыбка И аптемезацыи делать мне очень приятно и ентеретцно Голливудская улыбка Однако )))))) Софтверный рендер делать придется однозначно, от этого никуда не уйти.

Слава вполне может настроить свой ноутбук под Мухи, но большинство офисных рабочих и просто ноутбукеров не разбираются в компе так же хорошо, как он Улыбка Поэтому хардвар для избранных хардкорщиков Голливудская улыбка В массы подавай софтвеер.

Я конечно слышал про Iris и про его чудо летающий софтвер. но это лишнее. Как я уже написал, надо всего лишь рисовать масштабируемые спрайты и больше ничего.

Я, конечно, не знаток технологий MMX и SSE, но свои ухищрения у меня тоже будут.

------

Начало положено. Все функции, начинающиеся на gl, убрал в "обертки" с проверкой надобности их запускать, оставил места, куда буду писАть софтверные абзацы, ввел переменную bool GraphicSoftware (! Целую пирименнуЙУю! гы-гы! ) . Завтра буду делать двигатель Улыбка

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 10 Марта, 2010 - 03:36:56
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

О sse у меня статья на www.gamedev.ru

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 10 Марта, 2010 - 10:07:17
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

Ты чертовки круТ! Улыбка

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 10 Марта, 2010 - 15:04:29
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

Я к тому, что надеюсь, поможет тебе в работе.

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 10 Марта, 2010 - 16:44:00
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

Такому раздолбаю как я уже ничто не поможет Голливудская улыбка Штк. гы-гы!

Эту статью, я припоминаю, я уже давно прочитал... Так давно, что забыл Улыбка

За сегодня вспомнил-таки, как настраивается CBitmap, начал печатать функции. Да если б не дружбан, с которым мы весь день проходили Protortype, я может быть и закончил бы Улыбка Ан нет.

Зато нашел глюк в программе, который я пытался поймать вот уже месяц. Это не может не радовать Улыбка (глюк этот в игре незаметен, потому что функционал его использующий я выключил)

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 11 Марта, 2010 - 01:01:55
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

P.S.: Ни строчки кода не написал, лень была несусветная, однако все досконально обдумал (куда что писать, не буква в букву, но примерно ))) ). На всякий случай включу в игру режим Direct3D из DX8, и свой обещанный софтверный режим. Возможно хренану и DirectDraw для прикола ))) OpenGL оставлю, как один из режимов (в конце концов вдруг стукнет в бошку портировать на Пингвина Голливудская улыбка ). Все это добро будет выбираться из конфига Улыбка Какой из режимов сделать по умалчиванию, пока думаем-с...

Кстати, jm, я вычитал кое-где, что в DirectX есть некий "хороший" софтверный рендер. Может ли быть вероятность, что он окажется лучше, чем software generic OpenGL? Проверим опытным путем Улыбка))

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 15 Марта, 2010 - 00:04:06
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

В каком смысле хороший ? Есть референс растеризатор поддерживающий все возможности заявленные в dx. Другое дело, что работает он очень медленно Улыбка Вероятность есть.
Но мне например интереснее вот это:
http://www.radgametools.com/pixomain.htm
К сожалению в публичном доступе ее нет. Вещь, похоже, настолько хороша, что Тим Суини в UT2004 включил отдельно 'софтверный' рендер, использовавший pixomatic.

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 15 Марта, 2010 - 06:04:13
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

Интересная вещь Улыбка

Цитата:
Другое дело, что работает он очень медленно


Помню, запускал на первой Voodoo HalfLife с режимом DirectX, были дикие тормоза, хотя картинка была такая же, как на 3dfx. Наверное, действительно, разницы не будет. Одна надежда - если убрать фильтрацию с текстур. Ведь софтверные двиги без фильтрации работают очень быстро. Странно, что OpenGL без фильтрации работает.... Если это вообще можно назвать работой Улыбка)) Увольнять надо таких работников Голливудская улыбка))) Проверить DirectX все же будет интересно.

P.S.: Веселые Духи Benchmark Улыбка))))))

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 15 Марта, 2010 - 15:17:01
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

Значит первый voodoo на тот момент не имел драйверов с поддержкой direct3d, только и всего.

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 18 Марта, 2010 - 06:20:37
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

Ну да, там мини-драйверы всякие...

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 18 Марта, 2010 - 17:23:59
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

Ты наверное хотел сказать минипорт драйверы ? Голливудская улыбка

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 18 Марта, 2010 - 17:25:52
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

Как я мог хотеть так сказать, когда я такого слова даже не знаю Улыбка))))) В халве написано мини-драйвер, вот я и поверил опять.....

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 18 Марта, 2010 - 17:35:06
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

Эт где это там такое написано да еще и в контексте directx ?

(Отредактировано автором: 18 Марта, 2010 - 17:52:41)

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 18 Марта, 2010 - 17:52:07
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

В контексте directx нигде, только во вкладке opengl.

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 18 Марта, 2010 - 18:00:01
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

Впроде же начали говорить о Directx Улыбка
Для opengl у 3dfx была библиотека (враппер если не ошибаюсь, обертка над glide) которую называли mini gl, да.

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 19 Марта, 2010 - 04:21:26
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

Ну вот. А DirectX и "полная версия" OpenGL естественно не работали. Точнее, OpenGL не работал, а DirectX работал так, как я описал.

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 19 Марта, 2010 - 06:42:24
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

Я опять тебя не понимаю Улыбка
Что-то ты намешал намешал - то не работает directx, но оказывается говорил об opengl Улыбка

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 20 Марта, 2010 - 05:28:53
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

Ускоритель Voodoo 2Mb + видюха S3 2Mb. DirectX работал, но в софтвере и тормозил. OpenGL "полный" не работал вообще, а OpenGL с выбранным Mini-Driver работал (не летал, конечно, а на открытых пространствах даже притормаживал, но шел вполне нормально). Software конечно же работал.

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 20 Марта, 2010 - 13:58:03
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

Цитата:

DirectX работал, но в софтвере и тормозил


Это как ?

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 20 Марта, 2010 - 17:28:15
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

Как у Славы например, также тормозил, толкьо не OpenGL, а DirectX. Индивидуальности той Винды Голливудская улыбка

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 21 Марта, 2010 - 17:28:25
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

У Славы с opengl все впорядке Подмигивание Тормозят Духи Подмигивание

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 21 Марта, 2010 - 17:31:54
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

Духи не тормозят. Там нечему тормозить. Тормозит OpenGL, который Духи вызывают посредствам подключаемых библиотек, и проблема в нем. Или в криво установленной ОС. Потому что у остальных все идет отлично, в том числе и у тебя.

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 21 Марта, 2010 - 19:58:55
jm



Избранный
Откуда: Dark side of the moo ...


Вернуться к началу
Профиль :

Еще раз. Судя по тестам тормозят именно Духи Улыбка
То, что у меня не тормозит не показатель. А ты вместо того, чтобы отрицать очевидные вещи встроил бы в Духов подробную систему логирования и логировал бы полностью процесс инициализации OpenGL, а потом этот лог запросил у Славы Улыбка

(Отредактировано автором: 22 Марта, 2010 - 06:40:19)

-----
Shine on you crazy diamond
WBR jm ( aka x-ray aka ведьМЫШ )
http://vedmysh.livejournal.com

Всего записей: 528 : Дата рег-ции: Март 2005 : Отправлено: 22 Марта, 2010 - 06:37:58
LifeKILLED




Откуда: from burning desert. ...

ICQ
Вернуться к началу
WWW : Профиль :

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

Всего записей: 1694 : Дата рег-ции: Июль 2004 : Отправлено: 27 Марта, 2010 - 16:42:36
[RDWS]Aggressor



Мясник-Profi
ICQ
Вернуться к началу
Профиль :

эй! гоморджоба! я вернулся!

-----



Всего записей: 132 : Дата рег-ции: Апр. 2009 : Отправлено: 03 Мая, 2010 - 20:04:46
| Версия для печати |
| Новая тема | Ответить | | Поиск в теме |


Life Is Real
Флейм
Привед :)
[Страниц (6): « 1 2 3 4 5 [6] ]


Powered by ExBB 1.9.1
Original Style v1.5a2 created by Daemon.XP


Top.Mail.Ru