SDL 3.2:第一个官方稳定版本发布,包含对 Wayland 的改进、新的 API 等

SDL 是一组用 C 编程语言开发的库,提供执行多媒体操作(音频和视频)以及图像加载和管理的基本功能。

近日, 宣布发布 SDL 3.2, 它是 SDL 3 分支的第一个稳定版本,它引入了重要的改进、新功能、调整、API、更正等。

对于那些不了解SDL库的人来说,您应该知道它提供了诸如硬件加速2D和3D图形输出、输入处理、音频播放、通过OpenGL/OpenGL ES的3D输出以及许多其他相关操作等工具。

SDL 3.2 的主要新特性

在SDL 3.2中,突出显示 改进了对 Waylan 的支持d、现在 它在提供兼容性的系统上默认激活 与 Wayland 和 X11 一起, 只要它们支持 fifo-v1 和 commit-timing-v1 扩展。默认情况下也会优先考虑使用 PipeWire 媒体服务器,该服务器被认为比 PulseAudio 更高效。此外,如果 PipeWire 可用,还添加了从网络摄像头捕获视频的功能。

另一个新颖之处是 添加了对绘图板和数字笔的支持,以及对 DPI 显示器的优化支持。同样,色彩空间管理也已实现,允许您使用多种配置并为 HDR 提供初步支持。

在声音改进方面, 在 SDL 3.2 中,代码已完全重新设计, 合并新工具来管理逻辑音频设备, 使程序的不同部分更容易使用独立的设备进行操作。此外,还包括处理音频流、执行转换、调整采样率、混合声音和管理缓冲的功能,以及修改音调和音量的功能。最后,已连接或断开的声音设备的识别以及默认声音设备的动态管理已实现自动化。

另一个最值得注意的补充 是在 2D 渲染 API 中合并后端,它允许您利用 Vulkan 的强大功能 使用此 API 进行渲染和操作表面。此外,还对被认为过时的功能进行了重大清理,例如对 OpenGL ES 1.0 和 DirectFB 的支持,并删除了对 QNX、Pandora、WinRT 和 OS/2 等旧平台的支持。

SDL 3.2 还引入了 使用回调构建程序并定义处理循环的可能性 事件直接在代码的主函数中。此外,并在 AP 中实施了更改我打破了以前的兼容性,但通过统一所有子系统中的命名规则来寻求更大的一致性。

包含新工具,重点介绍了几个旨在满足不同需求的 API。 它们之间:

  • GPU API 可以跨平台访问 3D 渲染功能,而 Dialog API 可以轻松选择、打开和保存文件和目录。
  • 文件系统 API 添加了对管理目录和搜索文件的支持,而存储 API 则提供了用于与各种存储系统交互的抽象接口。
  • 用于网络摄像头访问的摄像头 API
  • 用于使用绘图板的 Pen API
  • 用于管理键值格式参数的 Properties API
  • 进程 API,有助于辅助进程的执行和通信。
  • 还添加了元数据 API 来定义有关应用程序的信息,如 macOS 等操作系统的菜单中所使用的信息。

至于剪贴板,它的功能得到了扩展, 现在允许以多种格式传输数据。就其本身而言,管理键盘输入的功能得到了改进,添加了在 iOS 和 Android 设备上配置虚拟键盘的选项。此外,还审查和改进了 API 文档,并附有可直接从浏览器执行的实际示例。

最后但并非最不重要的一点是,还应该指出的是 与 SDL 3.2 一起发布了 sdl2-compat 兼容层, 设计的 提供 SDL 2 和 SDL 3 之间的无缝过渡。该组件允许您利用新分支的功能来运行为 SDL 2 编写的程序,从而完全替代以前的版本。

有兴趣了解更多可以咨询详情 在下面的链接中。