Модераторы: Rickert
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Медлено рисует OpenGL 
:(
    Опции темы
inkognitum
Дата 23.8.2008, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 11.8.2006
Где: г. Набережные Чел ны

Репутация: нет
Всего: 1



Добрый день.
Вот столкнулся с такой проблемой.
Рисую множество геометрических фигур с помощью OpenGL. Сама считалка геометрических фигур выполняется достаточно быстро. Раньше все рисовал с помощью GDI+, сейчас переписал все на OpenGL, результат понравился все рисуется быстро, но на некоторых тачках у которых встроеная видяха все рисуется медленней чем на GDI+, и опять же на некоторых тоже со встроенными видяхами все нормально..

в чем может быть проблема?! Все проверяемые компы были довольно современны скажем так офисного класса..
и опять же другие программы аналогичные и даже мощнее на тех же компах где моя программа тормозила летали без тормозов.


в чем может быть проблема? может существуют какие ускорители рисования?!

Заранее спасибо.

P.S. Пишу на C#, использую для работы OpenGL интегрированную с помощью вот этой статьи:
http://www.rsdn.ru/article/files/dotnet/openglbase.xml

Это сообщение отредактировал(а) inkognitum - 23.8.2008, 18:27
--------------------
"Убить всех людей!" (с) Bender
PM MAIL ICQ Skype   Вверх
Rickert
Дата 25.8.2008, 02:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 6
Всего: 52



inkognitum
0) Когда вы работаете с C# на максимальную производительность и отдачу от железа можете забыть.
1) Есть тонны методов отбрасывать обработку тех фигру, которые не видны. bsp-tree, octree, порталы, frustum culling.
2) Всё зависит от того как вы рисуете объекты. Используете ли список, пользуетесь ли индексами.
3) Вы говорите о том, что сама считалка фигур работает быстро: во-первых всё в мире относительно и что значит ваше быстро? Во-вторых: а зачем при каждом отображении их просчитывать? Я так понял что вы их постоянно расчитываете, раз говорите о скорости их просчёта? Надо сначала просчитать, записать, и выводить потом уже. Если конечно не нужно постоянно менять параметры их геометрических просчётов.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Rpahut
Дата 25.8.2008, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

Репутация: 5
Всего: 7



Скорее всего где-то в коде ошибка. У мну такое было когда я неправильных размеров текстуру запихивал - не знаю как другие видеокарты, моя в таком случае рисует, но оч-чень медленно, вроде на программную эмуляцию слетает.
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
Rickert
Дата 26.8.2008, 03:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 6
Всего: 52



Rpahut, текстура должна быть квадратной и размер кратен 2


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Rpahut
Дата 27.8.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

Репутация: 5
Всего: 7



Rickert smile  согласен
Но политика OGL - терпеть ошибки и по возможности продолжать работу. Хотя бы и с черепашьей скоростью.
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
Rickert
Дата 27.8.2008, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 6
Всего: 52



Rpahut, если ты будешь использовать mipmapping - то OpenGL сгенерирует текстуры всё равно квадратными, но естественно деформированными. Если не будет использован mimapping - то, насколько мне помнится, OGL просто не загрузит текстуру. Но это не точно, я не проверял.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
$tatic
Дата 28.8.2008, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: 7
Всего: 22



Насколько я понял из разговора с автором топика, то видеокарта Интел.
PM MAIL   Вверх
Rpahut
Дата 28.8.2008, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

Репутация: 5
Всего: 7



Кстате, inkognitum, есть новости?

Rickert, я вобще для примера про текстуры сказал, но [offtop]огл должен возвращать ошибку, если текстура неправильных размеров, все остальное зависит от реализации.[/offtop] Если ошибку проглядеть, она на разных машинах может по разному проявляться. И это касается уже не только текстур.
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
inkognitum
Дата 11.9.2008, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 11.8.2006
Где: г. Набережные Чел ны

Репутация: нет
Всего: 1



Извиняюсь за простой.
На самом деле все оказалось гораздо проще.


Я перевел все на библиотеку Tao и все стало работать на удивление быстро. Даже на слабых тачках.
На счет того что надо все прерисовывать.

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

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

Ну вопрос можно считать решенным, спасибо всем кто помогал. переход на библиотеку Tao помогла.
--------------------
"Убить всех людей!" (с) Bender
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0634 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.