The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск мультимедийной библиотеки SDL 2.26.0

24.11.2022 11:02

Состоялся релиз библиотеки SDL 2.26.0 (Simple DirectMedia Layer), нацеленной на упрощение написания игр и мультимедийных приложений. Библиотека SDL предоставляет такие средства как аппаратно-ускоренный вывод 2D- и 3D-графики, обработка ввода, воспроизведение звука, вывод 3D через OpenGL/OpenGL ES/Vulkan и множество иных сопутствующих операций. Библиотека написана на языке Си и распространяется под лицензией Zlib. Для использования возможностей SDL в проектах на различных языках программирования предоставляются необходимые обвязки.

В новом выпуске:

  • Заголовочные файлы для OpenGL приведены в соответствие с последними спецификациями консорциума Khronos.
  • Добавлена функция SDL_GetWindowSizeInPixels() для получения пиксельного размера окна, который из-за применения масштабирования может отличаться от логического размера на экранах с высокой плотностью пикселей (high-DPI).
  • В код программного рендеринга добавлена симуляция вертикальной синхронизации (vsync).
  • Обеспечена передача позиции мыши в SDL_MouseWheelEvent.
  • Добавлена функция SDL_ResetHints() для сброса всех признаков (hint) в значения по умолчанию.
  • Добавлена функция SDL_GetJoystickGUIDInfo() для получения сведений о джойстике, закодированной в GUID.
  • В драйвер HIDAPI добавлена поддержка контроллеров PS3 и Nintendo Wii.
  • Добавлены новые признаки: SDL_HINT_JOYSTICK_HIDAPI_PS3, SDL_HINT_JOYSTICK_HIDAPI_WII, SDL_HINT_JOYSTICK_HIDAPI_XBOX_360, SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED, SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE, HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED, SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED, SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS и SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS для управления контроллерами XBox 360 и PS3 через драйвер HIDAPI.
  • Предоставлена возможности раздельного доступа к левому и правому гироскопам в комбинированных контроллерах Nintendo Switch Joy-Cons.
  • В SDL_SensorEvent, SDL_ControllerSensorEvent, DL_SensorGetDataWithTimestamp() и SDL_GameControllerGetSensorDataWithTimestamp() добавлена поддержка микросекундных интервалов.
  • В функции SDL_GetRevision() расширены сведения о сборке SDL, например, добавлен хэш git-коммита.
  • Для Linux реализованы функции SDL_SetPrimarySelectionText(), SDL_GetPrimarySelectionText() и SDL_HasPrimarySelectionText() для взаимодействия с основным буфером обмена.
  • Добавлен признак SDL_HINT_VIDEO_WAYLAND_EMULATE_MOUSE_WARP для управления эмуляцией курсора мыши в окружениях на базе Wayland.
  • При сборке для Android включён ввод с программной клавиатуры IME (Input Method Editor).


  1. Главная ссылка к новости (https://discourse.libsdl.org/t...)
  2. OpenNews: Выпуск мультимедийной библиотеки SDL 2.0.22
  3. OpenNews: Разработчики SDL отменили переход на Wayland по умолчанию в выпуске 2.0.22
  4. OpenNews: Выпуск библиотеки SDL_sound 2.0
  5. OpenNews: Первый выпуск sdl12-compat, слоя совместимости с SDL 1.2, работающего через SDL 2
  6. OpenNews: Мультимедийная библиотека SDL переходит на использование Wayland по умолчанию
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/58185-sdl
Ключевые слова: sdl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, neon1ks (ok), 11:25, 24/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > В код программного рендеринга добавлена симуляция вертикальной синхронизации (vsync).

    Nice.

     
     
  • 2.2, ryoken (ok), 12:31, 24/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не под соусом ли того, что VSync отключаемый собираются внедрять в Воланда?
     
     
  • 3.4, just_zhenya (?), 12:33, 24/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, причём здесь это? Если приложение захочет выключить для себя vsync, ему надо быть во-первых на весь экране, во-вторых явно этого попросить. Пока не попросит, всинк будет включен.
     
     
  • 4.9, Попандопала (?), 13:37, 24/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У меня в nvidia-settings vcunk включен,но не смотря на это его как бы и нет что ли? Он только в игре на весь экран появляется,а в браузере когда видосики смотришь его тоже нет?
     
     
  • 5.18, Zenitur (ok), 21:35, 24/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    VSync применяется только для OpenGL-приложений. Чтобы VSync применялся для всех приложений, тебе надо включить композитинг.

    В KDE 4 и 5, а также в GNOME Shell, композитинг включен по умолчанию. Если у тебя другое DE, например LXDE, тогда сделай следующее.

    Создай любой файл, например /home/username/bin/compositing.sh

    Скопируй туда этот скрипт:

    #! /bin/sh
    nvidia-settings --load-config-only
    sleep 1
    compton --vsync opengl

    Сохрани. Дай файлу параметр исполняемости. chmod +x /home/username/bin/compositing.sh

    Теперь добавь в автозагрузку. Теперь у тебя не будет тиринга

    Ах да, сами программы nvidia-settings и compton должны быть установлены в системе

     
  • 4.12, Аноним (12), 16:45, 24/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Но зачем кому-то может понадобиться выключать VSync?
     
     
  • 5.13, grayich (ok), 17:07, 24/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    игры
     
     
  • 6.15, Аноним (15), 19:59, 24/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Большинство игр комфортнее играть с включенной вертикальной синхронизацией. Это только мамкиным киберспоркотлетам нужен минимальный "интпут лаг" на 60 герцовых мониторах, тем кому действительно нужны минимальные задержки покупают мониторы с частотой 120+ герц где уже все равно включен vsync или нет.
     
     
  • 7.16, Аноним (16), 21:24, 24/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я в игры играю от случая к случаю. Сейчас я всё бросил и побежал геймерский монитор покупать. А замена может оказаться крайне недешёвой, при тех же характеристиках в остальном. А небольшой тиринг лично я практически не замечаю.
     
  • 7.22, Аноним (22), 12:50, 26/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Крайне несогласен. Это сильно зависит от самой игры.
    В тех же TES & Fallout от Bethesda с неотключаемой вертикальной синхронизацией очень неприятно управлять камерой. Из-за V-Sync таковая "плавает", т.е. перемещается с некоторой инерцией, будто игровой персонаж вращает голову в вязкой жидкости. В сражениях мешает.
     
  • 7.23, Аноним (22), 12:51, 26/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А проблема, которую решает V-Sync (избегание разрыва кадров) может также легко решаться с помощью высокой частоты кадров. Не 60, а 120 кадров/сек.
     
     
  • 8.27, Аноним (27), 03:18, 28/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то никак не решает, а лишь усугубляет ... текст свёрнут, показать
     
  • 6.20, Аноним (20), 14:44, 25/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И поиметь тиринг? Не, пасибо. С vsync гораздо лучше играется )
     
     
  • 7.25, grayich (ok), 20:35, 26/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    в минёра, безусловно


     
  • 3.6, Аноним (6), 12:41, 24/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я так понял из новости это только для софтрендера.
     
     
  • 4.10, Аноним (10), 13:37, 24/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Очевидно, просить видеокарту синхронизировать только часть экрана бесполезно даже в нормальных десктопных операционках =/
     

  • 1.11, Аноним (12), 16:43, 24/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Зачем кому-то вообще нужен DirectX когда есть вот это?
     
     
  • 2.14, Аноним (14), 18:09, 24/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мкрософт похоже тоже стал это понимать: https://www.opennet.ru/opennews/art.shtml?num=58178
     
  • 2.17, Аноним (16), 21:25, 24/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Затем, что вот это DirectX вовсю использует.
     

  • 1.19, Аноним (19), 13:59, 25/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно, добавят ли когда-нибудь поддержку создания SDL окна в существующем окне для OpenGL (без левых патчей под win32)?
     
     
  • 2.21, Доктор Шариков (?), 06:36, 26/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    SDL_CreateWindowFrom
     
     
  • 3.26, Аноним (19), 21:38, 26/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я знаю про эту функцию. Однако, при создании контекста(SDL_GL_CreateContext) на не Win платформе, функция вернет null, потому что не помечает opengl флаг для embedded окна (https://gamedev.stackexchange.com/questions/110205/context-is-null-with-sdl-cr). Видимо эту проблему разрабы решили закопать вместе со всем OGL.
     

  • 1.24, Аноним (24), 18:58, 26/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Живёшь, живёшь обновил mpv, а в новой версии mpv звук уже не может выводиться через SDL, но появилась возможность выводить звук через OpenAL.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру