Сегодня 26 марта 2026
18+
MWC 2018 2018 Computex IFA 2018
реклама
Видеокарты

Понимание и рассчёт скорости заполнения (fillrate) акселератора

Терминология

О видах памяти и скорости её заполнения высказано столько мнений, что я решил написать статью по этому поводу. Прежде всего давайте определимся с терминологией:

  • Пиксел - самый маленький элемент буфера кадров, обычно 16-ти или 32-х битный. Так же может обладать Z координатой, тоже 16-ти или 32-х битной.
  • Сэмпл Текселя - самый маленький элемент текстуры. Обычно 16-ти или 32-х битный.
  • Тексел - цвет текстуры, принадлежащий пикселу. Обычно он либо точечно апроксимирован (один сэмл текселя), билинейно фильтрирован (четыре сэмпла текселей) или трилинейно фильтрирован (восемь сэмплов текселей)

Как подсчитать ширину канала памяти?

Для этого нужно знать всего две вещи - ширину шины в битах и частоту памяти в мегагерцах. Память с шириной шины 128 бит может за один раз передавать 16 байт, так как один байт это восемь бит (128бит / 8 = 16 байт). Double Data Rate (DDR) память имеет в два раза большую эффективную частоту, так как за один такт она передаёт данные два раза.

Память с 128-бит шиной и 166Mhz SDRAM может максимально передавать 128бит / 8 бит в байте * 166 мегагерц = 2.656 гигабайт в секунду.

Память с 128-бит шиной и 166Mhz DDR способна передавать 128 бит / 8 бит в байте * 166 мегагерц * 2 (поскольку DDR) = 5.312 гигабайт в секунду

Как посчитать максимальную скорость заполнения?

Для рассчёта максимального теоретического fillrate вы должны знать следующее:

  • Доступную ширину канала памяти (см. выше)
  • Глубину пиксела (сколько бит - 16 или 32)
  • Глубину Z буфера (16 или 32 бита)
  • Глубину текселя

Когда акселератор рендерит треугольник, он разбивает его на единичные пиксели. В нормальной ситуации он делает с каждым пикселем следующее:

  • Читает старое значение Z из Z-буфера
  • Пишет новое значение в Z-буфер
  • Считывает тексел(и)
  • Пишет новый пиксел в Z-буфер

Учитывая это мы можем рассчитать скорость заполнения для заданной ширины канала памяти.

В первом примере у нас до 16 байт, способных пройти через систему памяти для каждого пиксела. Теперь берём для нашего примера память с 128 битной шиной и частотой в 166 мегагерц, смотрим сколько можно протолкнуть через эту память, уместив в 2.656 гигабайт в секунду. Получается 2.656 / 16 = 166 мегапикселей в секунду. Вот несколько моделей и их требований по передаче данных через шину для одного пиксела:

  • 32 бита, 32-х битный Z-буфер, 32-х битная текстура = 16 байт на пиксел
  • 16 бит, 32-х битный Z-буфер, 16-ти битная текстура = 12 байт на пиксел
  • 32 бит, 16-ти битный Z-буфер, 16-ти битная текстура = 10 байт на пиксел
  • 16 бит, 16-ти битный Z-буфер, 16-ти битная текстура = 8 байт на пиксел
  • 16 бит, 16-ти битный Z-буфер без текстуры = 6 байт на пиксл

Вот несколько подсчётов:

Чип со 128-ми битной шиной на 166Mhz SDRAM (к примеру GeForce на SDRAM)

  • Максимальная скорость заполнения в полном 32-х битном режиме (16 байт на пиксел) - 166 мегапикселов в секунду
  • Максимальная скорость заполнения в 16-ти битном режиме (8 байт на пиксел) - 332 мегапиксела в секунду

Чип с шиной 128 бит и частотой 166Mhz типа DDR (к примеру GeForce на DDR)

  • Максимальная скорость заполнения в 32-х битном режиме при 16 байтах на пиксел 322 мегапиксела в секунду
  • Максимальная скорость заполнения в 16-ти битном режиме при 8-ми байтах на пиксел - 664 мегапиксела в секунду

Чип с шириной шины в 128 бит и 183Mhz типа SDRAM (например TNT2 Ultra)

  • Максимальная скорость заполнения в 32-х битном режиме при 16-ти байтах на пиксел - 183 мегапиксела
  • Максимальная скорость заполнения в 16-ти битном режиме при 8-ми байтах на пиксел - 366 мегапикселов в секунду

Получается, что TNT2 Ultra способна рендерить в 32-х битном режиме больше пикселей в секунду, нежели SDRAM версия GeForce. Примечание: конвейер TNT2 лимитирован порогом в 300 мегапикселов в секунду. Можно так же подсчитать, какой поток данных требуется обновления визуального ряда:

Ширина экрана в пикселах * высота экрана * байт на пиксел * частоту регенерации

Примечание: байт на пиксел = 2 для 16-ти битного буфера кадров и 4 для 32-х битного.
Пример - 1600x1200*4*75Hz=576Мб в секунду, так что получается 20% теоретической скорости заполнения TNT2 Ultra, а значит на 20% уменьшается теоретическая скорость заполнения. Другим случаем является использование памяти в случае мультитекстурирования. Насколько ещё одна текстура опускает скорость заполнения в большой степени зависит от приложения, фактора увеличения текстуры, ориентации и др. Короче, если не вникать в детали, то шаблоны тоже отнимают часть канала памяти. Я это писал просто, чтобы показать как 3D акселераторы используют память, а не для того, чтобы рассуждать о разных типах памяти. Это просто математика.


Дополнительные материалы:

Unreal Tournament 2003 в роли бенчмарка
3DMark 2003: увидеть будущее
Max Payne в роли бенчмарка
Serious Sam в роли бенчмарка
Тестовый пакет 3DMark 2001 Pro
Тестовый пакет 3DMark 2000

 
 
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Microsoft запустила ИИ-рестайлинг фотографий — и это не Copilot 4 ч.
YouTube завалил некоторых пользователей проверками CAPTCHA перед просмотром видео 5 ч.
Q-Day ближе, чем все думали: Google резко приблизила сроки взлома почти всей современной криптографии 6 ч.
В России арестовали администратора одной из крупнейших хакерских площадок LeakBase 6 ч.
Разработчик «Мира танков» решил проблему с долгом государству на 11 миллиардов рублей — исполнительное производство прекращено 6 ч.
Nvidia выпустила драйвер-заплатку для исправления подтормаживаний в Arknights: Endfield 6 ч.
Древний ужас пробуждается в геймплейном трейлере Cthulhu: The Cosmic Abyss — детективного хоррора по мотивам творчества Лавкрафта 7 ч.
Google выпустила ИИ-модель Lyria 3 Pro для генерации трёхминутных музыкальных треков — но не бесплатно 8 ч.
Надёжный инсайдер раскрыл главную игру апрельской линейки PS Plus за неделю до официального анонса 8 ч.
«Яндекс» и UserGate представили совместное решение для киберзащиты по принципу сетевого доверия 9 ч.
Новая статья: Система жидкостного охлаждения ID-Cooling FX360 LCD: кому котиков? Недорого 5 ч.
MaxSun представила свои варианты Arc Pro B70 — с активным и пассивным охлаждением 8 ч.
Google поведёт квантовые компьютеры по гибридному пути: к сверхпроводящим кубитам добавят нейтральные атомы 8 ч.
ASRock представила юбилейную матплату Z890 Taichi 10th Anniversary с обновлённым дизайном 8 ч.
Dell представила обновлённые ноутбуки серии Pro — они стали тоньше и получили свежие чипы Intel и AMD 10 ч.
Intel выпустила Xeon 600 с 12–86 ядрами для рабочих станций и Core Ultra 300 vPro для бизнес-ноутбуков 10 ч.
Samsung представила смартфоны Galaxy A37 и A57 с чипами Exynos и улучшенной защитой от влаги по цене $450–550 10 ч.
Intel выпустила «Больших боевых магов» — видеокарты Arc Pro B70 и B65 с 32 Гбайт GDDR6 для профессионалов 11 ч.
MSI представила блоки питания со встроенным зуммером — он громко предупредит об угрозе расплавления видеокарты 11 ч.
Австралия решила надавить на ИИ ЦОД, частично отказавшись от рыночного подхода 11 ч.