Одной из наиболее успешных за последнее время графических архитектур на рынке игрового 3D можно без сомнений назвать NVIDIA Maxwell. В сравнении с предшествующей ей архитектурой Kepler она показала огромные улучшения по всем пунктам: от чистой производительности до производительности в пересчёте на ватт. И это несмотря на использование того же 28-нм техпроцесса. Любопытно, что и площадь новых графических ядер Maxwell выросла незначительно.
До недавних пор причина столь серьёзного прорыва была неизвестной, а NVIDIA говорила лишь об улучшениях в структуре потоковых процессоров, оптимизациях низкого уровня (на уровне транзисторов) и существенном увеличении объёма кеша второго уровня. Многие, в том числе и наши зарубежные коллеги с ресурса AnandTech, подозревали NVIDIA в использовании мобильных технологий; в конце-концов, Maxwell с самого начала создавалась как универсальная архитектура, пригодная в равной степени для использования в ноутбуках и настольных игровых ПК. Но как показали исследования, проведённые энтузиастами, есть и ещё одна причина, причём, вероятно, самая главная и в равной степени относящаяся к Maxwell и Pascal.
Скриншот анализатора, с помощью которого была раскрыта тайна NVIDIA
Дело в том, что начиная с Maxwell, NVIDIA решила использовать так называемый тайловый метод рендеринга (Tile Based Rendering). Он известен нам, в частности, по мобильным графическим ядрам PowerVR и ARM Mali. Главное преимущество тайлового метода заключается в разбиении сцены на небольшие плитки (тайлы), каждая из которых может обрабатываться целиком ресурсами графического процессора, без дополнительных обращений к внешней видеопамяти. А это означает как увеличение производительности (кеш гораздо быстрее внешней памяти), так и экономию энергии за счёт сокращения количества обращений к видеопамяти. Как правило, тайлы имеют размер 16 × 16 или 32 × 32 пикселя; этот метод великолепно чувствует себя в среде современных ГП, представляющих собой огромные параллельные массивы одинаковых вычислительных ядер. Проблема заключается в том, что практически все игры разрабатываются под другую, традиционную для ПК модель рендеринга — IMR (Immediate Mode Rendering), когда весь кадр обрабатывается целиком.
Инженерам и программистам NVIDIA пришлось пойти на ряд ухищрений, чтобы совместить тайловую архитектуру с программным обеспечением, рассчитанным на IMR. Одним из таких ухищрений является специальный код-прослойка DirectX, ответственный за растеризацию треугольников. Как всем нам уже известно, совмещение методов рендеринга не просто удалось разработчикам, но позволило им создать две наиболее эффективные графические архитектуры за последние несколько лет — Maxwell и Pascal. Но если бы разработчики игр сразу ориентировались на тайловый метод, то их эффективность могла бы оказаться ещё более высокой. Программа, с помощью которой удалось проанализировать архитектуры NVIDIA, доступна на GitHub.
Неясно, почему NVIDIA решила умолчать о такой детали в своих новых архитектурах — ведь ничего плохого в использовании тайлового метода нет; напротив, упоминание о преимуществах такого подхода могло бы быть неплохим рекламным ходом. Кроме того, встаёт естественный вопрос: какие ухищрения использует в своих продуктах AMD Radeon Technologies Group и входит ли в их число тайловый рендеринг?
Источник:

Falcon Heavy устроил огненное зрелище: стартовавшую ракету SpaceX сняли вблизи
Samsung урезала план производства смартфонов Galaxy A с OLED-дисплеями на 20 млн устройств
Huawei запускает бренд Starlight, который не ограничится рынком смартфонов
Магнитная буря обрушилась на Землю
Я сделал VR-шлем за 240 долларов и теперь знаю, почему так почти никто не поступает
Xiaomi Mijia Robot Vacuum and Mop 7 Max поступил в продажу: робот-пылесос с тремя манипуляторами для чистки углов, мощностью всасывания 45 000 Па и подачей воды с температурой 50 °C
Samsung Galaxy S27 Ultra получит крупный дисплей и предельно узкие рамки вокруг него
Anthropic урезала долю младших специалистов в технических командах с 27% до 9%