Russian Qt Forum
Ноябрь 25, 2024, 07:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: GL засунуть в нить  (Прочитано 4993 раз)
west
Гость
« : Ноябрь 16, 2008, 20:20 »

То что надо рисовать в ГПИ я знаю. А вот чего функции OpenGL'я по расчету каких-нибудь массивов в потоках валятся? Или весь Gl потоконебезопасный? Я в нем вообще не спец, так, докручиваю готовый код. Пытаюсь вот ускорить отделные моменты, или хоть GUI пользователя освободить во время расчета, фацетов, например. Подскажите, плз, потоки и GL  как-то совместимы (настройки, например), или на будет заводить кучу дочерних процессов?
Записан
Sergeich
Гость
« Ответ #1 : Ноябрь 16, 2008, 21:27 »

А под какую платформу надо? если под Х, то и сами иксы потоконебезопасны, если не пользовать XInitThreads. Если под вынь, глянь сюды: http://support.microsoft.com/kb/128122
Записан
west
Гость
« Ответ #2 : Ноябрь 17, 2008, 11:49 »

Платформа Linux... А XInitThreads может помочь?
Записан
Sergeich
Гость
« Ответ #3 : Ноябрь 17, 2008, 15:03 »

А XInitThreads может помочь?
Если ты юзаешь иксовые вызовы из разных потоков (в том числе GLX-вызовы), то просто должен ее использовать.
Записан
west
Гость
« Ответ #4 : Ноябрь 17, 2008, 15:19 »

Сейчас я вызываю GLX функцию (gluScaleImage) в QThread нитке. Использовать  XInitThreads для таких дел? А приложение от QApplication может остаться? Надо порыться по поводу  XInitThreads, честно говоря...
Записан
west
Гость
« Ответ #5 : Ноябрь 17, 2008, 15:29 »

В man'е по XInitThreads() :
"This function must be the first Xlib function a multi-threaded program calls, and it must complete before any other Xlib call is made." - чего-то я не въехал, пишу, получается XInitThreads() в main()  своего приложения, и все заработало?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 20.