Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OpenGL: многопоточность 
:(
    Опции темы
Randajad
Дата 9.10.2012, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

На таком простом примере проблем нет. Но встают дальнейшие глобальные проблемы. Как рисовать большую сцену из многих мешей? Как реализовывать Occlusion Query? Какие еще способы повышения производительности можно реализовать? Какие проблемы при этом будут?

С уважением.
PM MAIL   Вверх
Randajad
Дата 9.10.2012, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Почитал интернетов. Говорят, производительность от того, что я буду вызывать функции опенгеля в разных потоках, не повысится. Так ли это?
PM MAIL   Вверх
Alexeis
Дата 9.10.2012, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



  Правильно говорят. На самом деле функции опенгла почти ничего не делают во время вызвова. Они лишь формируют команды, которые будут исполнятся движком. Функции написаны так, чтобы не отъедать много проца. Большая часть работы будет делаться видеокартой и параллелится на ней (на видеокарте) при возможности. Ускорение может быть только при не оптимальном использовании или если не установлены драйвера OpenGL и используется софтовый рендер. Возможно процом считаются операции матричных преобразований. Эти операции могут отнимать немало процессорных ресурсов. В любом случае к вопросу распараллеливания следует подходить если довольно оптимальный алгоритм отъедает уже 50-70% проца и больше. Но в любом случае, нет смысла заниматься передачей вершин в разных потоках. Эта задача не ресурсоемкая.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
tzirechnoy
Дата 9.10.2012, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

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



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

PM MAIL   Вверх
Alexeis
Дата 9.10.2012, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(tzirechnoy @  9.10.2012,  17:57 Найти цитируемый пост)
 И если пойдут характерные задачи, на которых оно будет являться -- скорее всего, и без вас распараллелят внутри реализацыи.

  Тем не менее современные игры, не смотря на аппаратное ускорение сильно используют процессор. Правда все же, я думаю, что распараллеливают все таки не рендер. там очень много ресурсов есть физика, т.е. проверка коллизий, ИИ, расчет механики сцен и т.д.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




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


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

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