The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В библиотеке SDL3 отложили переход на Wayland по умолчанию, opennews (??), 26-Мрт-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


40. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  –4 +/
Сообщение от n00by (ok), 26-Мрт-24, 13:07 
Кто-то может объяснить, зачем нужна SDL, если пишется под Vulkan?
Ответить | Правка | Наверх | Cообщить модератору

41. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от сщта (?), 26-Мрт-24, 13:09 
Потому что - дексвк. По другому не работает так как легаси.
Ответить | Правка | Наверх | Cообщить модератору

89. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +1 +/
Сообщение от Аноним (315), 26-Мрт-24, 14:55 
События от контроллеров через Vulkan обрабатывать будешь? Звук через Vulkan выводить будешь? Ну и так далее.
Ответить | Правка | Наверх | Cообщить модератору

203. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от n00by (ok), 26-Мрт-24, 18:31 
Вопрос "пишется под Vulkan", очевидно, касается исключительно вывода графики.
Ответить | Правка | Наверх | Cообщить модератору

424. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от wyry (?), 02-Апр-24, 00:20 
Давайте так: вы МОЖЕТЕ использовать SDL для вывода графики на OpenGL или Vulkan УЖЕ СЕГОДНЯ (и задолго до сегодня), если захотите. SDL как либа обеспечивает менеджмент графического приложения, обработку событий устройств, звук и прочие радости, если вам не нужен Vulkan и вы пишете используя стандартную функциональность SDL - он в общем случае сам выбирает как именно ему рисовать (под Винду он вообще может "за кадром" через Direct3d выводить графику и вам об этом не сказать и это абсолютно нормально). По сути пользуясь стандартным функционалом SDL разработчик в общем случае вообще не должен париться о том как он будет рисовать, а если же разработчик явно использует Vulkan или OpenGL, то здесь в свою очередь предполагается, что разработчик знает что он делает и как он хочет рисовать графику вне стандартного функционала SDL (но используя его многочисленные другие функции, ради которых первоначально всё и затевалось). Сам исходный ваш вопрос совершенно некорректен.
Ответить | Правка | Наверх | Cообщить модератору

426. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от n00by (ok), 02-Апр-24, 10:33 
В общем, если мне не нужен Vilkan, а нужна некая "универсальность", я могу взять SDL. Если действительно нужен Vilkan, я не буду брать SDL, как минимум из-за этого https://github.com/libsdl-org/SDL/blob/02c63667c7b8107bb2958...

> Сам исходный ваш вопрос совершенно некорректен.

А он и не обязан быть понятен каждому, как и проблема копи-пасты из Vulkan Tutorial по ссылке выше.

Ответить | Правка | Наверх | Cообщить модератору

53. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от Аноним (53), 26-Мрт-24, 13:32 
Вопрос примерно такой же сложности как и вопрос

Зачем нужен Linux если у меня есть загрузчик Grub ?

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

205. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  –2 +/
Сообщение от n00by (ok), 26-Мрт-24, 18:33 
Если что-то не понятно в моём вопросе, попробуйте уточнить, что именно. Главное, не стесняйтесь, но и троллить не надо.
Ответить | Правка | Наверх | Cообщить модератору

83. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от Аноним (78), 26-Мрт-24, 14:31 
Vulkan не управляет окном приложения, например. То есть в Vulkan нет вообще никакого общения с графической частью ОС, это низкоуровневый API для общения с почти драйвером GPU.

В какой-нибудь воображаемой однозадачной ОС (что-нибудь вроде VulkanDOS) наверное SDL и не нужен.

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

202. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от n00by (ok), 26-Мрт-24, 18:27 
> Vulkan не управляет окном приложения, например. То есть в Vulkan нет вообще
> никакого общения с графической частью ОС, это низкоуровневый API для общения
> с почти драйвером GPU.

Это мне известно, потому и задаю вопрос.


/** Создаёт связанную с Воландом поверхность Вулкан. */
static VkResult surface_create(VkSurfaceKHR *surface, struct wl_display *display, struct wl_surface *window)
{
    const struct VkWaylandSurfaceCreateInfoKHR surfinfo = {
        .sType      = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR,
        .pNext      = NULL,
        .flags      = 0,
        .display    = display,
        .surface    = window,
    };
    return vkCreateWaylandSurfaceKHR(instance, &surfinfo, allocator, surface);
}


