文章索引~SDL硬件加速

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011430225/article/details/53201231


概念:

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图片


//////////////////////////////////少壮要努力的博客

SDL显示图片过程

SDL2.0在mfc窗口中显示yuv的一种方法


//////////////////////////////////问题

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解决。(都是不同环境下)






猜你喜欢

转载自blog.csdn.net/u011430225/article/details/53201231