![]() |
|
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]()
|
|
| Гость_motor |
|
|||
|
Unregistered |
Проблемма вот какая. Сделал я типо игрушки в openGL - простенько без наворотов, без теней и источник света только один. Сначало все было нормально, но когда я начал делать более детализированные объекты(с большим числом полигонов) начало тупить и идти чуть ли не по кадрам, хотя на всем уровне полигонов всего наберется не больше 1000. Конечно может это я где-нить наглючил... 9)
Но уменя такое ощущение что это сдох OpenGL. Подскажите как ускорить вывод графики. Еще есть вторая проблемма. Когда я включаю полноэкранный режим. У монитора становится частота 60 гц. Шо с этим поделать? |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
Чем выводишь полигоны на экран?
Уж не glBegin/glEnd ли? Юзай glDrawArrays().. --------------------
|
|||
|
||||
| Гость_motor |
|
|||
|
Unregistered |
Да именно им родимым..... 8)
Попробую заюзать этот glDrawArrays() |
|||
|
||||
| timson |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 29.10.2004 Где: уфа Репутация: нет Всего: нет |
glDrawArrays() на много не увеличит fps, проблема скорее не в этом...
выводил нескоко десятков тысяч (~50-70) треугольников с пом. glBegin(GL_TRIANGLES), да ни че.. fps не падал ниже 15 при разрешении 800х600.. дело в другом. может быть включил glEnble() че-нить не то. (например, только включение GL_STENCIL_TEST в билдере - кошмар fps ~ 5-7).. пробуй откл. по одной функции, и ищи так слабое место. еще для оптимизации вкл.
включаешь так:
Если да то пробуй
хотя при устанавливаемом разрешении, такая частот может не поддерживаться, проверь:
|
||||||||||
|
|||||||||||
| Гость_motor |
|
|||
|
Unregistered |
Нда прикольная штука этот GL_CULL_FACE
Тока пришлось пару полигонов перерисовать. А вообще OpenGL убирает полигоны которые не поподают в угол зрения? |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
Нет вроде.. timson Спасибо огромное. Попробую --------------------
|
||||
|
|||||
| 2 Motor |
|
|||
|
Unregistered |
Всякую хрень тебе тут наболтали.
Надо просто грамотно юзать glBegin() и glEnd(). Если ты пихаешь в цикл их, то надо задуматься: может можно сделать проще и не пихать? Ибо тормоза идут, по большей части, из-за переключение граф. режимов в OGL'е. |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 2 Всего: 43 |
Нда, тыкнуть пальцев в проблемный код, которого не видел - это всегда сложно
Вообще, очень настораживает фраза
А так, как верно сказали в предыдущем посте, при таком О-О-Очень маленьком количестве полигонов проблемы вероятно просто в неправильном выводе на граф. конвеер. Добавлено @ 10:05 P.S. Поверь мне - при 1000 полигонов без теней и спец. эффектов нарисовать сцену можно и на самой слабой машине без проблем. |
|||
|
||||
![]()
|
| Вы можете найти полезным что... | |
|
|
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |