即使显示器支持32bpp,SDL也只报告24bpp显示模式

时间:2014-12-22 15:55:05

标签: windows directx sdl

我正在尝试将我的应用程序从DirectX切换到SDL视频后端,并且刚刚完成编写返回当前显示设备所有支持的显示模式的代码。

然而,与DirectX不同,返回的颜色深度为32位,16位甚至8位,SDL返回24位和16位。

我正在使用SDL_GetNumVideoDisplays()SDL_GetNumDisplayModes()循环覆盖所有可用模式,并检查每种模式,了解SDL_GetDisplayMode()SDL_BITSPERPIXEL()的详细信息。

这是什么原因,据我所知,我的显示器应该支持32位颜色深度(它的配置也类似于我的桌面/ nvidia设置)所以为什么SDL只报告24位而完全错过8位? (不是我会关心后者)

1 个答案:

答案 0 :(得分:0)

这是一回事。显示器实际上只支持24位颜色(每个颜色通道8位)。但是很多颜色格式每像素使用32位,只留下8位未使用。