
Gần đây việc phát hành SDL 3.2 đã được công bố, được trình bày dưới dạng phiên bản ổn định đầu tiên của nhánh SDL 3 và nó đã giới thiệu những cải tiến quan trọng, chức năng mới, điều chỉnh, API, sửa lỗi, v.v.
Đối với những người chưa biết về thư viện SDL, bạn nên biết rằng nó cung cấp các công cụ như đầu ra đồ họa 2D và 3D được tăng tốc phần cứng, xử lý đầu vào, phát lại âm thanh, đầu ra 3D thông qua OpenGL/OpenGL ES và nhiều hoạt động liên quan khác.
Các tính năng mới chính của SDL 3.2
Trong SDL 3.2, nó được tô sáng Cải thiện hỗ trợ cho Wayland, bây giờ Nó được kích hoạt theo mặc định trên các hệ thống cung cấp khả năng tương thích với cả Wayland và X11, miễn là chúng hỗ trợ các tiện ích mở rộng fifo-v1 và commit-time-v1. Việc sử dụng máy chủ phương tiện PipeWire, được coi là hiệu quả hơn PulseAudio, cũng được ưu tiên theo mặc định. Ngoài ra, khả năng quay video từ webcam đã được thêm vào, miễn là có sẵn PipeWire.
Một điều mới lạ khác là Đã thêm hỗ trợ cho máy tính bảng đồ họa và bút kỹ thuật số, cùng với sự hỗ trợ tối ưu cho màn hình DPI. Tương tự, tính năng quản lý không gian màu đã được triển khai, cho phép bạn làm việc với nhiều cấu hình và cung cấp hỗ trợ ban đầu cho HDR.
Trong cải tiến âm thanh, Trong SDL 3.2 mã đã được thiết kế lại hoàn toàn, kết hợp các công cụ mới để quản lý các thiết bị âm thanh hợp lý, giúp các phần khác nhau của chương trình hoạt động dễ dàng hơn với các thiết bị độc lập. Ngoài ra, chức năng đã được đưa vào để làm việc với các luồng âm thanh, thực hiện chuyển đổi, điều chỉnh tốc độ mẫu, trộn âm thanh và quản lý bộ đệm, cùng với khả năng sửa đổi cao độ và âm lượng. Cuối cùng, việc nhận dạng các thiết bị âm thanh được kết nối hoặc ngắt kết nối và quản lý động của thiết bị âm thanh mặc định đã được tự động hóa.
Một trong những bổ sung đáng chú ý nhất là sự kết hợp của phần phụ trợ trong API kết xuất 2D, cho phép bạn tận dụng sức mạnh của Vulkan cho cả việc hiển thị và thao tác các bề mặt bằng API này. Ngoài ra, còn có một đợt dọn dẹp lớn các tính năng được coi là lỗi thời, chẳng hạn như hỗ trợ OpenGL ES 1.0 và DirectFB, cùng với việc loại bỏ hỗ trợ cho các nền tảng cũ như QNX, Pandora, WinRT và OS/2.
SDL 3.2 cũng giới thiệu khả năng cấu trúc các chương trình bằng cách sử dụng lệnh gọi lại và xác định vòng lặp xử lý của các sự kiện trực tiếp trong chức năng chính của mã. Hơn nữa, svà thực hiện các thay đổi trong APTôi phá vỡ tính tương thích trước đó nhưng tìm kiếm sự gắn kết cao hơn bằng cách thống nhất các quy tắc đặt tên trong tất cả các hệ thống con.
Trong bao gồm các công cụ mới, nêu bật một số API được thiết kế để đáp ứng các nhu cầu khác nhau. Giữa họ:
- API GPU cho phép truy cập đa nền tảng vào các chức năng kết xuất 3D, trong khi API Dialog giúp dễ dàng chọn, mở và lưu tệp và thư mục.
- API hệ thống tệp bổ sung hỗ trợ quản lý thư mục và tìm kiếm tệp, trong khi API lưu trữ cung cấp giao diện trừu tượng để tương tác với các hệ thống lưu trữ khác nhau.
- API máy ảnh để truy cập webcam
- API bút để làm việc với máy tính bảng đồ họa
- API thuộc tính để quản lý tham số ở định dạng khóa-giá trị
- API quy trình tạo điều kiện thuận lợi cho việc thực thi và liên lạc với các quy trình thứ cấp.
- API siêu dữ liệu cũng được thêm vào để xác định thông tin về ứng dụng, như được sử dụng trong menu trong hệ điều hành như macOS.
Đối với clipboard, chức năng của nó đã được mở rộng, hiện cho phép dữ liệu được chuyển ở nhiều định dạng. Về phần mình, khả năng quản lý đầu vào bàn phím đã được cải thiện, bổ sung thêm các tùy chọn để định cấu hình bàn phím ảo trên thiết bị iOS và Android. Ngoài ra, tài liệu API đã được xem xét và cải tiến, kèm theo các ví dụ thực tế có thể được thực thi trực tiếp từ trình duyệt.
Cuối cùng nhưng không kém phần quan trọng, cũng cần lưu ý rằng Cùng với SDL 3.2, lớp tương thích sdl2-compat đã được phát hành, thiết kế để cung cấp sự chuyển đổi liền mạch giữa SDL 2 và SDL 3. Thành phần này cho phép bạn chạy các chương trình được viết cho SDL 2 bằng cách tận dụng các chức năng của nhánh mới, hoạt động như một sự thay thế hoàn toàn cho phiên bản trước.
Muốn biết thêm về nó, bạn có thể tham khảo chi tiết Trong liên kết sau đây.