Гонка графических титанов продолжается

Автор clearing, 15 июня 2005 11:05:14

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

Vorob

Ну значит не требовалась оптимизация. Или игру никто не дал им до релиза, так что только щас сели ковырять. Разные варианты могут быть. Я дрова по пол года не обновляю, иногда кажется что все их обновления это профанация.

Greenhawk

Цитата: MoroseTroll от 01 мая 2026 21:21:33А оптимизации под те или иные игры?
Если смотреть на ситуацию в общем, с высоты птичьего полёта, так сказать, то факт того, что под разные программы (т.е. игры) нужно выпускать оптимизированные драйверы, это, объективно, дно, с точки зрения программирования. Драйвер это нечто, что является универсальным и должно обеспечивать лучшую производительность для любого ПО, которое с ним взаимодействует. Если драйвер постепенно развивается это хорошо и нормально. От развития выигрывают все, кто этим драйвером пользуется, а вот если оно развивается под конкретное ПО - это дно. Дать бы по шее за такой подход, но увы, нет возможности..

MoroseTroll

#1157
Боюсь, не всё так просто. Если отключить все оптимизации, что есть в драйвере графики для конкретной игры, то игра, скорее всего, будет понапрасну нагружать видеокарту (а то и ЦП) какими-то операциями, которые, с точки зрения драйвера, можно было бы ускорить и/или упростить.

Пример: допустим, игра создаёт тень от источника света, используя алгоритм, который довольно дорого обходится конкретно взятому графическому процессору. Но, если авторы драйвера знают об упомянутом неэффективном алгоритме, то драйвер может перехватывать соответствующие вызовы игры на уровне "игра <-> драйвер" и подменять их эквивалентными по качеству, но значительно более быстрыми для конкретно взятой модели графического процессора.

Обнаруживать такие неэффективные алгоритмы в играх ни один драйвер графики самостоятельно пока не умеет - для этого требуется профилировка отдельно взятой игры в графическом отладчике под наблюдением специалиста высочайшей квалификации в течение многих дней. Если таковые специалисты в конторе-разработчиков графических процессоров есть и они при этом не ленятся и вовремя выполняют свою работу, но в следующей версии их драйвера графики обычно появляются оптимизации, ускоряющие работу и/или загрузку той или иной игры.

Если же эти специалисты ленятся (причин тому может быть несколько) или не успевают делать свою работу, то, соответственно, и новая версия драйвера выходит с задержкой. А это значит, что игрокам приходится какое-то время терпеть неидеальную скорость и/или неидеальное качество работы отдельно взятой игры на графических процессорах конкретно взятого поставщика. Так появляется дурная слава последнего, от которой очень трудно или даже невозможно избавиться даже за десятки лет!

Greenhawk

Цитата: MoroseTroll от 03 мая 2026 17:29:01Пример: допустим, игра создаёт тень от источника света, используя алгоритм, который довольно дорого обходится конкретно взятому графическому процессору
Это всё же немного не так работает, но не суть.. А суть в том, что это должнать быть головная боль игроделов, а не авторов драйвера.. Т.е. драйвер это как розетка на стене - любая вилка совместимого стандарта должна подходить и исправно работать.. И игроделы это понимают и авторы драйверов это понимают.. И, соответственно, исправляет тот, кто накосячил.. и раз чинят драйвер, а не игру, то косячат более авторы драйверов.. и это дно..

MoroseTroll

Цитата: Greenhawk от 03 мая 2026 17:58:09Это всё же немного не так работает
А как?

Игроделы в принципе неспособны справиться с обилием графических архитектур, имеющихся на рынке. Просто посчитай:

nVidia: Blackwell, Ada, Ampere, Turing, Pascal, Volta, Maxwell.
AMD: RDNA 4, RDNA 3, RDNA 2, RDNA 1, GCN 5, GCN 4, GCN 3, GCN 2, GCN 1.
Intel: Xe 3, Xe 2, Xe 1.

