Работоспособность технологии Hyper-Threading в играх
Оглавление
- Вступление
- Тестовая конфигурация
- Инструментарий и методика тестирования
- Результаты тестов: сравнение производительности
- Anno 1404
- Batman: Arkham Asylum
- Bionic Commando
- Borderlands
- Call of Duty: Modern Warfare 2
- Colin McRae: DIRT 2
- Crysis Warhead (ambush)
- Dragon Age: Origin
- Fallout 3: Broken Steel
- Far Cry 2 (ranch small)
- FUEL
- Gears of War
- Grand Theft Auto 4
- Left 4 Dead 2
- Lost Planet: Colonies (area1)
- Mass Effect
- Mirrors Edge
- Need for Speed: SHIFT
- Operation Flashpoint: Dragon Rising
- Overlord 2
- Prototype
- Race Driver: GRID
- Red Faction: Guerrilla
- Risen
- Resident Evil 5 (scene 1)
- Sacred 2: Fallen Angel
- S.T.A.L.K.E.R.: Call of Pripyat (SunShafts)
- Street Fighter 4
- Tom Clancy: HAWX
- World in Conflict: Soviet Assault
- Сравнение производительности процессоров
- Заключение
- Процессор: Intel Core i7 920 (Bloomfield, D0, L3 8 Мб), 1.18 В, Turbo Boost - on, Hyper Threading - off/on - 2660 @ 4000 МГц
- Материнская плата: GigaByte GA-EX58-UD5, BIOS F5
- Видеокарта: Zotac GeForce GTX 260 896 Mбайт (576/1242/2000 МГц) - 2 шт
- Система охлаждения CPU: Cooler Master V8 (~1100 об/мин)
- Оперативная память: 2 x 2048 Мбайт DDR3 Corsair TR3X6G1600C7 (Spec: 1528 МГц / 8-8-8-20-1t / 1.5 В) , X.M.P. - off
- Дисковая подсистема: SATA-II 500 Гбайт, WD 5000KS, 7200 об/мин, 16 Мбайт
- Блок питания: FSP Epsilon 700 Ватт (штатный вентилятор: 120-мм на вдув)
- Корпус: открытый тестовый стенд
- Монитор: 24" BenQ V2400W (Wide LCD, 1920x1200 / 60 Гц)
- Операционная система: Windows 7 build 7600 RTM x86
- Драйвер видеокарты: NVIDIA Display Driver 195.62
- RivaTuner 2.24c
- MSI AFTERBURNER 1.4.2
- 2 ядра, технология Hyper-Threading отключена
- 2 ядра, технология Hyper-Threading включена
- 3 ядра, технология Hyper-Threading отключена
- 4 ядра, технология Hyper-Threading отключена
- 4 ядра, технология Hyper-Threading включена
- Batman: Arkham Asylum
- Colin McRae: DIRT 2
- Crysis Warhead (ambush)
- Far Cry 2 (ranch small)
- Lost Planet: Colonies (area1)
- Resident Evil 5 (scene 1)
- Tom Clancy's H.A.W.X.
- S.T.A.L.K.E.R.: Call of Pripyat (SunShafts)
- Street Fighter 4
- World in Conflict: Soviet Assault
- Left 4 Dead 2
- Anno 1404
- Bionic Commando
- Borderlands
- Call of Duty 4: Modern Warfare 2
- Dragon Age: Origin
- Fallout 3: Broken Steel
- FUEL
- Gears of War
- Grand Theft Auto 4
- Mass Effect
- Mirrors Edge
- Need for Speed: SHIFT
- Operation Flashpoint: Dragon Rising
- Overlord 2
- Prototype
- Race Driver: GRID
- Red Faction: Guerrilla
- Risen
- Sacred 2: Fallen Angel
- включение НТ у двухъядерного процессора не повлияло на его производительность в десяти играх
- включение НТ у двухъядерного процессора незначительно увеличило его производительность (менее 5%) в восьми играх
- включение НТ у двухъядерного процессора заметно повысило его производительность (более 5%), но он все равно оказался медленнее трехъядерного CPU, в десяти играх
- включение НТ у двухъядерного процессора сделало его производительнее трехъядерного CPU в одной игре
- включение НТ у двухъядерного процессора сделало его производительнее четырехъядерного CPU в одной игре
- включение НТ у четырехъядерного процессора не повлияло на его производительность в двадцати пяти играх
- включение НТ у четырехъядерного процессора повысило его производительность в одной игре
- включение НТ у четырехъядерного процессора снизило его производительность в трех играх
- включение НТ у четырехъядерного процессора привело к зависанию в одной игре
Вступление
Компания Intel внедрила в свои процессоры, основанные на микропроцессорной архитектуре Nehalem, много новаторских разработок. Сегодня мы рассмотрим одну из них, а именно Hyper-Threading.
Эта технология не нова, она применялась еще на процессорах Pentium 4. Но в то время на рынке еще не существовали многоядерные процессоры, соответственно программное обеспечение не было оптимизировано под многопоточность и толку от Hyper-Threading было мало. Хотя в определенных программах прирост производительности, достигающий 30 процентов, все же наблюдался.
В современных условиях Hyper-Threading часто положительно сказывается на росте производительности процессора при кодировании видео, архивации и многих других операциях, оптимизированных под многопоточность.
Будет интересно проверить, насколько эффективна эта технология в современных играх на примере процессора Intel Core i7 i920.
На текущий момент большинство покупателей интересует не дорогая старшая линейка процессоров Intel Core i7 LGA 1366, а более доступные Core i5 и i7 в исполнении LGA 1156. Сегодняшнее тестирование покажет, есть ли польза от поддержки технологии Hyper-Threading двух- и четырехъядерными процессорами Intel.
Подробно ознакомиться с технологией Hyper-Threading можно на официальном сайте Intel .
Тестовая конфигурация
Тесты проводились на следующем стенде:
Программное обеспечение:
Инструментарий и методика тестирования
Сегодня будет проверена работоспособность Hyper-Threading у двух- и четырехъядерных процессоров. Двухъядерный процессор был получен путем отключения двух ядер у CPU i920 через БИОС материнской платы. Таким же путем был съэмулирован трехъядерный процессор, чтобы получить полную картину производительности двух-, трех- и четырехъядерных процессоров с отключенным Hyper-Threading и двух- и четырехъядерных CPU с включенным Hyper-Threading, в разных играх.
Результаты тестирования на диаграммах представлены в следующей последовательности:
Во-первых, такая последовательность, предположительно, должна соответствовать теоретическому распределению производительности. По опыту, технология Hyper-Threading обеспечивает прирост производительности в пределах 30%. Этого явно недостаточно для победы двухъядерного процессора с включенной технологией Hyper-Threading над "честным" трёхядерным, если только не имеется ошибки в реализации программного обеспечения (например, если ядер меньше четырёх, программа работает только на двух ядрах, при этом третье не используется в принципе - в таком варианте виртуальные четыре ядра могут быть быстрее реальных трёх). Мы, однако, не будем полагаться на небрежность и возможные ошибки программистов.
Во-вторых, при таком размещении можно более удобно сравнивать строки, отвечающие на актуальный вопрос: а нужно ли владельцу "игровой" машины активировать технологию Hyper-Threading в своём процессоре? Даёт ли эта технология преимущества именно в играх?
Что касается гипотетического трёхъядерника, то он здесь присутствует скорее ради научного интереса, так как подобного процессора в природе не существует и не ожидается. Однако благодаря наличию этой строки в диаграмме можно судить о том, есть ли смысл в выпуске подобного процессора компанией Intel так же, как это ранее сделала AMD.
Тестирование игровых приложений проводилось в разрешениях 1280х1024, в котором видеокарты выдают максимальный результат, за счет чего легче отследить разницу в производительности процессора, с активированными двумя, тремя, четырьмя ядрами и включенном/выключенным Hyper-Threading (далее кратко - НТ).
В следующих играх использовались средства измерения быстродействия (бенчмарк):
Игра, в которой производительность замерялась путем загрузки демо сцен:
В данных играх производительность измерялась с помощью утилиты FRAPS v3.0.3 build 10809:
Во всех играх замерялись минимальные и средние значения FPS.
В тестах, в которых отсутствовала возможность замера min fps, это значение измерялось утилитой FRAPS.
VSync при проведении тестов был отключен.
Чтобы избежать ошибок и минимизировать погрешности измерений, все тесты производились по три раза. При вычислении avg fps за итоговый результат бралось среднеарифметическое значение результатов всех прогонов. В качестве min fps выбиралось минимальное значение показателя по результатам трех прогонов.
Перейдем непосредственно к тестам.
Сравнение производительности процессоров
Среднегеометрическая производительность различных конфигураций процессора в тридцати играх
Включите JavaScript, чтобы видеть графики
Сегодняшнее тестирование показало, что активация Hyper-Threading повышает производительность двухъядерного процессора, но этого недостаточно, чтобы конкурировать с трехъядерным CPU. Включение Hyper-Threading у четырехъядерного CPU негативно сказалось на производительности - она снизилась.
Для составления более объективной картины рассмотрим изменение производительности процессоров после активации технологии Hyper-Threading в тридцати играх по отдельности.
Получившаяся сводная диаграмма оказалась довольно "масштабной". Сделано это было, чтобы сохранить масштаб шкалы и все данные выглядели как можно нагляднее.
Сводная диаграмма производительности процессоров, с включенной и выключенной технологией Hyper-Threading (за 100% взят результат двухъядерного процессора с выключенным НТ)
Включите JavaScript, чтобы видеть графики
Batman: Arkham Asylum
Включите JavaScript, чтобы видеть графики
Bionic Commando
Включите JavaScript, чтобы видеть графики
Borderlands
Включите JavaScript, чтобы видеть графики
Call of Duty: Modern Warfare 2
Включите JavaScript, чтобы видеть графики
Colin McRae: DIRT 2
Включите JavaScript, чтобы видеть графики
Crysis Warhead
Включите JavaScript, чтобы видеть графики
Dragon Age: Origin
Включите JavaScript, чтобы видеть графики
Fallout 3: Broken Steel
Включите JavaScript, чтобы видеть графики
Far Cry 2
Включите JavaScript, чтобы видеть графики
FUEL
Включите JavaScript, чтобы видеть графики
Gears of War
Включите JavaScript, чтобы видеть графики
Grand Theft Auto 4
Включите JavaScript, чтобы видеть графики
Left 4 Dead 2
Включите JavaScript, чтобы видеть графики
Lost Planet: Colonies
Включите JavaScript, чтобы видеть графики
Mass Effect
Включите JavaScript, чтобы видеть графики
Mirrors Edge
Включите JavaScript, чтобы видеть графики
Need for Speed: SHIFT
Включите JavaScript, чтобы видеть графики
Operation Flashpoint: Dragon Rising
Включите JavaScript, чтобы видеть графики
Overlord 2
Включите JavaScript, чтобы видеть графики
Prototype
Включите JavaScript, чтобы видеть графики
Race Driver: GRID
Включите JavaScript, чтобы видеть графики
Red Faction: Guerrilla
Включите JavaScript, чтобы видеть графики
Resident Evil 5
Включите JavaScript, чтобы видеть графики
Risen
Включите JavaScript, чтобы видеть графики
Sacred 2: Fallen Angel
Включите JavaScript, чтобы видеть графики
S.T.A.L.K.E.R.: Call of Pripyat
Включите JavaScript, чтобы видеть графики
Street Fighter 4
Включите JavaScript, чтобы видеть графики
Tom Clancy: HAWX
Включите JavaScript, чтобы видеть графики
World in Conflict: Soviet Assault
Включите JavaScript, чтобы видеть графики
По диаграмме видно, что:
Заключение
Данное тестирование показало, что поддержка процессором технологии Hyper-Threading положительно сказывается на производительности, но не всегда. После выхода процессора Core i7 были проведены многочисленные тесты, которые показали снижение производительности в играх при включении режима Hyper-Threading. Сложно сказать, в чем конкретно была проблема, но по результатам данного тестирования видно, что включение Hyper-Threading, как правило, не ухудшает дело.
Если сравнивать результаты с включенным и выключенным режимом Hyper-Threading, то максимальная польза от его активации была получена на двух физических ядрах - это четыре логических при включении Hyper-Threading, а наименьшая - на четырех физических ядрах, где, как правило, включение НТ приводит к небольшому снижению минимального и среднего fps. Если проанализировать цифры, то выясняется, что при малом числе ядер общая производительность меньше и распараллеливание ресурсов на четыре логических позволяет получить дивиденды в производительности даже при больших задержках в выполнении на логических ядрах. А вот при большем количестве физических ядер их общей производительности уже хватает и разбивка на логические ядра приносит только потери. Однако, зачастую отключение НТ позволяет получить больший разгонный потенциал процессора при несколько меньшем потреблении, что компенсирует прирост производительности от режима НТ, причем этот эффект будет действовать во всех играх.
Причина проблем с использованием Hyper-Threading кроется в том, что производители игр в первую очередь ориентируются на игровые консоли. Несмотря на то, что четырехъядерные процессоры существуют на рынке больше двух лет, игры, нормально оптимизированные под них можно сосчитать на пальцах обеих рук. Что уж говорить о дополнительных виртуальных ядрах, которые банально не используются.
Благодарю за помощь в подготовке материала к публикации рецензентов: rodyanin, serj, Hil, 40_degrees и donnerjack.
