LINUX.ORG.RU

Бутылочные горлышки в _архитектурах_ видеокарт?

 


0

1

Возьмем для примера сравнение http://gpu.userbenchmark.com/Compare/AMD-RX-550-vs-Nvidia-GTX-950/3925vs3510

Можно заметить выигрыш скорости на одном показателе в 2 раза, когда как другой даже меньше на 1%, другие же показатели, тоже, относительно «Gravity» разнятся по скорости в 2 раза!
Это что за разбалансировка производительности между картами такая? Будет ли «Splatting» в случае GTX 950 бутылочным горлышком? Или это наоборот, RX 550 так не сбалансирована? Как я понимаю, на баланс этих показателей и отсутствие бутылочных горлышек влияет количество шейдерных процессоров, блоков текстур, растеризации, пропускная способность памяти, частоты и т.д.

Так в каких случаях имеют место быть бутылочные горлышки, а каких - кривая архитектура?

в случае GTX 950 бутылочным горлышком

1. «неполный рендеринг FBO» пруф https://www.khronos.org/opengl/wiki/Common_Mistakes#Render_To_Texture
демо проблемы https://www.shadertoy.com/view/4tcyz7 (позиция шара ставиться на Желтой половине мышкой)
Желтая половина-Mipmap фильтр текстур, Зеленая половина- Nearest
из за неполной генерации фреймбуфера в Nearest(как описано по ссылке на кронос.орг) шар проваливается(так как расчеты встречают 1 или 0 значения пустых пикселей)
даже в моей финальной версии(с измененной точностью и правкой алоритма) всеравно шар «застревает» https://danilw.github.io/GLSL-howto/goglsl/goglsl.html (из за этого также на Нвидии при переходе в фулскрин идет дикий лаг(особенно на линуксе))

2. особенность реализации некоторых функций(на картах каждой модели по разному), к примеру https://danilw.github.io/GLSL-howto/vbo/vbo.html при значении 10000+ на Нвидии 7xx и 9xx серии будет зависать драйвер(на всех других картах включая встроенный интел даже лагов не будет), причину описал в этом посте Зависает ли у вас драйвер (комментарий)

3. реализация for/while циклов в GLSL очень разная от версии к версии дров/компилятора GLSL/модели карты, очень сильно влияет на производительность
пример http://www.ibiblio.org/e-notes/webgl/gpu/fluids16.htm или сразу 2к версия http://www.ibiblio.org/e-notes/webgl/gpu/fluid2k.htm
производительность этого алгоритма буквально Уникальная для каждой серии карт(всех производителей), она может быть 200фпс на радеоне и слабом интеле, когда на нвидии менее 10фпс, и наоборот

Игроделы уже давно работают только с парой-тройкой готовых движков

готовые движки это просто набор логики для «обхода фич реализаций» для каждой из видео-карт/моделей, ничего магического или заговоренного в них нет

банальный пример, https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Tutorial/Using_tex...
цитата

WebGL1 can only use non power of 2 textures with filtering set to NEAREST or LINEAR and it can not generate a mipmap for them. Their wrapping mode must also be set to CLAMP_TO_EDGE. On the other hand if the texture is a power of 2 in both dimensions then WebGL can do higher quality filtering, it can use mipmap, and it can set the wrapping mode to REPEAT or MIRRORED_REPEAT.

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

вот так получаются Юнити игры в 2018 которые тормозят со 100% загрузкой системы(там тоже много классных фич)

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

разбалансированна

что?

для «поиграть на макс графене в ГТА5» очевидно 950 нвидиа, без вариантов
если жариться при 60+С в комнате летом, то определнно Радеон

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

«много памяти»-те 2/4/6/8 ГБ что есть сегодня в видеокартах, не больше тех знаменитых 640КБ
одна текстура 1000x1000 пикселей(очевидно это меньше колеса мышины по реальным размерам) может занимать Сотни мегабайт в видеокарте
плюс каждый из шейдеров минимум 100мб(обычные игровые шейдеры под 300 каждый, их 5-10 на всею сцену на экране не больше)

даже терабайта на видеокарте-хватит на качественную «фотореалистичную» прорисовку одной комнатки(чтоб при приблежении камеры небыло квадратиков как сейчас)
и через 5-10 лет выйдут видеокарты с терабайтами, как средний сегмент, тыж не скажешь тогда что твоих 2/4/6/8 ГБ «более чем достаточно»
забыл еще про 4к моники, для 4к моника надо несколько ГБ видеопамяти на рендер одной странице в веббраузере

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

что?

Очевидно, что за эталон баланса производительности между компонентами архитектуры сейчас выступает HD 7850. Никто не будет использовать преимущество другой видеокарты, достигаемое дисбалансом (не пропорциональным увеличением производительности компонента архитектуры по отношению к балансу на таковом у HD 7850) Cores, TMU, ROP, Mem B/W, L2, FP32/64...

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

Никто не будет использовать преимущество другой видеокарты

То-то периодически разработчики видеокарт сотрудничают(для рекламы своих видеокарт) с разработчиками игр чтоб они именно следующий проект заточили именно под их последние видеокарты.

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

Что-то вроде игр на PhysX, «список позора» вывешен на сайте Nvidia. Но это частный случай. Сейчас конечно есть игры, тяготеющие к картам конкретного производителя, но это скорее софт, т.к. «работать лучше» они могут на разных архитектурах конторы, и с разным балансом. Равняться на них не стоит, тут итак все ясно

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

Что-то вроде игр на PhysX, «список позора» вывешен на сайте Nvidia

ты отстал на лет 10 походу(физикс давно не имеет привязки аппаратной, и он умер давно уже) GLSL полностью вытеснил физикс

