LINUX.ORG.RU

SDL переписывают

 


2

2

https://mastodon.gamedev.place/interact/100839164925937859

Ryan C. Gordon @icculus@mastodon.gamedev.place

Been rewriting SDL's 2D render API to be faster (and my god, it's _faster_), but this is taking _forever_.

I redesigned it so the high-level interface can batch up draws and do them all at once--presumably all stuffed into a big vertex buffer--but it's taken like a month to convert all the backends (D3D9, D3D11, GL, GLES1, GLES2, software, and ...PlayStation Portable homebrew for crying out loud).

Almost done now, finally!

Ответ на: комментарий от tailgunner

batch up draws and do them all at once--presumably all stuffed into a big vertex buffer--but it's taken like a month

идет 2018 год, кроме Quake3 движка, до этого(этого года) никто не заморачивался «single draw call» для отрисовки всей сцены

в этом году всех как в жопу ужалили и пошли поехали переписывать все движки на single-draw-call метод (компустеры по прежнему слишком слабые)

это не только он, тотже юнити, все новые игры от Юбисофт(их девелоперы простыни в твитор постят «как все круто и быстро стало и сколько новых возможностей открывается»)

некоторые движки (Godot) сказали-«OpenGL3 хватит всем» и бекпортировали все на него с OpenGL4.5(оставив конечно и вулкан и DX11 но их фичи не используются), а то «все слишком сложно и долго, когда 99% хватает просто текстурки рисовать»

я сам как писал свои демки(неделю назад последнюю сделал), это такой ад и ужас все делать правильно и без циклов для отрисовки, когда у меня вся демка не должна занимать больше недели, один «рендеринг без циклов» месяц займет, конечно я его не делал, все и так работает

сори за длинно пост

missxu ()
Ответ на: комментарий от missxu

Т.е. это плохо, потому что делает интрфейс неудобным в использовании?

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

это внутренности движка, всем пофик какой г-но код там внутри,или насколько сложно (но когда выйдет Vulkan2 или DX13 то переписывать весь тот ад-удачи и хорошего настроения девелоперу(если у icculus это месяцы занимает, у меня это будет как минимум год(когда запилить рендер на циклах-пара часов)))

такой подход рендерит быстрее на 20-50% чем через циклы(плюс увеличивает лимит «одновременно видимых объектов»(кол-во треугольников на экране станет больше из за того что их рисуют все сразу а не по 1 циклом)

без этого те самые 120ФПС для новомодных моников не получить(в реальных ААА играх)

missxu ()

Я так понял, тут речь про 2D, ведь 3D идет напрямую без SDL. Тогда не понятно в чем профит, там и так все рендерилось в текстуру, которая натягивалась на прямоугольник.

Rupricht ()
Ответ на: комментарий от praseodim

Что мешает держать две версии? Если, конечно, версия с поломанным API не будет минорной.

te111011010 ()
Ответ на: комментарий от te111011010

Ясенпень, что есть варианты что-то сломанное заставить работать.

Просто в итоге: там поломали, сям поломали, а еще какие-то версии что-то еще тянут или несовместимы в менеджере пакетов, и старый софт, если его прекратили поддерживать (а такого полно) внезапно уже просто так даже не собирается, надо заставлять, изучать.

Все же в той же винде API обычно обратно совместимо все-таки. Корректно (по гайдам в SDK) написанный софт даже от Win 2.x работает в 10-ке. Были примеры на хабре.

praseodim ★★★ ()
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от nvidia

Вот только AZDO не имеет актуальности с тех пор, как Vulkan появился. То есть, актуальности у AZDO никогда не было.

Quasar ★★★★★ ()
Ответ на: комментарий от Quasar

Ну вот к чему ты это вообще сморозил, простите мой французский.

nvidia ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)