我的同事和我正在研究視頻渲染引擎。多個孤立的OpenGL上下文是否影響性能
整個想法是解析配置文件並將每幀渲染到離屏FBO,然後使用glReadPixel獲取幀渲染結果以進行視頻編碼。
我們試圖通過創建兩個線程來優化渲染速度,每個線程都有一個獨立的OpenGL上下文。一個線程渲染奇數幀,另一個渲染偶數幀。這兩個線程不共享任何gl資源。
結果相當混亂。在我的電腦上,與我們的單線程實現相比,渲染速度有所提高,而在我的合作伙伴的計算機上,整個速度下降。
我在這裏想知道,OpenGL上下文的數量如何影響整體性能。如果不共享任何東西,創建多個OpenGL線程真的是一個好主意。
感謝您的回覆,這個答案真的爲我指出了道路。視頻編碼是在單獨的線程上完成的。而且我不使用PBO是因爲我的目標設備OpenGL版本不支持它。 – TwilightSun 2014-10-22 06:47:03
@TwilightSun:天哪,你的目標設備有多大?OpenGL實現如果不支持PBO?這個功能是古老的東西,由不到10年的一切支持。你可能不得不使用OpenGL擴展,但你很難找到一個現在不支持它的實現。 – datenwolf 2014-10-22 07:49:16