Сегодня 03 апреля 2025
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 Search 24 мин.
Спустя почти пять лет после дебюта на консолях The Last of Us Part II наконец вышла на ПК 44 мин.
ЕС оштрафует TikTok на €500 млн за передачу данных европейцев в Китай 2 ч.
40 кадров/с и «местами даже хорошая» графика за $70: первые подробности Cyberpunk 2077 для Nintendo Switch 2 3 ч.
Представлена ранняя ПК-версия российской ОС «Аврора» — на ней уже запускается Telegram и не только 4 ч.
«РТК ИТ Плюс» пополнила ИТ-экосистему «Лукоморье» тремя новыми продуктами 4 ч.
Microsoft подтвердила дату выхода GTA V в PC Game Pass — подписчики получат доступ к GTA V Enhanced 4 ч.
Новый контент в Elden Ring: Tarnished Edition для Nintendo Switch 2 появится и на других платформах 5 ч.
Лавкрафтианский хоррор Stygian: Outer Gods готовится к старту открытой «беты» — новый геймплейный трейлер 6 ч.
Nintendo создала гибридный эмулятор Switch, но работать он будет только на Switch 2 7 ч.
Большой адронный коллайдер собрал базу для выхода за пределы известной физики 2 ч.
Восьмиядерные CPU стали самыми популярными в мире по статистике CPU-Z — AMD стремительно отбирает рынок у Intel и Nvidia 3 ч.
Apple потеряла $250 млрд стоимости за день — пошлины Трампа обвалили акции техногигантов 4 ч.
Nintendo Switch 2 получила поддержку трассировки лучей и DLSS, но их появление в играх зависит от разработчиков 4 ч.
Nikon представила полнокадровую камеру Z5 II с улучшенным автофокусом и повышенной скоростью съёмки за $1700 5 ч.
«Акустическое совершенство»: Bang & Olufsen представила каменную колонку Beosound Balance Natura 5 ч.
У россиян вырос интерес к планшетам — продажи подскочили на 15 % в первом квартале 6 ч.
Samsung выпустила 20-метровые телевизоры для кинотеатров Onyx 6 ч.
Intel переосмыслила свой главный слоган и обновила фирменный стиль, чтобы вернуть пользователей 6 ч.
Google готовится к аренде серверов на базе ускорителей NVIDIA у CoreWeave 7 ч.