Ответить | Правка | Наверх | Cообщить модератору

102. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +1 +/
Сообщение от Аноним (163), 26-Мрт-24, 15:35 
Пиндузятникам и не понять, в силу ограниченности представлений.

А нормальным людям нужны кроссплатформенные: окно, обработка ввода, графический контекст (поддержка Вулкана на железе всё ещё оставляет желать, зато OpenGL самых новых версий поддерживается уже везде). Это как минимум.

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

207. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  –1 +/
Сообщение от n00by (ok), 26-Мрт-24, 18:37 
> нужны кроссплатформенные

Вулкан как раз кроссплатформенный. Остальная часть твоего сообщении не содержит информации.

Ответить | Правка | Наверх | Cообщить модератору

230. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +2 +/
Сообщение от Аноним (230), 26-Мрт-24, 19:26 
> Остальная часть твоего сообщении не содержит информации

То есть "окно, обработка ввода" ты тактично пропустил, да? Молодец, оправдываешь свой ник.

Ответить | Правка | Наверх | Cообщить модератору

251. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от n00by (ok), 26-Мрт-24, 21:00 
По поводу окна смотри выше мой код. Ввод к выводу графики не относится.
Ответить | Правка | Наверх | Cообщить модератору

330. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от Вы забыли заполнить поле (?), 27-Мрт-24, 12:14 
Ввод, звук, окошки и вот это вот всё нужно для игор и медийных приложений. Для чего SDL и существует, ты лоб.
Ответить | Правка | Наверх | Cообщить модератору

339. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от n00by (ok), 27-Мрт-24, 12:55 
Я не спрашивал, зачем нужен SDL для "медийных приложений", это мне и так понятно. Я спрашивал, зачем нужен SDL для вывода графики через Vulkan.
Ответить | Правка | Наверх | Cообщить модератору

354. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от Вы забыли заполнить поле (?), 27-Мрт-24, 16:14 
Ну а выводить ты будешь где? В окне. И добавить интерактив с инпутами. А если не вулкан? Ну так рендеринг можно переключить на opengl, directx и ещё чего хотели. И всё это мультиплатформенно. Так многие и используют SDL как middleware, которое на все актуальные системы есть и можно независимо обновить.

Твой вопрос звучит как "А зачем музыкальные плееры, если можно файлы через PCM проигрывать".

Ответить | Правка | Наверх | Cообщить модератору

361. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от n00by (ok), 27-Мрт-24, 19:43 
Если не Вулкан, то мне это не интересно. Вывожу я в окне, естественно. И от него же получаю события  ввода.

Ответ на интересующий меня вопрос я нашёл, пришлось отвечать самому, см. #347.

SDL годится для чего-то мелкого, но губит идею Вулкана (предоставить полный контроль) в принципе, то есть для серьёзного 3D непригодна.

Ответить | Правка | Наверх | Cообщить модератору

333. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от Аноним (333), 27-Мрт-24, 12:33 
Код твой никакого отношения к окну не имеет, он создаёт лишь поверхность, которая будет играть роль содержимого окна (на нее будет выводиться представление, упрощенно говоря).

Ты полностью оправдываешь свой ник.

Ответить | Правка | К родителю #251 | Наверх | Cообщить модератору

338. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от n00by (ok), 27-Мрт-24, 12:53 
Зачем ты с таким апломбом заявляешь, что тебе не понятно, откуда взялись display и window? Мог бы вежливо спросить, я бы объяснил.
Ответить | Правка | Наверх | Cообщить модератору

133. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +3 +/
Сообщение от Аноним (133), 26-Мрт-24, 16:12 
Нахера мне какая ext4, если я в midnight commander могу все то же самое делать?
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

206. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  –2 +/
Сообщение от n00by (ok), 26-Мрт-24, 18:35 
Из всех ответивших только один имеет представление о вопросе. Ничего нового он мне не сообщил.
Ответить | Правка | Наверх | Cообщить модератору

237. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  –1 +/
Сообщение от вася (??), 26-Мрт-24, 19:45 
Вулкан недоделан, в нём нет поддержки звука и много чего ещё, что есть в SDL
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

252. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  –1 +/
Сообщение от n00by (ok), 26-Мрт-24, 21:05 
Триангуляция Делоне - это 50 страниц только обзора существующих алгоритмов. А вывод звука - это 50 строк на Си.
Ответить | Правка | Наверх | Cообщить модератору

291. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +1 +/
Сообщение от Аноним (-), 27-Мрт-24, 02:33 
> Триангуляция Делоне - это 50 страниц только обзора существующих алгоритмов. А вывод
> звука - это 50 строк на Си.

Теперь то же самое с поддержкой
- Разныз виндов.
- Макоси.
- Линуха с как минимум пульс и алсой.
- Андроида.

Сколько строк кода это будет? И сколько юзерей испьет вашей кровушки если вы сбилдите вашу гамесу под все вон то великолепие? Сабж кроссплатформенный уровень абстракции позволяющий делать типовые геймдевовские вещи одинаково - не парясь какая там система у юзера.

Ответить | Правка | Наверх | Cообщить модератору

340. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  –1 +/
Сообщение от n00by (ok), 27-Мрт-24, 13:01 
>> Триангуляция Делоне - это 50 страниц только обзора существующих алгоритмов. А вывод
>> звука - это 50 строк на Си.
> Теперь то же самое с поддержкой
> - Разныз виндов.
> - Макоси.
> - Андроида.

Сначала реализуй хоть одну триангуляцию, а уж потом попытайся меня напугать всякими CreateWindowEx.

> - Линуха с как минимум пульс и алсой.

Понятно. Про поддержку пульсой а пайпвайром альсы рассказывать смысла нет. Кто в теме, тот и так знает.

> Сколько строк кода это будет? И сколько юзерей испьет вашей кровушки если
> вы сбилдите вашу гамесу под все вон то великолепие? Сабж кроссплатформенный
> уровень абстракции позволяющий делать типовые геймдевовские вещи одинаково - не парясь
> какая там система у юзера.

Почему так волнует, что юзеры будут пить мне кровь? Потому что нет возможности рассказать о собственном опыте?

Ответить | Правка | Наверх | Cообщить модератору

394. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от Аноним (-), 28-Мрт-24, 22:34 
> Сначала реализуй хоть одну триангуляцию, а уж потом попытайся меня напугать всякими
> CreateWindowEx.

Я задал вполне конкретный dev'овский вопрос. Твоя попытка понтоваться здесь совершенно неуместна. Как там твой CreateWindowEx, хорошо работает в, допустим, андроиде? :)

Или к вопросу зачем нужен LibSDL. А вот вызывая его функции этого самого - можно уже и не париться, винда там, андроид, линух с хоть там чем или что там эта либа еще поддерживает. Это всегда вызов характерных функций, которые можно найти в ближайшем SDL Tutorial. Вот геймдевы и не хотят морочаться чуть не дюжиной способов делать 1 и то же в разных системах, делегировав это прослойке делаемой в данный момент - им же подобными, игроделами.

>> - Линуха с как минимум пульс и алсой.
> Понятно. Про поддержку пульсой а пайпвайром альсы рассказывать смысла нет. Кто в
> теме, тот и так знает.

Если кто туг на мозг, намекну: игродел хочет - гамесу писать. А вот это все знать он совсем не хочет. Что libSDL ему и обеспечивает в общем случае. Поэтому вывод звука для него одинаковый что на винде, что в разных линухах, макоси или что там у кого. Просто вызываешь функции libsdl, он сам разбирается в конкретике конкретной платформы. В этом его прелесть и состоит, можно сделать кроссовую игру или прогу с итенсивной 2D/3D графикой/звуком/etc без сотен гимора.

> Почему так волнует, что юзеры будут пить мне кровь? Потому что нет
> возможности рассказать о собственном опыте?

Потому что я думал что на примере своей тушки - понятнее будет. В общем случае я не хочу знать как играть звук в доброй дюжине разных подсистем, если я намылился - игру сделать. Скажем я вообще не в курсе что там у какого-нибудь ведроида со звуком. Но с сабжем большую часть софта можно и под него собрать, например. Это называется - делегирование.

