Двоядерні процесори і сучасні ігри, Комп’ютерні ігри, Різне, статті

Ще зовсім недавно двоядерні процесори в домашньому комп’ютері залишалися долею окремих ентузіастів і професіоналів, що працюють з ресурсоємними додатками. Це було обумовлено досить високою ціною двопроцесорних систем і тим, що більшість звичайних програм нічого не вигравали від наявності другого ядра.


Ситуація почала поступово виправлятися з кінця минулого року, але вартість процесорів з двома ядрами довгий час залишалася неприйнятною для звичайного користувача. Проте в кінці липня одночасно з виходом нових процесорів з ядром Conroe і AMD, і Intel знизили розцінки на вже існуючі двух’ядернікі до недавнього рівня одноядерних моделей. У результаті виникло закономірне питання: а чи є на даний момент користь від другого ядра? Ось у цьому ми і спробуємо зараз розібратися. Почнемо з теорії. Насамперед відзначимо, що багатоядерність повинна підтримуватися операційною системою, при цьому кожне ядро визначається як окремий процесор. Windows 2000/ХР, на відміну від більш старих, але все ще місцями використовуваних Windows 98/Me, забезпечує повну підтримку багатоядерних процесорів. Зауважимо, що Windows XP Home Edition не варто осібно від родинних систем: незважаючи на те що спочатку для даної ОС була заявлена ​​підтримка тільки одного процесора (а значить, друге ядро ​​не мало шансів працювати), під тиском AMD Microsoft дещо змінила ліцензійну політику для зазначеної ОС, провівши реєстрацію процесорів за кількістю роз’ємів на материнській платі, а не за кількістю ядер.


Далі можливість збільшення швидкодії при наявності другого ядра залежить від самого додатка. Природно, говорити про приріст продуктивності має сенс, коли програмі не вистачає можливостей одного ядра, але не тільки в цьому випадку. Нагадаємо, що процесори AMD підтримують фірмову технологію Cool “N” Quiet, яка дозволяє знижувати частоту CPU при низькому навантаженні на нього, зменшуючи тим самим споживання енергії та тепловиділення, завдяки чому знижується швидкість обертання кулера під час роботи. При наявності двоядерного чіпа і додатки з його підтримкою в деяких випадках можлива ситуація, коли продуктивності достатньо навіть на невеликих частотах, а звичайний CPU, виконуючи ту ж задачу, буде змушений функціонувати на максимальній частоті. Ще зауважимо, що підвищення швидкості здійсненно навіть при відсутності підтримки багатоядерності з боку програми, якщо вона створює в ході роботи досить велика кількість потоків (threads), і планувальник системи розподіляє їх по різних ядрам або в разі її взаємодії з іншою програмою (або драйвером), що підтримує багатопроцесорність.


Детальні результати тестування


Як ми тестували?


Перейдемо тепер до методики тестування. В якості представника двоядерних процесорів ми вибрали популярний AMD Athlon 64 X2 3800 + для сокета AM2, а на противагу йому взяли AMD Athlon 64 3500 + AM2 (на момент тестування в наявності не було рівного по частоті AMD Athlon 64 3200 + AM2). У першу чергу тести проводилися на штатній для X2 3800 + частоті в 2 GHz (відповідно, для отримання цієї частоти у 3500 + був зменшений множник з 11 до 10). Додатково ми вирішили дослідити продуктивність на 1,8 GHz (такий показник має звичайний AMD Athlon 64 3000 +), знизивши множник обох процесорів до 9; і при розгоні до 2,6 GHz (при множнику 10 і частоті генератора, що задає в 260 MHz), щоб перевірити, чи не виявиться вузьким місцем відеокарта при достатній частоті CPU. З жалем відзначимо, що під час тестування процесорів на частоті 2 GHz пам’ять працювала в режимі 533 MHz, замість належних 667 MHz, що кілька занизило результати в зазначеному режимі.






 

Набір ігор, використаних для вимірювання показників продуктивності, досить стандартний. Вони діляться на дві групи – ті, в яких заявлена ​​підтримка двоядерного (сюди відносяться Quake 4, FEAR, Serious Sam 2 і Call Of Duty 2), і ті, для яких вона не заявлена ​​(Far Cry, DOOM 3, Need for Speed: Most Wanted, TES IV: Oblivion). Зазначимо, що ігри першої групи спочатку не підтримували два ядра, потрібна функціональність була згодом добавлена ​​оновленнями. Крім цього, отримані результати і в досить популярних бенчмарках 3DMark05 і 3DMark06.


