trfc alt это что
Что такое тайминги и как они влияют на скорость оперативной памяти
Содержание
Содержание
Выбор оперативной памяти в игровую сборку может обернуться кошмаром, если начать разбираться в тонкостях ее работы. Требования современных игровых и рабочих задач диктуют свои условия, поэтому память — теперь чуть ли не самая важная и сложная часть в сборке компьютера. Среди многочисленных моделей нужно выбрать единственный подходящий вариант и это пугает. Причем самое сложное в этом — почему память с меньшей частотой работает быстрее и показывает больше кадров в играх, чем та, у которой частота выше. Для этого нужно разобраться, в чем все-таки измеряется скорость памяти и какие параметры влияют на нее.
Мощность компьютера измеряется величиной FLOPS, которая обозначает количество вычислительных операций за секунду. По причине того, что компьютеры могут одновременно выполнять миллионы операций, к флопсам добавляют приставку «гига».
В привычной же обстановке мы можем путать мощность и частоту, поэтому считаем производительность компьютеров не гигафлопсами, а максимальной рабочей частотой. Это проще в рядовых ситуациях, когда говорящие знают тему хорошо и соотносят мощность с герцами в уме автоматически.
В то же время, такое языковое упрощение вносит коррективы в понимание практической части вопроса. Вырывая контекст из форумов, рядовой пользователь и правда думает, что мощность памяти можно выразить в герцах. Просто потому, что гонка за частотой стала трендом среди любителей и энтузиастов. Это и мешает неопытному человеку понять, почему его высокочастотный процессор может проиграть тому, у которого на несколько сотен герц меньше. Все просто — у одного два ядра и четыре потока, а у другого четыре настоящих. И это большая разница.
Оперативная память и ее скорость
Оперативная память состоит из тысяч элементов, связанных между собой в чипах-микросхемах. Их называют банками (bank), которые хранят в себе строчки и столбцы с электрическим зарядом. Сам электрический заряд — это информация (картинки, программы, текст в буфере обмена и много чего еще). Как только системе понадобились данные, банка отдает заряд и ждет команды на заполнение новыми данными. Этим процессом руководит контроллер памяти.
Для аналогии, сравним работу оперативной памяти и работу кафе. Чипы можно представить в виде графинов с томатным соком. Каждый наполнен соком и мякотью спелых помидоров (электрический заряд, информация). В кафе приходит клиент (пользователь компьютера) и заказывает сок (запускает игру). Бармен (контроллер, тот, кто управляет банками) принимает заказ, идет на кухню (запрашивает информацию у банок), наливает сок (забирает игровые файлы) и несет гостю, а затем возвращается и заполняет графин новым соком (новой информацией о том, что запустил пользователь). Так до бесконечности.
Тайминги — качество
Работа памяти, вопреки стереотипу, измеряется не только герцами. Быстроту памяти принято измерять в наносекундах. Все элементы памяти работают в наносекундах. Чем чаще они разряжаются и заряжаются, тем быстрее пользователь получает информацию. Время, за которое банки должны отрабатывать задачи назвали одним словом — тайминг (timing — расчет времени, сроки). Чем меньше тактов (секунд) в тайминге, тем быстрее работают банки.
Такты. Если нам необходимо забраться на вершину по лестнице со 100 ступеньками, мы совершим 100 шагов. Если нам нужно забраться на вершину быстрее, можно идти через ступеньку. Это уже в два раза быстрее. А можно через две ступеньки. Это будет в три раза быстрее. Для каждого человека есть свой предел скорости. Как и для чипов — какие-то позволяют снизить тайминги, какие-то нет.
Частота — количество
Теперь, что касается частоты памяти. В работе ОЗУ частота влияет не на время, а на количество информации, которую контроллер может утащить за один подход. Например, в кафе снова приходит клиент и требует томатный сок, а еще виски со льдом и молочный коктейль. Бармен может принести сначала один напиток, потом второй, третий. Клиент ждать не хочет. Тогда бармену придется нести все сразу за один подход. Если у него нет проблем с координацией, он поставит все три напитка на поднос и выполнит требование капризного клиента.
Аналогично работает частота памяти: увеличивает ширину канала для данных и позволяет принимать или отдавать больший объем информации за один подход.
Тайминги плюс частота — скорость
Соответственно, частота и тайминги связаны между собой и задают общую скорость работы оперативной памяти. Чтобы не путаться в сложных формулах, представим работу тандема частота/тайминги в виде графического примера:
Разберем схему. На торговом центре есть два отдела с техникой. Один продает видеокарты, другой — игровые приставки. Дефицит игровой техники довел клиентов до сумасшествия, и они готовы купить видеокарту или приставку, только чтобы поиграть в новый Assassin’s Creed. Условия торговли такие: зона ожидания в отделе первого продавца позволяет обслуживать только одного клиента за раз, а второй может разместить сразу двух. Но у первого склад с видеокартами находится в два раза ближе, чем у второго с приставками. Поэтому он приносит товар быстрее, чем второй. Однако, второй продавец будет обслуживать сразу двух клиентов, хотя ему и придется ходить за товаром в два раза дальше. В таком случае, скорость работы обоих будет одинакова. А теперь представим, что склад с приставками находится на том же расстоянии, что и у первого с видеокартами. Теперь продавец консолей начнет работать в два раза быстрее первого и заберет себе большую часть прибыли. И, чем ближе склад и больше клиентов в отделе, тем быстрее он зарабатывает деньги.
Так, мы понимаем, как взаимодействует частота с таймингами в скорости работы памяти.
Соответственно, чем меньше метров проходит контроллер до банок с электрическим зарядом, тем быстрее пользователь получает информацию. Если частота памяти позволяет доставить больше информации при том же расстоянии, то скорость памяти возрастает. Если частота памяти тянет за собой увеличение расстояния до банок (высокие тайминги), то общая скорость работы памяти упадет.
Сравнить скорость разных модулей ОЗУ в наносекундах можно с помощью формулы: тайминг*2000/частоту памяти. Так, ОЗУ с частотой 3600 и таймингами CL14 будет работать со скоростью 14*2000/3600 = 7,8 нс. А 4000 на CL16 покажет ровно 8 нс. Выходит, что оба варианта примерно одинаковы по скорости, но второй предпочтительнее из-за большей пропускной способности. В то же время, если взять память с частотой 4000 при CL14, то это будет уже 7 нс. При этом пропускная способность станет еще выше, а время доставки информации снизится на 1 нс.
Строение чипа памяти и тайминги
В теории, оперативная память имеет скорость в наносекундах и мегабайтах в секунду. Однако, на практике существует не один десяток таймингов, и каждый задает время на определенную работу в микросхеме.
Они делятся на первичные, вторичные и третичные. В основном, для маркетинговых целей используется группа первичных таймингов. Их можно встретить в характеристиках модулей. Например:
Вот, как выглядят тайминги на самом деле:
Их намного больше и каждый за что-то отвечает. Здесь бармен с томатным соком не поможет, но попробуем разобраться в таймингах максимально просто.
Схематика чипов
Микросхемы памяти можно представить в виде поля для игры в морской бой или так:
В самом упрощенном виде иерархия чипа это: Rank — Bank — Row — Column. В ранках (рангах) хранятся банки. Банки состоят из строк (row) и столбцов (column). Чтобы найти информацию, контроллеру необходимо иметь координаты точки на пересечении строк и столбцов. По запросу, он активирует нужные строки и находит информацию. Скорость такой работы зависит от таймингов.
Первичные
CAS Latency (tCL) — главный тайминг в работе памяти. Указывает время между командой на чтение/запись информации и началом ее выполнения.
RAS to CAS Delay (tRCD) — время активации строки.
Row Precharge Time (tRP) — прежде чем перейти к следующей строке в этом же банке, предыдущую необходимо зарядить и закрыть. Тайминг обозначает время, за которое контроллер должен это сделать.
Row Active Time (tRAS) — минимальное время, которое дается контроллеру для работы со строкой (время, в течение которого она может быть открыта для чтения или записи), после чего она закроется.
Command Rate (CR) — время до активации новой строки.
Вторичные
Второстепенные тайминги не так сильно влияют на производительность, за исключением пары штук. Однако, их неправильная настройка может влиять на стабильность памяти.
Write Recovery (tWR) — время, необходимое для окончания записи данных и подачи команды на перезарядку строки.
Refresh Cycle (tRFC) — период времени, когда банки памяти активно перезаряжаются после работы. Чем ниже тайминг, тем быстрее память перезарядится.
Row Activation to Row Activation delay (tRRD) — время между активацией разных строк банков в пределах одного чипа памяти.
Write to Read delay (tWTR) — минимальное время для перехода от чтения к записи.
Read to Precharge (tRTP) — минимальное время между чтением данных и перезарядкой.
Four bank Activation Window (tFAW) — минимальное время между первой и пятой командой на активацию строки, выполненных подряд.
Write Latency (tCWL) — время между командой на запись и самой записью.
Refresh Interval (tREFI) — чтобы банки памяти работали без ошибок, их необходимо перезаряжать после каждого обращения. Но, можно заставить их работать дольше без отдыха, а перезарядку отложить на потом. Этот тайминг определяет количество времени, которое банки памяти могут работать без перезарядки. За ним следует tRFC — время, которое необходимо памяти, чтобы зарядиться.
Третичные
Эти тайминги отвечают за пропускную способность памяти в МБ/с, как это делает частота в герцах.
Эти отвечают за скорость чтения:
Эти отвечают за скорость копирования в памяти (tWTR):
Скорость чтения после записи (tRTP):
А эти влияют на скорость записи:
Скорость памяти во времени
Итак, мы разобрались, что задача хорошей подсистемы памяти не только в хранении и копировании данных, но и в быстрой доставке этих данных процессору (пользователю). Будь у компьютера хоть тысяча гигабайт оперативной памяти, но с очень высокими таймингами и низкой частотой работы, по скорости получится уровень неплохого SSD-накопителя. Но это в теории. На самом деле, любая доступная память на рынке как минимум соответствует требованиям JEDEC. А это организация, которая знает, как должна работать память, и делает это стандартом для всех. Аналогично ГОСТу для колбасы или сгущенки.
Стандарты JEDEC демократичны и современные игровые системы редко работают на таких низких настройках. Производители оставляют запас прочности для чипов памяти, чтобы компании, которые выпускают готовые планки оперативной памяти могли немного «раздушить» железо с помощью разгона. Так, появились заводские профили разгона XMP для Intel и DOHCP для AMD. Это «официальный» разгон, который даже покрывается гарантией производителя.
Профили разгона включают в себя информацию о максимальной частоте и минимальных для нее таймингах. Так, в характеристиках часто пишут именно возможности работы памяти в XMP режимах. Например, частоте 3600 МГц и CL16. Чаще всего указывают самый первый тайминг как главный.
Чем выше частота и ниже тайминги, тем круче память и выше производительность всей системы.
Так работает оперативная память с момента ее создания и до нашего времени.
Зависимость производительности в играх от частоты и таймингов оперативной памяти
Сегодня я попытаюсь разобраться, насколько важна производительность оперативной памяти для игрового ПК. Конечно, было бы прекрасно провести тестирование в 4х разрешениях в 20 играх и при 10 различных режимах памяти. Но подобное тестирование заняло бы у меня как минимум несколько месяцев, в течение которых все свободное время я посвящал бы тестам, и в итоге это тестирование никогда бы не было окончено. Поэтому осталось 5 режимов работы оперативной памяти, 7 игр и разрешение 1080p. Такое разрешение было выбрано, чтобы показать зависимость в условиях приближенных к реальным (хотя 1080p для GTX 1080 это даже маловато). Но не беспокойтесь, отдельные тесты в 720p тоже будут. Да еще какие!
реклама
Память я использую Geil Super Luce, которую подробно рассмотрел в предыдущей статье. Не самая лучшая память и не самый лучший выбор для тестов, но в свое оправдание могу сказать, что если взять более хорошую память, которая заведется на 2666 с меньшими таймингами, то само соотношение между памятью на разных частотах не изменится. Тем более, результаты явно покажут, что основные тайминги не есть самое главное для игровой производительности. Единственное, о чем жалею – невозможность проверить масштабируемость производительности при бОльших частотах памяти – выше 3400 моя память прыгнуть неспособна.
Перед проведением подробных тестов с замерами были проведены тесты записью видео и смонтированы в 2 ролика. В первом сравнивается производительность в следующих режимах 2133, 2666 XMP, 2666 optimized, 3200 optimized в разрешении 1080p в 9 играх.
Во втором сравниваются 2666 optimized и 3200 default в 720p
реклама
Именно в комментах к видео появилась идея с замерами 1% и 0.1%
Тест в каждой игре при каждом режиме памяти проводился 3 раза, результаты усреднялись. Если какой-то из результатов сильно отличался от остальных (в двух тестах 70-72, в третьем 60), его результаты отбрасывались, и тест проводился снова. Между каждым прогоном система перегружалась.
В первую очередь я отказался от частоты памяти 2133. Сегодня эта частота представляет лишь теоретический интерес. Все процессоры и матплаты поддерживают из коробки бОльшую частоту. А вот режимов с частотой 2666 будет 2 – стандартный XMP и с выжатыми таймингами. Частота 2666 интересна тем, что это максимальная частота для чипсетов, не поддерживающих разгон (на платформе Intel), и будет интересно посмотреть, на что способна память в таком режиме. Итак, память тестировалась в следующих режимах:
реклама
2666 XMP. Основные тайминги 16-18-18-36. Остальные тайминги Авто
2666 opt (Optimized). 12-16-16-28-1T, TRFC=280, TREFI=65535, остальные тайминги выставлены вручную (но не «добиты» до самых минимальных значений из-за недостаточности времени на тестирование стабильности).
3200 default. 15-19-19-34, tCWL=15, все остальные тайминги Авто.
3200 opt. 15-19-19-34-1T, TRFC=330, TREFI=65535, остальные тайминги выставлены вручную.
реклама
3400 opt. 16-20-20-34-1T, TRFC=350, TREFI=65535, остальные тайминги выставлены вручную.
Таблица с таймингами
Процессор во всех тестах Core i7 8700K на частоте 4,8 ГГц. Режим максимальной производительности включен как в Windows, так и в биос материнской платы.
Результаты в AIDA64 Memory Benchmark
2666 МГц очень сильно улучшает показатели после настройки таймингов и приближается к лидерам по времени задержки. Посмотрим, к чему это приведет в играх.
Тестовый стенд
ЦП: Core i7 8700K @ 4.8 GHz, северный мост @ 4.4 GHz
МП: Asus Z370-A, версия биос 0616
Кулер: Phanteks PH-TC14PE + Noctua NF-A15
ОЗУ: 2*8GB Geil Super Luce 2666
ВК: Zotac Geforce GTX 1080 AMP + Accelero Xtreme III @ 2000/10800
Корпус: Fractal Design Define R5 + 3x bequiet Silent Wings 2 140 mm
SSD: 2x Crucial M4 128GB, Crucial MX300 525GB, Kingfast 250GB
ОС: Windows 10 x64 LTSB
Версия драйвера ВК: 398.11
Для теста преимущественно отобраны игры, в которые я играю и знаю, в каких локациях производительность наименее зависит от видеокарты. Замеры среднего фпс и 1% и 0.1% фпс производились Fraps. К сожалению, пришлось отказаться от тестирования в Rise of Tomb Raider, т.к. Fraps в данной игре не работал. Также если не использовался бенчмарк, то не делалось никаких «прогревочных» пробежек по траектории, чтобы исключить лаги. Именно эти лаги мы сейчас и ищем.
Список игр
Assassin’s Creed Origins. Разрешение 1080p, пресет Ultra High. Используется встроенный бенчмарк, т.к. в данную игру я не играл. Тест производительности в Fraps запускался и останавливался вручную.
Fallout 4. Разрешение 1080p, пресет Ultra. Казалось бы, старая игра на древнейшем движке, но в данной игре есть место, где фпс зависит только от производительности оперативной памяти – верхушка завода Корвега. Фпс замерялся в течение 20 секунд при неподвижности персонажа. Тут я приведу только средний фпс. Также проведено тестирование при входе в Diamond City (13 cекунд).
Far Cry 5. Разрешение 1080p, пресет Ultra. Используется встроенный бенчмарк. Тест производительности в Fraps запускался и останавливался вручную.
Grand Theft Auto 5. Используется встроенный бенчмарк. Изначально я хотел использовать поездку по городу, но так и не смог научиться быстро ездить без аварий (в отличие от Watch Dogs 2). Настройки смотрите на скриншотах. Игра сама предложила подобные настройки при старте. Тест производительности в Fraps запускался вручную на 116 секунд в момент запуска последнего теста (и охватывал весь последний тест).
Kingdom Come Deliverance. Разрешение 1080p, пресет Very High. Поездка на быстрой лошади от мельницы до Ратае и через центральную улицу Ратае в течение 50 секунд. В отличие от видеосравнения тестовый отрезок заканчивается почти сразу после выезда за границу города.
Witcher 3. Разрешение 1080p, пресет Ultra. Поездка на лошади через Новиград в течение 50 секунд. В отличие от видеосравнения тестовый отрезок заканчивается почти сразу после выезда за границу города.
Watch Dogs 2. Разрешение 1080p, пресет Ультра. Поездка по центральной улице на быстром авто (одинаковом для каждого прогона) в течение 45 секунд. В отличие от видеосравнения обратно я уже не возвращаюсь, т.е. еду по дороге в одну сторону.
Результаты
Assassin’s Creed Origins 1080p
Различия между режимами очень небольшие. 2666 opt быстрее 3200 def.
Fallout 4 1080p
Рассмотрим пока спуск в Diamond City
Разница между лучшим и худшим результатом (avg и 1%) около 15%. 2666 опять опережает 3200 def.
Far Cry 5 1080p
Очень маленькая разница по среднему фпс, но вполне ощутимая по 1 и 0.1%. 2666 без оптимизаций отстает от остальных режимов, которые в свою очередь почти не отличаются между собой
Grand Theft Auto 5 1080p
С результатами GTA5 все не так однозначно. Средний фпс от прогона к прогону почти не отличался, а вот 1% и особенно 0.1% плавали в весьма широких пределах.
Kingdom Come Deliverance 1080p
В последней версии 1.5 (update: уже доступна 1.6) игра избавилась от фризов и просадок фпс при беге по городу на своих двоих. Но если скакать во весь опор на лошади, то фпс все еще провисает, хотя и меньше, чем на релизной версии. 2666 opt оказался гораздо ближе к оптимизированным 3200 и 3400, чем к 3200 без оптимизаций.
Watch Dogs 2 1080p
Стоп! Самая требовательная к скорости оперативной памяти игра показала минимальную разницу? Не может того быть! Может, если учесть настройки. В 1080p на Ultra настройках GTX 1080 почти постоянно работает на пределе, потому и такая небольшая разница.
720p
Тестирование в 720p я провел не во всех играх. Тестировать в 720p Fallout 4 и GTA 5 нет никакого смысла – в них и при 1080p видеокарта не загружена (это видно на видео). В Kingdom Come Deliverance видеокарта бОльшую часть времени загружена на максимум, но в моменты просадок фпс загрузка GPU падает. Итак, в 720p я протестирую Assassin’s Creed Origins, Witcher 3 и Far Cry 5. Watch Dogs 2 и завод Корвега из Fallout 4 оставлю напоследок.
Assassin’s Creed Origins 720p
Разница между режимами в 720p немного больше, чем в 1080p, но вновь ничего выдающегося.
Witcher 3 720p
Средний фпс растет, но 1% и 0.1% падает… Тестировать в 3200 opt я не стал – всего 2,3% разницы между 3400 и 2666 делает этот тест бессмыссленным.
Far Cry 5 720p
Всего 2 режима, т.к. их результаты показывают бессмысленность остального тестирования. Всего 3-4% разницы между 2666 и 3400 (+27% или +733 МГц частоты!) в 720p.
Watch Dogs 2 720p custom settings
А теперь немного хардкора. Снижаем разрешение до 720p, включаем пресет Ультра, а потом снижаем тени на Высоко и выключаем «Туман Сан-Франциско» и «Тень объектов в свете фар».
Помимо основных 5 режимов тестируем в следующих:
2666 XMP + TRFC, TREFI. Режим 2666 XMP кроме TRFC=280, TREFI=65535
2666 12-16-28-1T. Основные тайминги настроены вручную, все остальные на Авто
2666 opt no TRFC, TREFI. 2666 opt кроме TRFC и TREFI на Авто
2666 opt, subtim=auto. Основные тайминги, TRFC, TREFI настроены вручную, все остальные тайминги на Авто
2666 opt, TREFI=auto. 2666 opt кроме TREFI на Авто.
2666 opt, TRFC=auto. 2666 opt кроме TRFC на Авто.
2666 opt cl=14. 2666 opt кроме cl=14
2666 opt CR=2T. 2666 opt кроме Command Rate=2T
3267 opt. Тайминги аналогичны 3200 opt. Можитель процессора 47, шина 102.1
Каждый тест выполнялся 2 раза.
Наконец-то реальная разница между различными режимами! 2666 opt на 13-14% быстрее 2666 XMP, а 3400 opt в свою очередь на 10-11% быстрее 2666 opt, а разница между 2666 XMP и 3400 opt составляет 25%. Но есть одно но. Подобная разница получилась в одной игре, в разрешении 720p, с немного сниженными настройками, при использовании Core i7 8700K на частоте 4,8 ГГц и Geforce GTX 1080. Хочется тут вставить видео со святым отцом из «Очень страшного кино»
Еще из интересного можно отметить, что 2666 со всеми настроенными таймингами, кроме TRFC+TREFI, равен режиму 2666 XMP с настроенными TRFC+TREFI.
Повышение TRFC c 280 до дефолтных 467 (для частоты 2666) на производительность по сути не влияет.
Настройка только TRFC+TREFI после активации XMP профиля уже ощутимо улучшает производительность.
Ну и напоследок тест на заводе Корвега в Fallout 4. Особенность данной точки, что фпс тут не зависит ни от видеокарты, ни от процессора, а только от производительности оперативной памяти. Тест проводился всего 1 раз ввиду высокой повторяемости результатов. Приведен средний фпс.
Здесь разница меньше, чем в WD2 – всего 13,5% между лучшим и худшим результатом. Сами результаты позволяют оценить влияние каждого параметра на производительность.
Заключение
Через пару дней после начала подробных тестов я подумал, что занимаюсь чем-то бесполезным, и все основные ответы уже есть в записанных ранее видео. В общем-то, так и вышло. 2666 МГц с оптимизированными таймингами в подавляющем большинстве случаев не сильно уступает 3200 и 3400 (также с настроенными таймингами) и всегда превосходит 3200 с дефолтными таймингами. Основную роль в этом играет тайминг TREFI, но и остальные далеко небесполезны.
Ощутимую разницу удалось получить лишь в игре Watch Dogs 2 в разрешении 720p с немного сниженными настройками графики. Можно, конечно, было бы сказать, что со временем таких игр станет больше, но с момента выхода WD2 прошло более полутора лет, и новые игры показывают куда меньшую зависимость от производительности памяти.
Ссылка на архив со всеми результатами и скриншотами таймингов и результатов в AIDA64.