А ты кажется соответствуешь нику. И в свои сколько там - остался джуном по развитию, как пох. Не понимая делегацию и абстрагирование. Ну, бывает и такое. Только это не фича, а жирнючий баг кодера, если он застрял в своем развитии и кроме bulk-coding аспекты не осознал.

Ответить | Правка | Наверх | Cообщить модератору

399. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от n00by (ok), 29-Мрт-24, 07:54 
>> Сначала реализуй хоть одну триангуляцию, а уж потом попытайся меня напугать всякими
>> CreateWindowEx.
> Я задал вполне конкретный dev'овский вопрос. Твоя попытка понтоваться здесь совершенно
> неуместна. Как там твой CreateWindowEx, хорошо работает в, допустим, андроиде? :)

Вот именно что "девам" и не понятно, что триангуляция - это неделю вникать в вопрос, а потом ещё и кодить. И это лишь малая часть того, что требует приличный 3D движок. А, допустим, в Андроиде "девы" могли бы и сами найти вот это https://registry.khronos.org/vulkan/specs/1.3-extensions/man...
потыкать по ссылкам и для нужных платформ тупо скопировать типовой код из примеров SDK. Это займёт времени меньше, чем выискивать все возможные косяки в SDL (один я сходу нашёл, предсказуемый).

> Или к вопросу зачем нужен LibSDL. А вот вызывая его функции этого
> самого - можно уже и не париться, винда там, андроид, линух
> с хоть там чем или что там эта либа еще поддерживает.

Конечно, можно. Когда требуется нарисовать чорный квадрат Малевича, можно вообще не париться с Вулканом, а взять что попроще. Для чего-то посложнее можно не париться с триангуляцией, а взять готовый 3D двиг, и опять сочетание Vulkan+SDL оказывается не у дел.

> Это всегда вызов характерных функций, которые можно найти в ближайшем SDL
> Tutorial. Вот геймдевы и не хотят морочаться чуть не дюжиной способов
> делать 1 и то же в разных системах, делегировав это прослойке
> делаемой в данный момент - им же подобными, игроделами.

Vulkan создан с целью, что бы программист заморачивался всеми тонкостями, вплоть до управления памятью. По просьбам тех, кому это действительно надо. Кому это не надо, у того не будет Vulkan пропускать кадры в Wayland с надуманной автором пулл-реквеста проблемой, потому что железо отрендерит те кадры даже не подняв частоту GPU.

>>> - Линуха с как минимум пульс и алсой.
>> Понятно. Про поддержку пульсой а пайпвайром альсы рассказывать смысла нет. Кто в
>> теме, тот и так знает.
> Если кто туг на мозг, намекну: игродел хочет - гамесу писать. А
> вот это все знать он совсем не хочет. Что libSDL ему
> и обеспечивает в общем случае. Поэтому вывод звука для него одинаковый
> что на винде, что в разных линухах, макоси или что там
> у кого. Просто вызываешь функции libsdl, он сам разбирается в конкретике
> конкретной платформы. В этом его прелесть и состоит, можно сделать кроссовую
> игру или прогу с итенсивной 2D/3D графикой/звуком/etc без сотен гимора.

А если кто привык мыслить по одному шаблону, то он естественно не додумывается, что "Бублику", у которого задача загрузить GPU по максимуму, звук в принципе не требуется. Или что для вывода звука есть другие библиотеки. Или что из этой же SDL можно вытащить нужное.

>> Почему так волнует, что юзеры будут пить мне кровь? Потому что нет
>> возможности рассказать о собственном опыте?
> Потому что я думал что на примере своей тушки - понятнее будет.

Вот именно на примере моей тушки мне понятнее: чем меньше мой код зависит от копипастеров из Vulkan Tutorial, тем мне проще разруливать проблемы. Поскольку мой код мне кровь пьёт ещё до юзеров, и я хоть немного понимаю, что он делает, в отличие от пытающихся сделать универсальную приправу для любого блюда, а потом втюхать её в колбасный цех и кондитерский.

> В общем случае я не хочу знать как играть звук в
> доброй дюжине разных подсистем, если я намылился - игру сделать. Скажем
> я вообще не в курсе что там у какого-нибудь ведроида со
> звуком. Но с сабжем большую часть софта можно и под него
> собрать, например. Это называется - делегирование.

