Войти
AndroidФорумОбщее

GL и несколько потоков

#0
15:57, 5 июня 2013

Хочется заливать текстуры в видеопамять из другого потока. В Windows работать из нескольких потоков можно так:

//Main Thread:

//...

hRC1 = wglCreateContext(hDC);

hRC2 = wglCreateContext(hDC);

wglShareLists(hRC2, hRC1);



wglMakeCurrent(hRC1);



//Secondary Thread:

//...

wglMakeCurrent(hRC2);

Есть ли аналог для андроида?


#1
18:26, 5 июня 2013

Tiarwe
> Есть ли аналог для андроида?
А что говорил спецификация EGL ? тут читал ? http://www.khronos.org/egl

#2
21:00, 5 июня 2013

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

#3
9:56, 6 июня 2013

j7wk
Для загрузки ресурсов. Один поток рендерит, в то время как в другом загружаются текстуры.

Кажется нашёл, говорят функция eglCreateContext(display, config, rendering_context, attrs) поможет, 3 параметр - основной контекст.

#4
18:41, 6 июня 2013

Tiarwe
расскажи потом, что получилось.

#5
20:22, 6 июня 2013

Помеха

расскажи потом, что получилось.

По-моему на этом форуме было предостаточно дискуссий на эту тему (бесполезность с точки зрения производительности и дополнительные глюки загрузки ресурсов из разных потоков), вплоть до того, что у какого-то разработчика многопоточность не работала на конкретных мобильных устройствах (если память не изменяет).
#6
22:45, 6 июня 2013

gkv311
вот мне и интересно. А вдруг взлетит?

#7
9:14, 7 июня 2013

Есть мнение, что не на всех устройствах можно расшарить GL контекст.

#8
14:59, 7 июня 2013

Я бы не рисковал. В отдельном потоке я бы только готовил данные для отправки (декодировал PNG и т.д.), чтобы в основном осталось только glTexImage2D() вызвать.

#9
15:10, 7 июня 2013

проходил через это, смысла шарить контексты нет
гружу текстуры в отдельном потоке, а заливаю на gl в основном

#10
21:38, 7 июня 2013

Tiarwe
Забей на эту идею. Разобраться со спекой по
EGL - 4-5 часов вдумчивого чтения.

А вот обойти все те грабли, которые добросовестно для вас разложили
писатели драйверов для самых разных видеокарт/ОС, задача для
сверхчеловека.

Тред с обсужданиями криворуких драйверов и ссылку в мозиловскую багзилу
http://www.gamedev.ru/code/forum/?id=173071

AndroidФорумОбщее

Тема в архиве.