Оскільки вже давно ведуться розмови про використання комп’ютера як універсального центру розваг, на якому одночасно «крутяться» і фільми, і музика, і ігри, був проведений ще один експеримент – У властивостях відеокарти ми включили висновок на телевізор і при цьому запускали відтворення відео на ньому плюс бенчмарк в Far Cry (середньої за сьогоднішніми мірками ігри). Унаслідок обмеженого часу тестування даний експеримент проводився тільки для двох типів відеороликів – звичайною записи у форматі MPEG4 з роздільною здатністю 720 × 480 (позначення в таблиці – SDTV) і відео високої чіткості стандарту H.264 в дозволі 1920 × 1080 (відповідно – HDTV).


Ігрові бенчмарки


Розглянемо отримані результати. В першу чергу відзначимо збільшення швидкості в тих іграх, де воно не очікувалося, а саме, в Far Cry і DOOM 3. Тут варто згадати заяву компанії NVIDIA, що її драйвери, починаючи з серії 8х.хх, підтримують прискорення на двоядерних процесорах, і, мабуть, дане підвищення продуктивності пов’язане з ними. З іншого боку, в Need for Speed: Most Wanted прискорення взагалі не зафіксовано, незважаючи на зростання показників fps c збільшенням частоти. Отже, напрошується припущення, що, як і у випадку з технологією SLI, відчутна прибавка швидкості буде досягнута тільки при додатковій доробці драйверів під кожну конкретну гру, а значить, в загальному випадку на автоматичне прискорення розраховувати не варто. В Call of Duty 2, незважаючи на відсутність приросту продуктивності, підтримка двух’ядерніков є, і вона працює, що було видно з графіків завантаження CPU під час тестів. Те ж саме стосується і TES IV: Oblivion – хоча підтримка багатоядерності не заявлена ​​(і результати з урахуванням великої похибки бенчмарка на різних процесорах близькі), гра створює багато потоків, які досить адекватно розподіляються системою з різних ядер. Протилежна картина спостерігається в F.E.A.R. – Незважаючи на заявлену підтримку, ніяких слідів двоядерного виявити не вдалося. Більш того, якщо вивчити показники завантаження ядер в ході тестування, то гра веде себе так, ніби вона жорстко прив’язана до одного з них, завантажуючи його на 100%, в той час як другий використовується лише на 3-10%. Вбудований бенчмарк байдуже поставився до додавання другого ядра, а спроба зняти показники продуктивності всередині гри за допомогою утиліти Fraps завершилася невдачею – середній fps від прогону до прогону коливався в межах 63-90 fps, що дає абсолютно неприйнятну похибка. Результати в Quake 4 і Serious Sam 2 в особливих коментарів не потребують, заявлена ​​підтримка є і працює, зменшення приросту продуктивності зі збільшенням дозволу викликано нестачею потужності графічного акселератора; природно, на більш швидкій відеокарті прискорення буде і у важких відеорежимах.


Ігри плюс відео


Окремо прокоментуємо паралельне виконання двох ресурсномістких додатків. Як видно, при запуску звичайного відео в MPEG4 продуктивності навіть одноядерного процесора в цілому достатньо для одночасної ігри та перегляду фільму. Єдине зауваження – при завантаженні рівня в Far Cry зображення на телевізорі починало пригальмовувати, проте при розгоні до 2,6 GHz зазначена проблема повністю зникала. На двух’ядерніке таких труднощів не було навіть при мінімальній частоті. З дуже ресурсномістких HDTV-роликом в дозволі 1080p ситуація кардинально міняється – на одноядерному процесорі і з розгоном неможливо нормально грати, паралельно дивлячись відео, на двоядерному ж на штатній частоті fps в грі досить високий, проте спостерігалися пригальмовування і розсинхронізація звуку / відео у виведеного на телевізор зображення. Підвищення частоти процесора позбавляє від даної проблеми, але тестування проводилося не в самій ресурсномісткою з сучасних ігор: при запуску в парі з HDTV-відео Quake 4 або TES IV: Oblivion продуктивності навіть розігнаного двух’ядерніка недостатньо. Ймовірно, ситуацію змінять процесори Core 2 Duo від фірми Intel, це можна буде перевірити в подальшому. Ще необхідно зауважити, що для одночасної гри та перегляду фільму потрібні дві звукові карти: перша стане відповідати за звук в грі, друга – за звук у фільмі.


Можливі проблеми після установки двух’ядерніка


Незважаючи на переваги двоядерних процесорів, їх власники можуть зіткнутися з деякими проблемами, зазвичай не описуваними в статтях. Ми вирішили заповнити цей пробіл і дати кілька корисних рекомендацій.





 

В двоядерної системі найбільш часто спостерігається проблема (з якою можна зіткнутися і в випадку з процесором, c технологією Hyper-Threading) полягає в зниженні продуктивності в порівнянні з аналогічною одноядерної системою. До того ж в іграх спостерігається, наприклад, різке збільшення внутрішньоігрової швидкості (не продуктивності!). Причиною цього є некоректний вибір таймера операційної системи – Замість таймера керування живленням ACPI використовується таймер TSC, що призводить до помилок в програмах, що задіюють у своїй роботі виклик функції ядра QueryPerformanceCounter.


В такому випадку необхідно зробити наступне: в першу чергу потрібно додати в файл boot.ini, розташований в кореневому каталозі диска C, в кінець рядка виду «multi (0) disk (0) rdisk (0) partition (1) WINDOWS =” Microsoft Windows XP Professional “/ noexecute = optin / fastdetect» ключ / usepmtimer. Якщо ви не бачите в Провіднику даного файлу, то виберіть в меню в розділі Сервіс пункт Властивості папки. У вікні на вкладці Вид приберіть галочку біля пункту Приховувати захищені системні файли та в розділі Приховані файли та папки виберіть Показувати приховані файли і папки. Далі власники процесорів AMD повинні завантажити та встановити програму AMD DualCore Optimizer, А власникам процесорів Intel необхідно слідувати інструкціям, розміщеним з цього адресою . Зауважимо, що якщо ви використовуєте для управління частотою процесора не системні засоби, а програму RMClock версії 2.15, то достатньо лише додати / usepmtimer в завантажувальний файл. Якщо ж, незважаючи на виконання вищеописаних дій, в ході гри все одно виникають проблеми (зависання, викидання на Робочий стіл і т. п.), то варто спробувати жорстко прив’язати гру до одного з ядер. Для цього після запуску гри натискаємо Ctrl + Alt + Del, в який з’явився диспетчері завдань клацаємо правою кнопкою на грі, вибираємо пункт Перейти до процесів, потім клікаєм знову правою кнопкою на виділеному процесі і вибираємо Поставити відповідність. У вікні знімаємо галочку біля одного з ядер, якого саме – не має значення, після чого закриваємо вікно, сам диспетчер задач і повертаємося в гру. Якщо ж після зазначених дій проблеми не зникли, і при цьому у вас встановлена ​​відеокарта NVIDIA фірми, можна спробувати відключити багатопотокові оптимізації у відео-драйвери. Запускаємо редактор реєстру ( Пуск -> Виконати -> regedit.exe), йдемо за адресою HKey_Local_MachineHardwareDeviceMapVideo і виписуємо з змінної devicevideo0 адресу, за якою розташовані налаштування відеокарти. Зауважимо, що вказану адресу у систем Windows 2000 і Windows XP відрізняється, в Windows 2000 він буде мати вигляд REGISTRYMachineSystemControlSet001ServicesvDevice0, в той час як в Windows XP RegistryMachineSystemCurrent ControlSetControlVideo {DD18ED74-F584-4145-B29B-E3A6C6189FAA} випадку говорить про те, що інформація знаходиться в реєстрі, а Machine – що вона зберігається в розділі HKEY_LOCAL_MACHINE. Приклад вмісту необхідного розділу представлений на скріншоті. Клацаємо мишею в правій частині вікна, вибираємо Створити – Параметр DWORD, називаємо його OGL_ThreadControl і присвоюємо йому значення 2. Для відключення багатопоточності в додатках Direct3D потрібно створити змінну WTD_EXECMODEL того ж типу і привласнити їй значення 0. Зауважимо, що зазвичай виробники ігор досить оперативно реагують на проблеми такого роду, і перш ніж відключати підтримку двух’ядерніков, варто перевірити, чи немає патча для гри, що виправляє можливі помилки.


Підсумки


Отже, з результатів тестування видно, що вже зараз двоядерні процесори можуть збільшити продуктивність в існуючих іграх в порівнянні зі своїми одноядерними побратимами, хоча наявні ігри проектувалися і писалися в розрахунку саме на них. Звичайно, ціна двух’ядерніка трохи вище, але це плата за збільшене швидкодія. З виходом ж ігор з початковою підтримкою багатоядерності перевагу таких процесорів стане незаперечним. Ще одним аргументом на їхню користь є те, що в Microsoft Xbox 360 і виходить незабаром Sony PS3 також встановлено кілька процесорів, а значить, крос-платформні і перенені з приставок на PC гри напевно отримають переваги від багатоядерних чіпів.































Конфігурація тестового стенда
Процесор AMD Athlon 64 3500+ AM2
AMD Athlon 64 X2 3800+ AM2
Материнська плата abit KN9 Ultra (nForce 570 Ultra)
Пам’ять 2×1024 MB Samsung DDRII-667 5-5-5-13-1T
Відеокарта ASUS EN7600GT@600/1600 MHz
Жорсткий диск Western Digital WD2000JS
Блок живлення FSP 550W 550-80GLN
Операційна система Windows XP Professional SP2, DirectX 9.0c
Драйвери NVIDIA ForceWare 91.28


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*