А мне не надо хотеть или не хотеть, я это в принципе знаю, так уж вышло со времён AY-3-8912 и ЦАПов. И как это может торчать в юзерленд мне в общем случае понятно. И что мне ответят в спортлото по поводу внезапных хрипов, которые "у нас не воспроизводятся" - мне понятно заранее. Я даже угадал, что Микрософт документирует timeBeginPeriod() как влияющую на квант планировщика.

> А ты кажется соответствуешь нику. И в свои сколько там - остался
> джуном по развитию, как пох. Не понимая делегацию и абстрагирование. Ну,
> бывает и такое. Только это не фича, а жирнючий баг кодера,
> если он застрял в своем развитии и кроме bulk-coding аспекты не
> осознал.

Ну ты то многое осознал, когда Микрософт тебе вставил палки в колёса? Новый дядя добрый, он так не сделает, ага. А то что IBM давний партнёр Microsoft по игре в 4 руки - так это всё конспирология! Тем более что ты сам код не пишешь, а чужим приторговывать - терять то и нечего, кроме маржи в какой-то момент.

Ответить | Правка | Наверх | Cообщить модератору

280. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от namenotfound (?), 27-Мрт-24, 02:00 
мне вот примерно такой же ахинеей читаются приписки формата "в вейланде не хватает сетевой прозрачности"
Ответить | Правка | К родителю #237 | Наверх | Cообщить модератору

290. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от Аноним (-), 27-Мрт-24, 02:29 
> Вулкан недоделан, в нём нет поддержки звука и много чего ещё, что есть в SDL

Rampant layering violation! Не надо вась слушать.

Vulkan это апи вывода графики и (меньше) счета и хардварного декодирования видео. Он никак не адресует многие другие аспекты. Скажем попробуйте с клипбордом поработать. А, что, у ведроида, линуха с иксами, вялендом, макоси, винды и проч - по разному?! Ох, вау. Можете конечно накодить сами спагетти с кучей #ifdef, если крутой эксперт и баги в этом ковырять не парит.

А можно взять САБЖ - и все системы для вас будут одинаковые. Вы просто берете и копируете или пастите это. Как именно оно в деталях на ЭТОЙ системе - разберется САБЖ.

Ну а vulkan это 1 из возможных выводов графики для сабжа. Иерархически сабж уровнем выше.

Ответить | Правка | К родителю #237 | Наверх | Cообщить модератору

288. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от Аноним (-), 27-Мрт-24, 02:25 
> Кто-то может объяснить, зачем нужна SDL, если пишется под Vulkan?

На нем можно сделать что-нибудь например чисто 2D и со звуком. Зачем тогда вулкан и вообще его требование?! А надо сие чтобы не париться вопросом какая там у кого звуковая систем в разных линях, виндах, маке и проч. И как они графику на экран выводят. И проч.

Посмотри блин примеры libsdl какие-нибудь не очень древние. Это низкоуровневый уровень абстракции для геймдевов от системной конкретики.

На самом деле либ умеет довольно много чего. Аудио. Вывод графики, 2D и 3D. Сеть. Вгрузка разных форматов. Рендер фонтов. В версии 2 и новее - портабельная работа с клипбордом. Ты же не хотел лично кодить куски кода под линухи с разными оконными системами и вводом, винду и мак, не говоря про какие там еще андроиды?! На которых ЭТО внезапно тоже пашет. Да, игроделы там прожали запуск нативного кода.

А ты сколько будешь такой код сам выписывать? Вместо реализации задуманных фич гамесы или что там у тебя было? Или может, ты желая проиграть пару "бзынь!" всегда мечтал для этого написать ресамплер и микшер? На случай какого-нибудь луддита с алсой без опционального микшера?! Ну а вон то - таки - решает эти вопросы само. И игродел может - гамесу делать, а не...

NB: это не движок графона, только низкоуровенвая платформенно нейтральная подложка, позволяющая работать с всеми ОС одинаково.

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

347. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от n00by (ok), 27-Мрт-24, 14:15 
>> Кто-то может объяснить, зачем нужна SDL, если пишется под Vulkan?
> На нем можно сделать что-нибудь например чисто 2D и со звуком.