И это только те, к которым драйверы выходят постоянно, или же те, что совсем недавно перестали получать свежие драйверы, но всё равно в состоянии справиться с большинством современных игр. Я перечислил примерно 20 разных архитектур разных производителей. А теперь представь, что разработчикам игр придётся не только адаптировать, но и оптимизировать свои движки под все примерно 20 архитектур! Объём работ фантастический и не под силу в принципе вообще никому.

Greenhawk

Цитата: MoroseTroll от 03 мая 2026 22:00:33А как?
Ну, аналогия с розеткой на стене, считаю, вполне отражает картину мира. :-)

Суть-то в чём. В том, что напрямую к GPU/VPU/*PU игры не обращаются. Это обращение идет через стандартизированный (в индустрии) слой абстракции (прослойку), в виде API (Application Programming Interface - программный интерфейс приложения). Этот API и есть те самые  DirectX, OpenGL, Glide и т.д. (их много ещё).. И прикладной софт, при этом, никак не должен задумываться о том, на каком именно железе идёт выполнение команд на отрисовку. Собственно, так это работает. Word не задумывается, видеоплеер, да и любая другая программа, не задумывается, а просто шлёт свои команды на отрисовку через API и на этом всё. И то, что создателям драйверов приходится, с подгорающей ж%пой, выпускать, экстренно, версии под конкретный софт (игру) это жирная роспись в некомпетентности. Т.е. что происходит: не от игры, а от API прилётает какая-то команда, которая провоцирует появление артефактов на экране. Разрабы чешут репу, исправляют свой баг, и выкатывают новую версию драйвера. Надеюсь, ответил..

MoroseTroll

Цитата: Greenhawk от 04 мая 2026 02:39:38Суть-то в чём. В том, что напрямую к GPU/VPU/*PU игры не обращаются. Это обращение идет через стандартизированный (в индустрии) слой абстракции (прослойку), в виде API (Application Programming Interface - программный интерфейс приложения). Этот API и есть те самые  DirectX, OpenGL, Glide и т.д. (их много ещё)..
Это прописные истины, известные любому программисту вот уже более 30 лет. Включая и меня.
Цитата: Greenhawk от 04 мая 2026 02:39:38И то, что создателям драйверов приходится, с подгорающей ж%пой, выпускать, экстренно, версии под конкретный софт (игру) это жирная роспись в некомпетентности.
Скажи, пожалуйста, ты написал хотя бы один драйвер хотя бы для какой-нибудь операционной системы, не обязательно для Windows? Сам, с нуля? Я вот этим занимался с 1992-го по 1996-й годы, но под DOS, и прекрасно помню, что это было дико интересно и достаточно легко, потому что не было почти никаких ограничений со стороны ОС. А ещё я помню, что моя попытка участия в написании драйвера графики для видеокарт S3 в 1999-м году уже под многозадачную ОС, а именно Windows, провалилась из-за огромного списка требований, необходимых даже для выполнения самых простых действий, к чему я оказался неготов. Я к тому, что "гладко было на бумаге, да забыли про овраги" - нам может казаться простой какая-то задача, выполненная кем-то другим, но чаще всего, стоит нам взяться за неё самим, и она вдруг перестаёт быть таковой. Если ты хорошо понимаешь, что, где и как должно работать, то напиши, пожалуйста, свой драйвер графики и покажи остальным, как надо работать. Кроме шуток.

Greenhawk

Цитата: MoroseTroll от 04 мая 2026 06:04:06из-за огромного списка требований, необходимых даже для выполнения самых простых действий, к чему я оказался неготов
Ну так в те времена и методы разработки были другими. Не нужно скидывать со счетов, что и они сильно шагнули вперед. Плюс к этому, от вас, скорее всего, тербовалось что-то типа copy con program.exe, а сейчас разарбы вполне себе могут позволить писать дрова на высокоуровневом языке и даже говнокодить, при этом..

MoroseTroll

#1163
В те времена Windows (95 и 98) "умирала" от любого чиха, если программист пытался получить доступ к аппаратным ресурсам не так и не в том порядке, как это требовалось по тогдашним правилам написания драйверов, которые ещё надо было найти. Microsoft намешала в Win9x и 16-битный и 32-битный код, причём на уровне ядра! И создавать драйверы под такое месиво было сущим адом, ведь не зря в те времена нормальные драйверы графики были всего у одной-двух контор максимум, хотя самих разработчиков графических процессоров было на порядок больше. Конечно, с появлением Win2000 (WinNT 4.0 тоже была стабильна, но поддержка DirectX в ней была формальностью) и особенно WinXP, писать драйверы стало куда проще, потому что Windows уже не "падала" от любого чиха. По крайней мере, не сразу.

Если любопытно, то меня, как желающего поступить на работу драйверописца, попросили в 1999-м ответить на тестовые вопросы и написать небольшой плагин для Photoshop (в качестве разминки). В те времена я почти не дружил с Си/Си++, но довольно крепко дружил с Ассемблером x86 (потому что написал на нём всё, что выпустил до того момента), поэтому я провалил все сроки (что естественно, ведь Ассемблер требует куда больше времени, чем ЯВУ) и даже неправильно ответил на тестовые вопросы. Тогда-то я и понял, что эра DOS, которую любил всем сердцем, ушла навсегда, и что изо моих тогдашних DOS-навыков для Windows мне почти ничего из них не пригодится. Пришлось браться за Си/Си++ и WinAPI. Но это уже другая история...

Насчёт говнокода в драйверах: мы этого не узнаем, пока не взглянем на исходники оных сами. А их просто так не опубликуют, потому что они - самая мякотка, без которой графическое железо совершенно бесполезно. Остаётся уповать на утечку, но это - маловероятно. Ведь nVidia платит своим специалистам так, что они быстрее продадут в рабство всю свою родню, чем допустят утечку исходников. Насчёт AMD того же сказать не могу: тамошнее отделение драйверов работает, на мой взгляд, вполсилы, из-за чего репутация конторы сильно страдает. Вероятность утечки драйверов графики у AMD, на мой взгляд, выше, чем у nVidia, но она всё равно очень и очень низка по целому ряду причин.

Flora

Цитата: MoroseTroll от 04 мая 2026 07:58:02Пришлось браться за Си/Си++ и WinAPI.
Ситуация в IT меняется каждый месяц. То что ты прям только вчера считал самым передовым, через полгода уже окажется "да так уже давно никто не делает...". Динамичный мир диктует отказ от привычек.

Vorob

Меня, в целом, забавляет, что тут про АМД ну вот буквально ничего хорошего. И технологии отсталые и с дровами проблема и производители ПО в грош не ставят продукцию АМД и геймеры на АМД не сидят. Но Мороз почему-то испытывает к ним интерес.


MoroseTroll

#1166
Цитата: Flora от 04 мая 2026 09:13:15Ситуация в IT меняется каждый месяц.
Поясни. Если ты про новые языки программирования, то ты ошибаешься. Если про ИИ, то это совсем другой разговор.

Цитата: Vorob от 04 мая 2026 10:41:10Меня, в целом, забавляет, что тут про АМД ну вот буквально ничего хорошего. И технологии отсталые и с дровами проблема и производители ПО в грош не ставят продукцию АМД и геймеры на АМД не сидят. Но Мороз почему-то испытывает к ним интерес.
Разве это плохо? Отсутствие конкуренции - хорошего в этом для рынка мало. Разве так трудно принять, что мне небезразлична эта тема?

nemyax

Like a dog without a bone,
Like an actor out on loan,
When you ride upon the storm,
Your dreams come true.

Vorob

Етож враки какие-то. Просто ASIC, а не видяха.

Force

Цитата: nemyax от 04 мая 2026 15:51:03Немного о конкуренции: The "fastest GPU in history" is unveiled, promising to outperform Nvidia and having already passed a key manufacturing milestone
Комментировайте.
Интересно, а в растеризацию он будет так же быстрее современных чипов, или только в лучах?