Size: a a a

2021 April 07

AT

Artsiom Trubchyk in GameDev for Web
Я тоже его не понимаю)
источник

СЗ

Сергей Запотылок... in GameDev for Web
я хз что тут непонятного :)
источник

СЗ

Сергей Запотылок... in GameDev for Web
возможно драйвер это дело распараллеливает
источник

СЗ

Сергей Запотылок... in GameDev for Web
но полагаться на драйвер...
источник

AG

Alexey Gulev in GameDev for Web
да. будет быстрее. не знаю смодешь ты ты получит ьстатистически значимые цифры именно на этом этапе ну или я хз сколько у тебя текстур там.
источник

AG

Alexey Gulev in GameDev for Web
вот тебе для примера 3 энкодера с гпу профалинга (метал). тут большая часть bandwidth это сами буфферы, а не текстуры. и это уже с учетом того, что это оптимизированно все и все ненужные буфферы чисто на тайловой памяти оперируются и никак не влияют на bandwidth
источник

AG

Alexey Gulev in GameDev for Web
источник

AG

Alexey Gulev in GameDev for Web
источник

AG

Alexey Gulev in GameDev for Web
источник

AG

Alexey Gulev in GameDev for Web
(все энкодеры это пайплайн одного кадра)
источник

AG

Alexey Gulev in GameDev for Web
буфферы конечно же не компресятся, поэтому один memoryless буфер может тебе сэкономить значительно больше, чем компрессия текстур.
Хотя опять же, я пр о3ж говорю, где мипмапы и т.д. возможно с 2д было бы другое соотношение.
источник

AG

Alexey Gulev in GameDev for Web
То, что мне конеретно не понятно:
что ты подрузумеваешь под перформансом. время работы gpu? как ты его считаешь, от свопа до свопа?  так гпу может простаивать из за кучи причин.  батарейку ты точно выиграешь.

А я хз выиграешь ли ты производительность т.к. не знаю что ты имеешь ввиду. Чаще всего под проивзодительностью подразумевают fps или, если быть точнее ms на кадр. а ms на кадр зависит уже огромного количества причин. если у тебя ботлнек на mem bandwidth то да, ты выиграешь производительность т.к. разгрузишь несламо mem bandwidth, а если у тебя с этим нет проблем то ничег озаметного на глаз в счетчике fps или ms не увидишь.
источник

AG

Alexey Gulev in GameDev for Web
а если ты прям ms GPU считаешь, то мне уже интересно
1. как ты это замеряешь
2. gpu может рисовать 5ms , но при этом делаться  это может неправильно и в какой нибудь arm студии будет видно, как гпу рисует за 5 ms в конце кадра и фрэйм уже 22ms
источник

СЗ

Сергей Запотылок... in GameDev for Web
пефоманс - от очистки контекста до последней отрисовки. считается с цпу обратным вызовом
источник

СЗ

Сергей Запотылок... in GameDev for Web
то есть ждем конца отрисовки
источник

AG

Alexey Gulev in GameDev for Web
вот об этом я и сказал в п.2
источник

СЗ

Сергей Запотылок... in GameDev for Web
то есть, если ботлнека нет, то я просто не замечу выигрышь глазом, хотя по цифрам он будет?
источник

СЗ

Сергей Запотылок... in GameDev for Web
и 3д не совсем корректно сравнивать с 2д по текстурам и буферу :)
источник

AG

Alexey Gulev in GameDev for Web
в том то и дело, ты гвооришь про некий свой контекст в который не погружаешь меня

мы ушли в лес, вот копипаста из старинной презентахи про хардверное сжатие

Texture Compression benefits
– Lower memory bandwidth = higher performance
– Lower memory bandwidth = lower power consumption
– Smaller memory footprint = more hires textures possible
– Smaller memory footprint = more blocks fit in cache
источник

AG

Alexey Gulev in GameDev for Web
а выводы уже делай сам.

всегда есть прямые выгоды и косвенные. прямую выгоду ты увидишь в объеме занимой памяти в memory bandwidth
если memory bandwidth ботлнек, то это отразится и на времени кадра

косвенную
в экономии аккума а значит отсутствии тротлиинга (или его отдалении)

я оптимизировав рендер пайплайн выиграл 97% (дада, 97, а не 9 как я написал в первый раз) mem bandwidth  и это никак не отразилось напрямую на производителньости просто потому что у нас максимум 60fps было и осталось, а косвенные плюсы вполне можно было замерить
источник