Vulkan предназначен для вывода трёхмерной графики. 2D можно имитировать треугольниками. Звук, очевидно, выводится не через Vulkan. Например, вот я как раз сделал 2D и со звуком https://opennet.ru/53778-game

> Зачем тогда вулкан и вообще его требование?!

Потому что якобы именно с Vulkan проблема в Wayland.

> А надо сие чтобы не
> париться вопросом какая там у кого звуковая систем в разных линях,
> виндах, маке и проч. И как они графику на экран выводят.
> И проч.

Кому это надо? Мак и Виндовс ушли из России.

> Посмотри блин примеры libsdl какие-нибудь не очень древние. Это низкоуровневый уровень
> абстракции для геймдевов от системной конкретики.

Посмотрел. Вот прямо сейчас полез и скопировал:


    for (int i = 0; i < imageViewCount; i++) {
        framebufferCreateInfo.pAttachments = &imageViews[i];
        result = vkCreateFramebuffer(rendererData->device, &framebufferCreateInfo, NULL, &framebuffers[i]);
        if (result != VK_SUCCESS) {
            SDL_LogError(SDL_LOG_CATEGORY_RENDER, "vkCreateFramebuffer(): %s\n", SDL_Vulkan_GetResultString(result));
            return result;
        }
    }

https://github.com/libsdl-org/SDL/blob/02c63667c7b8107bb2958...

Вот это буквально и есть низкоуровневый уровень. Не низкий уровень абстракции, а низкое качество. Я мог бы сейчас сидеть в луже, если бы не предугадал, что там окажется вот такой вот цикл.

Вся тонкость в том, что Khronos Group спроектировали Vulkan с целью дать программистам максимальный контроль над происходящим. Что бы программисты могли выжимать из железа лишние кадры в секунду.

Вот этот код под Wayland создаст на 1 кадровый буфер больше, чем под X11. Если же как следует подумать и не копировать код из Vulkan Tutorial (что очевидно и проделано), а реализовать ленивую инициализацию, тогда наоборот в Wayland удастся сэкономить 1 буфер.

Проблема вовсе не в Wayland, как тут пытаются преподнести.

> На самом деле либ умеет довольно много чего. Аудио. Вывод графики, 2D
> и 3D. Сеть. Вгрузка разных форматов. Рендер фонтов. В версии 2
> и новее - портабельная работа с клипбордом. Ты же не хотел
> лично кодить куски кода под линухи с разными оконными системами и
> вводом, винду и мак, не говоря про какие там еще андроиды?!
> На которых ЭТО внезапно тоже пашет. Да, игроделы там прожали запуск
> нативного кода.

Если это для примерно таких изделий, как по моей ссылке, то "потеря производительности" не происходит. Там треугольников столько, что нечему тормозить.

> А ты сколько будешь такой код сам выписывать? Вместо реализации задуманных фич
> гамесы или что там у тебя было?

Выше есть ссылка, возьми да и сравни количество строк. И это в игрушке, которая ничего толком не делает. Как только начнётся действительное использование Vulkan, то есть сложное 3D, так вся эта мелочь устремится в объёме к статпогрешности. Зато вон тот цикл уже сожрал совершенно не лишнюю память. И я не хочу тратить время на вопрос "а сколько там еще подобного?"

> Или может, ты желая
> проиграть пару "бзынь!" всегда мечтал для этого написать ресамплер и микшер?
> На случай какого-нибудь луддита с алсой без опционального микшера?! Ну а
> вон то - таки - решает эти вопросы само. И игродел
> может - гамесу делать, а не...

snd_pcm_open() совершенно внезапно работает с устройствами "hw", "pulse" и "pipewire".

> NB: это не движок графона, только низкоуровенвая платформенно нейтральная подложка, позволяющая
> работать с всеми ОС одинаково.

Скорее, позволяющая программисту не париться с написанием элементарного кода. За универсальность приходится платить и "одинаково плохо" вполне себе "одинаково".

Ответить | Правка | Наверх | Cообщить модератору

395. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от Аноним (-), 28-Мрт-24, 23:38 
> Vulkan предназначен для вывода трёхмерной графики. 2D можно имитировать треугольниками.