Очевидно, что за эталон баланса производительности между компонентами архитектуры сейчас выступает HD 7850. Никто не будет использовать преимущество другой видеокарты, достигаемое дисбалансом (не пропорциональным увеличением производительности компонента архитектуры по отношению к балансу на таковом у HD 7850) Cores, TMU, ROP, Mem B/W, L2, FP32/64...

ты видимо не понял ни слова что я написал, извини
попробую перефраировать- «бланса просзводительности» нет, как и ориентира, каждая серия карт (Nvidia 700 Nvidia 900 Nvidia 1000 тдтп) имеет свой уникальный драйвер и реализацию алгоритмов, под последнюю модель и делают игры, сейчас это Nvidia 1000 серия
с чего ты привел HD 7850 я не знаю
никто не тратит время на «поддержку» старья, достаточно состояния «работает»

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

«бланса просзводительности» нет, как и ориентира

http://gpu.userbenchmark.com/Compare/AMD-RX-550-vs-AMD-RX-560/3925vs3926

Почему в RX 560 значительно увеличители только Parallax (+75%) и Gravity (+90%) по отношению к RX 550? Не приведет ли это к дисбалансу производительности; не станут ли MRender (+11%) и Splatting (+8%) бутылочным горлышком? Вот я о чем.

с чего ты привел HD 7850 я не знаю

PS4

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

В принципе это лютое дно, та же 750 в 2 раза дешевле и жрёт в 3 раза меньше электричества, при разнице -5% (в стоке я так понимаю). Хуанг просто не захотел в убыток себе чипы поставлять, вроде с тем вся история связана.

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

родилась на свет уже устаревшей, позорно не потянув 1080@60 в большинстве случаев

Разрабам до этого дела нет. У них есть платформа, с ней они и работают

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

оооо, вот эта проклятая фича нвидии с VBO. помню, как на штеуде и амд работала отрисовка через glMultiDrawIndirect а на нвидии хрен, пустой экран. зато в цикле работает.

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

шейдеры весят килобайты, ну может десяток килобайт

ссылку на шадертой давать? там сотни если не тыщи шейдеров что свободно по 1гб+ потребляют

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

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

главное написать что я дурак(пруфов не надо), все остальное не важно

сразу видно пятизвездочника с лора, ставлю класс

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

главное написать что я дурак(пруфов не надо)

Ну зачем ты так. Ты очень грамотно и аргументировано доказал, что ты дурак, не придерёшься.

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

Давай, у меня как раз больше. Только нормальных, пожалуйста.

Хотя не факт что проблема не в вебне будет.

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

* Средний интеллект участников треда удвоился *

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

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

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

Зачем пруф, я просто в комментарий тебе добавил

missxu (19.07.2018 12:05:25) Бутылочные горлышки в _архитектурах_ видеокарт? (комментарий)

чтобы вдруг если еще раз уши развесил, то хоть спорить не начал бы.

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

да ничего там не аллоцируют

фреймбуферы не жрут память, текстурки копируемые шейдером не жрут память, многократное использование текстурок не жрет память, очень интересно

охуж эти лоровские теоретики

ах,да ес че,минимальный размер скомпилированного шейдера(уровня хеловорд) начинается от 100кб(мои шейдеры на 8к строк в скомпилированном виде до 500кб весят)

если щас вылупиться умник поясняющий мне разницу компиляции интерпретации и байткода, сразу пошлю куда подальше

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

никто не тратит время на «поддержку» старья, достаточно состояния «работает»

И всякие разработчики dota2, poe, lol, wot и прочие игры которым важен большой онлайн конечно ведут себя так же как разработчики крайзисов и батлы.

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

И всякие разработчики dota2, poe, lol, wot и прочие игры которым важен большой онлайн конечно ведут себя так же как разработчики крайзисов и батлы.

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

все сотрудники вальв тупо сидят лутают бонусы

пруф https://www.reddit.com/r/DotA2/comments/8zy20v/the_reason_why_valve_has_chang...

(вальву даже больше пофик на игры/киберспорт чем убисофту)

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

Я не о том, а о том что цель всяких разработчиков крайзисов выпустить игру которая в короткий промежуток времени продастся за относительно большую сумму и будет меньше месяца играться на топовом железе, после чего продажи и популярность игры отправятся вниз и спустя пару лет в игру будут играть единицы чтобы поностальгировать/пройти более раннюю игру серии. Цель разработчиков задротских игр (MOBA, песочницы, киберспорт, MMO) — постоянно иметь большую аудиторию, с которой медленно и понемногу тянуть деньги за шапки текстуры и модельки, подписку, удобство игрового процесса. Поэтому последним важно чтобы их игра игралась на обогревателе.

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

Поэтому последним важно чтобы их игра игралась на обогревателе.

Если графика у них уровня 10-летней давности, то конечно. Какой краёзис? 2007 года?

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

Если сравнивать с крузисом, то и AAA кардинально никуда не продвинулись.

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

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

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

Вечно этому процессу не быть.

Как бы и подвижки железа идут некислые http://gpu.userbenchmark.com/Compare/Nvidia-GeForce-8800-Ultra-vs-Nvidia-GTX-...
А на шибко старой карте хомячкам долго и не усидеть по известным причинам

Quasar-Napilnik_CPY
() автор топика
Ответ на: комментарий от anonymous

Мыльцо, 3о фпс с просадочками, игры состоят из загрузок на каждый чих.

The chip is based on an ATI Radeon X1800 XL
В принципе, и на компе с такой картой можно играть в игры времен PS3 с разрешением и настройками как на консоли, и быть может, даже большим fps

Quasar-Napilnik_CPY
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.