Size: a a a

pro.graphon (and gamedev)

2020 July 08

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
disba1ancer
@Triang3l а насколько дорого вычислять обратное значение/делить
В четыре раза дольше простых операций на AMD, на Nvidia не знаю, но не очень дорого
источник

d

disba1ancer in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
В четыре раза дольше простых операций на AMD, на Nvidia не знаю, но не очень дорого
а что считать простой операцией?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
disba1ancer
а что считать простой операцией?
Умножение-сложение, сравнение всякое, без сложной математики
источник

d

disba1ancer in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Умножение-сложение, сравнение всякое, без сложной математики
ясно
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
ох блин, только что узнал, что умножение 32-битных интов тоже quarter-rate, похоже(
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Смотри, какие инструкции на GCN full-rate, какие half-rate, quarter-rate, и так далее
источник

d

disba1ancer in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
ох блин, только что узнал, что умножение 32-битных интов тоже quarter-rate, похоже(
в видеокарте?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
disba1ancer
в видеокарте?
Да, на AMD GCN
источник

d

disba1ancer in pro.graphon (and gamedev)
на цпу оно не намного быстрее
источник

d

disba1ancer in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Смотри, какие инструкции на GCN full-rate, какие half-rate, quarter-rate, и так далее
в три раза медленнее обычных операций, если я всё правильно понял
источник

d

disba1ancer in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
ох блин, только что узнал, что умножение 32-битных интов тоже quarter-rate, похоже(
а насколько быстро из юниформ читать (я имею ввиду uniform <type> ... из glsl)
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
disba1ancer
а насколько быстро из юниформ читать (я имею ввиду uniform <type> ... из glsl)
На Nvidia они в быстрый кэш идут очень рано как-то, наверно, быстро, на AMD — чтение из памяти
источник
2020 July 09

TG

Timur Gagiev in pro.graphon (and gamedev)
disba1ancer
что это значит?
ну вы там такты считаете, не беря во внимание то, что современные GPU могут отлично скрывать latency расчётов или делать выборку наперёд. Т.е. будто со счётной машинкой работаете.
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
ох блин, только что узнал, что умножение 32-битных интов тоже quarter-rate, похоже(
зато могут не задействовать VGPR ;)
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
# Things that trigger shader recompiles on NVIDIA GL

* Respecifying input assembly via `glVertexAttrib*` for any vertex array
* Clearing an individual color attachment with `glClearBuffer*`
* Clearing an FBO with `glClear` without specifying all attachments in
 the clear, e.g if the FBO has color + depth but you only pass `GL_COLOR_BUFFER_BIT`
* Attaching shaders to a program
* Changing sampler uniforms (all textures are bindless on NV, changing sampler index is bad)
* Respecifying `glClearColor` more than once per frame per FBO
* Changing depth function more than once per bound program
* Changing stencil function more than once per bound program
* Changing face winding order for backface culling more than once per bound program
* Changing blend equation more than once per bound program (blend func is safe to change)
* Changing blend color more than once per bound program
* Changing color write mask more than once per bound program
* Adding or removing attachments from an FBO
* Changing texture parameters more than once per bound program per sampler,
 excluding texture filtering options (aniso, min/mag is fine, but texture border, border color, wrapping mode/behavior triggers recompile)
* Switching between indexed and non-indexed draws per bound program
* Writing to gl_FragDepth
* Using discard in a shader
* Updating a UBO that doesn't use layout std140
* Exceeding too many uniform updates per program (16KiB on GL 3.x)
* Respecifying shader outputs with `glBindFragDataLocation` or `glBindFragDataLocationIndexed`
* Using `early_fragment_test` layout in any shader (each draw call forces a recompile)
страсти какие
источник

U

UsernameAK in pro.graphon (and gamedev)
в играх сеть лучше через UDP или через TCP делать?
источник

U

UsernameAK in pro.graphon (and gamedev)
Timur Gagiev
# Things that trigger shader recompiles on NVIDIA GL

* Respecifying input assembly via `glVertexAttrib*` for any vertex array
* Clearing an individual color attachment with `glClearBuffer*`
* Clearing an FBO with `glClear` without specifying all attachments in
 the clear, e.g if the FBO has color + depth but you only pass `GL_COLOR_BUFFER_BIT`
* Attaching shaders to a program
* Changing sampler uniforms (all textures are bindless on NV, changing sampler index is bad)
* Respecifying `glClearColor` more than once per frame per FBO
* Changing depth function more than once per bound program
* Changing stencil function more than once per bound program
* Changing face winding order for backface culling more than once per bound program
* Changing blend equation more than once per bound program (blend func is safe to change)
* Changing blend color more than once per bound program
* Changing color write mask more than once per bound program
* Adding or removing attachments from an FBO
* Changing texture parameters more than once per bound program per sampler,
 excluding texture filtering options (aniso, min/mag is fine, but texture border, border color, wrapping mode/behavior triggers recompile)
* Switching between indexed and non-indexed draws per bound program
* Writing to gl_FragDepth
* Using discard in a shader
* Updating a UBO that doesn't use layout std140
* Exceeding too many uniform updates per program (16KiB on GL 3.x)
* Respecifying shader outputs with `glBindFragDataLocation` or `glBindFragDataLocationIndexed`
* Using `early_fragment_test` layout in any shader (each draw call forces a recompile)
страсти какие
ещё один, который я замечал
* Respecifying shader inputs with `glBindAttribLocation`

спекой запрещено, но нвидией нет
источник

ab

alexey bezgodoff in pro.graphon (and gamedev)
UsernameAK
в играх сеть лучше через UDP или через TCP делать?
Смотря что за игра.
В подавляющем большинстве, когда авторитарный сервер используется UDP.
В играх без сервера (например, как Starcraft) — TCP
источник

VS

Vladimir SHCHerba in pro.graphon (and gamedev)
UsernameAK
в играх сеть лучше через UDP или через TCP делать?
Данные, которые постоянно обновляются и некритично их немного потерять -- UDP. Важные данные, которые обновляются нечасто и их терять нельзя -- ТСР.
источник

U

UsernameAK in pro.graphon (and gamedev)
alexey bezgodoff
Смотря что за игра.
В подавляющем большинстве, когда авторитарный сервер используется UDP.
В играх без сервера (например, как Starcraft) — TCP
сервер будет, но большая часть данных требует целостности
источник