1) Это повышает системные требования. Надо требовать от юзерей современную GPU'ху, с не очень кривыми дровами. Автору 2D программы нафиг надо огрести все проблемы топового игростроя на ровном месте.
2) Это может усложнить реализацию. Теперь, вместо того чтобы отрисовать график в терминах осей X, Y, точек и линий, текста там какого и проч, я должен чесать репу "блин, как же из этого треугольники то сделать?!". А оно надо?

> Звук, очевидно, выводится не через Vulkan.

Спасибо кэп.

>> Зачем тогда вулкан и вообще его требование?!
> Потому что якобы именно с Vulkan проблема в Wayland.

Там проблема с 1 конкретным довольно специфичным аспектом, я б сказал.

> Кому это надо? Мак и Виндовс ушли из России.

Удачи вам в софтострое, чего уж.

[...skip]
> Проблема вовсе не в Wayland, как тут пытаются преподнести.

Проблема в несколько дурацкой реализации одной из фич. А основной косяк в том что к вэйландщикам никто не пришел и не высказал мнение вообще. На самом деле фэйл там.

> Если это для примерно таких изделий, как по моей ссылке, то "потеря
> производительности" не происходит. Там треугольников столько, что нечему тормозить.

ValvE это серьезные коммерческие игроделы. И если не ошибаюсь, libSDL часть их steam runtime и проч, и этим по идее довольно много кто из проф игроделов пользуется в результате, не говоря о чертовой куче опенсорсных игр, которые это юзают - почти все поголовно.

А вот чтоб самим не разбираться с дюжиной звуковых подсистем и оконных систем, занявшись вместо этого - в освободившееся время - созданием гамезы.

> Выше есть ссылка, возьми да и сравни количество строк.

Лично мне похрен сколько строк в libSDL - но очень сильно не похрен перспектива выписывать поддержку дюжины звуковых систем самому.

> лишнюю память. И я не хочу тратить время на вопрос "а сколько там еще подобного?"

Можно подумать, кто-то заставляет. Дело то авторское. Это лишь 1 из вариантов "как это делать". Но он довольно много кому в целом - понравился.

> snd_pcm_open() совершенно внезапно работает с устройствами "hw", "pulse" и "pipewire".

Совершенно внезапно, в всяких андроидах, макосях, виндах и проч этого может и не оказаться. Сабж же слой кроссплатформенной абстракции для игроделов. Если вам это не надо - окей, вам эта прослойка вообще лишняя. Но многим нравится когда написаный 1 раз код можно на куче платформ скомпилять и запустить.

> Скорее, позволяющая программисту не париться с написанием элементарного кода.

С доброй дюжиной code paths, в вопросах которых програмер мог быть и не вхож. Это называется делегирование. В данном случае - платформенной специфики. В пользу занятий в это время вместо этого чем-то более тематичным для - создания гамезы, или логики своей программы.

> За универсальность приходится платить и "одинаково плохо" вполне себе "одинаково".

Никто не обещал free lunch. Но вообще по задумке САБЖ это простой, шустрый и минимальный слой, который как раз тормозить и не должен.

Ответить | Правка | Наверх | Cообщить модератору

400. "В библиотеке SDL3 отложили переход на Wayland по умолчанию"  +/
Сообщение от n00by (ok), 29-Мрт-24, 08:05 
>> Vulkan предназначен для вывода трёхмерной графики. 2D можно имитировать треугольниками.
> 1) Это повышает системные требования. Надо требовать от юзерей современную GPU'ху, с
> не очень кривыми дровами. Автору 2D программы нафиг надо огрести все
> проблемы топового игростроя на ровном месте.
> 2) Это может усложнить реализацию. Теперь, вместо того чтобы отрисовать график в
> терминах осей X, Y, точек и линий, текста там какого и
> проч, я должен чесать репу "блин, как же из этого треугольники
> то сделать?!". А оно надо?

Этот опус к чему? Мой вопрос касался Vulkan + SDL. Если кому надо "чисто 2D", советую DirectX 7й версии - там оно есть. А как оно эмулируется, девам понимать не надо. Скопировал код из туториала, и выставляй в магазин.


Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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