Войти
ПрограммированиеФорумГрафика

Vulkan API (вышел!) (249 стр)

Страницы: 1248 249 250 251336 Следующая »
#3720

innuendo
> почему вендор не может сразу оптимизировать glsl в нативный код?
потому что GLSL компилируется "онлайн", а оптимизатор делает то же самое "оффлайн", чувствуешь разницу?
Оффлайн ты можешь запустить процесс хоть на несколько часов и ожидаемо получить на выходе хорошо оптимизированный байт-код, но сомневаюсь что ты бы хотел столько времени ждать загрузку игры :)

13 янв. 2018

#3721

Fantom09
> потому что GLSL компилируется "онлайн", а оптимизатор делает то же самое
> "оффлайн", чувствуешь разницу?
да, только SPIR это компилятор в байткод, а glsl в нативный

это тоже самое как байткод Java

13 янв. 2018

#3722

Fantom09
> Оффлайн ты можешь запустить процесс хоть на несколько часов и ожидаемо получить
> на выходе хорошо оптимизированный байт-код, но сомневаюсь что ты бы хотел
> столько времени ждать загрузку игры :)
Я давно игрался с загрузкой глсл из бинарного файла. Да, чуть быстрее, по сотым долям секунды....

13 янв. 2018

#3723

barnes
> Я давно игрался с загрузкой глсл из бинарного файла. Да, чуть быстрее, по сотым
> долям секунды....
Это тот же минимально оптимизированный код, только уже скомпилированный, тоесть просто готовый бинарь выгружен из памяти, там выигрыш только за счет экономии времени загрузки/компиляции шейдера.
Это актуально когда у тебя тысячи шейдеров (обычная ситуация при использовании мега шейдера), в этом случае время компиляции будет очень существенным, тогда эти "сотые доли", при загрузке из бинарей, становятся решающими. Да и сам бинарь так же по сути байт-код:

ProgramBinary may also accept binaries in vendor-specific formats
    produced by specialized offline compilation tools. This extension does not
    add any such formats, but allows for them in further extensions.
Though the
    level of optimization may not be identical -- the offline shader compiler
    may have the luxury of more aggressive optimization at its disposal --
    program binaries generated online by the GL are interchangeable with those
    generated offline by an SDK tool.

Здесь же речь о том, что есть заведомо неоптимальный код шейдера (по сути - любой с шейдертой), который предварительно оптимизируется (то что предполагалось сделать в будущем для GLSL), за счет этого ты получаешь выигрыш не за счет времени загрузки бинаря, а за счет времени выполнения этого шейдера.

13 янв. 2018 (Правка: 19:47)

#3724

Fantom09
> Это актуально когда у тебя тысячи шейдеров (обычная ситуация при использовании
> мега шейдера),

можно же не использовать uber, статик браничингом

кстати, про шейдера ... можно ли в сабже легко так на один вертексный иметь несколько пиксельных ?

14 янв. 2018

#3725

innuendo
> кстати, про шейдера ... можно ли в сабже легко так на один вертексный иметь несколько пиксельных ?
А в чем проблема?

14 янв. 2018

#3726

/A\
> > кстати, про шейдера ... можно ли в сабже легко так на один вертексный иметь
> > несколько пиксельных ?
> А в чем проблема?

покажи кодом

14 янв. 2018

#3727

innuendo
Если ты про program binary, то с separate shader objects можно скомпилить один шейдер как программу и потом использовать как шейдер.
Но я только компилил так, работоспособность не проверял.

14 янв. 2018

#3728

/A\
> Если ты про program binary, то с separate shader objects можно скомпилить один
> шейдер как программу и потом использовать как шейдер.
> Но я только компилил та

нет же, я про PSO

14 янв. 2018

#3729

Почему Vulkan'a такой ни красивый код ?
Почему не так красиво как у Open GL?

14 янв. 2018

#3730

werasaimon
> Почему Vulkan'a такой ни красивый код ?
> Почему не так красиво как у Open GL?
Ты про заголовки? или уже про User Code?
У залоговков примерно одинаковая красота - C-Style
У Vulkan в большинстве случаев вместо констант заданных макросами, используются enum, так-же структуры в качестве параметров функций.

14 янв. 2018

#3731

Andrey
Во основном User Code , не красивый  !
Andrey
> так-же структуры в качестве параметров функций.
Это скорей хорошо , чем плохо !

P.S: я хочу чтоб они боле красиво переписали код , чтоб код был написан в стиле  Engine-Queick2 !?

15 янв. 2018 (Правка: 0:30)

#3732

werasaimon
> Во основном User Code , не красивый  !
наверное не привычный? приведи пример где не красиво.

15 янв. 2018

#3733

werasaimon
> Почему Vulkan'a такой ни красивый код ?
> Почему не так красиво как у Open GL?
После вулкана код на огл кажется старым ущербным дерьмом.
Ты что-то делаешь не так.

15 янв. 2018

#3734

Andrey
> наверное не привычный? приведи пример где не красиво.
например мне не нравиться огромная куча атрибутов в  (input / output ) структурах !

The Player
> После вулкана код на огл кажется старым ущербным дерьмом.
> Ты что-то делаешь не так.
ну не знаю , вот мне OpneGL кажется боле простым , без излишеств .
А как известно , чем проще система  тем лучше !

15 янв. 2018 (Правка: 13:46)

Страницы: 1248 249 250 251336 Следующая »
ПрограммированиеФорумГрафика