1. 程式人生 > >文章索引~SDL硬體加速

文章索引~SDL硬體加速


概念:

surface:是直接放在記憶體中的,沒有硬體加速.(SDL2

texture放在視訊記憶體中,有硬體加速SDL2


SDL wiki : https://wiki.libsdl.org/FrontPage

官網: https://www.libsdl.org/

所有版本的下載地址:https://libsdl.org/release/

最新下載地址:  https://www.libsdl.org/download-2.0.php

附加工程:https://www.libsdl.org/projects/    : 影象,字型,網路...

SDL網路:   

SDL_net 2.0  :  文件SDL_net Reference


////////SDL教程

Lazy Foo' Productions  - SDL 2 tutorials


///////////////////////////////博文

SDL2.0圖片渲染封裝

在QT5中搭建SDL2環境以及顯示bmp圖片

SDL2:生成完全透明的紋理(SDL2: Generate fully transparent texture)

//////////////////////////////////少壯要努力的部落格

SDL顯示圖片過程

SDL2.0在mfc視窗中顯示yuv的一種方法


//////////////////////////////////問題 QT+SDL 閃爍問題

QT SDL_HideWindow 崩潰

多執行緒SDL_DestroyWindow阻塞問題

SDL2 更改視窗大小,視訊卡主

(原)關於sdl在部分機器上做視訊顯示,改變顯示視窗大小會崩潰

SDL除錯心得  微笑


PS_1:

Widnows平臺下,如果SDL視窗作為一個子視窗,那麼當使用SDL_DestroyWindow時, 其內部函式會呼叫SDL_HideWindow(window),  這樣會導致視窗消失,解決的辦法是:ShowWindow(SW_SHOWNORMAL);//將想顯示視窗給顯示出來一個奇怪的地方是:如果採用 ShowWindow(

SW_SHOW); 來恢復視窗顯示, 那麼有一定的概率會導致,硬體加速失效。(這句話是猜測,我遇到了這樣的情況。)


PS_2

VC環境,子視窗硬體加速,當作業系統鎖屏的時候,然後重新登入,有可能會發生硬體重新整理失效。然而奇怪的是Qt環境下沒事!

~ 未找到解決方案。初步懷疑: SDL版本問題? 多執行緒問題?


PS_3:  常見問題統一(視窗大小改變會渲染凍結,SDL_DestoryWindow會卡死,鎖屏後DEVICELOST渲染失敗....

統一問題解決: 多執行緒問題.   

辦法(1):將SDL的有關資源的申請,釋放都放在同一個執行緒裡

辦法(2):將SDL的有關資源的申請放在一個執行緒,釋放 放在主執行緒。

辦法(3): 某一部分的資源申請或釋放放在一個執行緒,另一部分放在主執行緒。

我有的採用辦法1解決,有的採用辦法2解決,有的採用辦法3解決。(都是不同環境下)