簡體   English   中英

Open gl es - 如何提高性能,渲染紋理,混合

[英]Open gl es - How to improve performance, render to texture, blending

我在這里是因為我正在開發一個OpenGL程序,而且我在性能方面存在一些問題。 我在iMX6 soc上使用OpenGL ES 3.0。

這是我的算法:

  1. 我從相機獲得一個直接映射到紋理的圖像。 使用FBO,我渲染到紋理以在特定表單上映射圖像。

  2. 我為另一個圖像執行相同的操作(使用第二個FBO),該圖像由另一個應用程序通過共享內存發送。 僅在更新圖像時才執行此步驟。 每秒只有一次。

  3. 我將這兩個紋理混合在默認的幀緩沖區中,以將結果呈現給屏幕。

如果我單獨執行這三個步驟,它運行良好,屏幕更新為30FPS。 但是當我在一個程序中包含三步時,渲染非常慢,而我只有0.5FPS。

我想知道iMX6上的GPU是否足夠強大,但我認為它不是一個復雜的算法。 我想我正在以錯誤的方式做某事,但是什么呢? 我使用3個不同的幀緩沖區,這是一個好方法還是應該只使用一個?

有人可以給我答案,線索,任何可以幫助我的東西嗎? :-)

我的圖片尺寸為1280x1024 x RGBA。 然后我正在做一些從浮點紋理到整數並返回到浮點數的轉換,這是為了對像素執行按位運算。

感謝@Columbo,問題來自於所有轉換,我使用浮點紋理,並且只針對按位操作我進行轉換,這提高了算法的性能。

降低性能的另一點是紋理格式。 第一步,圖像為1280x1024,但僅限於一個組合圖像(灰度圖像)。 為了保留灰度合成器並且不使用太多內存,我使用了GL_RED紋理,但這不是一個好主意,因為當我將其更改為GL_RGB時,我也將渲染的幀速率加倍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM