реклама
Видеокарты

Понимание и рассчёт скорости заполнения (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.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.
window-new
Soft
Hard
Тренды 🔥
Новый трейлер раскрыл дату выхода Mandragora — метроидвании с элементами Dark Souls и нелинейной историей от соавтора Vampire: The Masquerade — Bloodlines 32 мин.
В Японии порекомендовали добавить в завещания свои логины и пароли 3 ч.
Обновления Windows 11 больше не будут перезагружать ПК, но обычных пользователей это не касается 3 ч.
VK похвасталась успехами «VK Видео» на фоне замедления YouTube 5 ч.
GTA наоборот: полицейская песочница The Precinct с «дозой нуара 80-х» не выйдет в 2024 году 6 ч.
D-Link предложила устранить уязвимость маршрутизаторов покупкой новых 7 ч.
Valve ужесточила правила продажи сезонных абонементов в Steam и начнёт следить за выполнением обещаний разработчиков 7 ч.
Австралия представила беспрецедентный законопроект о полном запрете соцсетей для детей до 16 лет 8 ч.
Биткоин приближается к $100 000 — курс первой криптовалюты установил новый рекорд 9 ч.
В открытых лобби Warhammer 40,000: Space Marine 2 запретят играть с модами, но есть и хорошие новости 9 ч.
Астрономы впервые сфотографировали умирающую звезду за пределами нашей галактики — она выглядит не так, как ожидалось 47 мин.
Представлена технология охлаждения чипов светом — секретная и только по предварительной записи 2 ч.
Японская Hokkaido Electric Power намерена перезапустить ядерный реактор для удовлетворения потребности ЦОД в энергии 2 ч.
Грузовик «Прогресс МС-29» улетел к МКС с новогодними подарками и мандаринами для космонавтов 2 ч.
Meta планирует построить за $5 млрд кампус ЦОД в Луизиане 3 ч.
Arm задаёт новый стандарт для ПК, чтобы навязать конкуренцию x86 3 ч.
HPE готова ответить на любые вопросы Минюста США по расследованию покупки Juniper за $14 млрд 3 ч.
Thermaltake представила компактный, но вместительный корпус The Tower 250 для игровых систем на Mini-ITX 4 ч.
Флагманы Oppo Find X8 и X8 Pro на Dimensity 9400 стали доступны не только в Китае — старший оценили в €1149 5 ч.
«ВКонтакте» выросла до 88,1 млн пользователей — выручка VK взлетела на 21,4 % на рекламе 5 ч.