THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму

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

Отже, сьогодні ми з вами розберемося, що означають ті чи інші графічні настройки в комп'ютерних іграх.

У Nvidia і AMD є програмне забезпечення для автоматичної настройки графіки згідно технічним характеристикам вашого комп'ютера. Зі своїм завданням програми справляються непогано, але часто ручне налаштування приносить куди більше користі. Все-таки, ми ПК-бояри, у нас повинна бути свобода вибору!

Якщо ви новачок в області ігрової графіки, це керівництво створено спеціально для вас. Ми розшифруємо основні пункти будь-якого меню «Налаштування графіки» в ваших іграх і пояснимо, на що вони впливають. Ця інформація допоможе вам позбавитися від лагів і фризів в улюбленій грі, не втрачаючи красивої картинки. А власники потужних комп'ютерів зрозуміють, як налаштувати саму соковиту і привабливу графіку, щоб записувати круті відео і робити видовищні скріншоти.

Почнемо з фундаментальних понять, а потім пройдемося по тонким налаштуванням в рамках декількох розділів, присвячених анізотропної фільтрації, згладжування і постобробці. Для написання цього гайда ми користувалися інформацією, отриманою від професіоналів: Алекса Остіна, дизайнера і програміста Cryptic Sea, Ніколаса Вайнінга, технічного директора і провідного програміста Gaslamp Games і від представників Nvidia. Відразу відзначимо, що статтю ми пишемо простими словами, опускаючи докладні технічні деталі, щоб вам було легше зрозуміти механізми роботи різних технологій.

ОСНОВИ

Розширення

Піксель - основна одиниця цифрового зображення. Це колірна точка, а дозвіл - кількість стовпців і рядів точок на вашому моніторі. Найпоширеніші дозволу на сьогодні: 1280x720 (720p), 1920x1080 (1080p), 2560x1440 (1440p) і 3840 x 2160 (4K або «Ultra-HD»). Але це для дисплеїв формату 16:9 . Якщо у вас співвідношення сторін 16:10 , Дозволи злегка відрізнятися: 1920x1200, 2560x1600 і т.д. У Ультраширокий моніторів дозвіл теж інше: 2560x1080, 3440x1440 і т.д.

Кадри в секунду (frames per second, FPS)

Якщо уявити, що гра - це анімаційний ролик, то FPS буде числом зображень, показаних за секунду. Це не те ж саме, що частота оновлення зображення на дисплеї, яка вимірюється в герцах. Але ці два параметри легко порівнювати, адже як монітор на 60 Гц оновлюється 60 разів за секунду, так і гра при 60 FPS видає саме стільки кадрів за той же відрізок часу.

Чим сильніше ви завантажте відеокарту обробкою красивих, наповнених деталями ігрових сцен, тим нижче буде ваш FPS. Якщо частота кадрів виявиться низькою, вони будуть повторюватися і вийде ефект пригальмовування і підвисання. Кіберспортсмени полюють за максимальному можливими показниками FPS, Особливо в шутерах. А звичайні користувачі найчастіше задовольняються іграбельності показниками - це десь 60 кадрів в секунду. Однак, монітори на 120-144 Гц стають доступнішими, тому потреба в FPS теж зростає. Немає сенсу грати на 120 Гц, якщо система тягне за все 60-70 кадрів.

Так як в більшості ігор немає вбудованого бенчмарка, для вимірювання кадрів в секунду використовується додаткове програмне забезпечення, наприклад, ShadowPlay або FRAPS. Однак, деякі нові ігри з DX12 і Vulkan можуть функціонувати належним чином з цими програмами, чого не спостерігалося з старими іграми на DX11.

Апскейлінг і даунсемплінг

У деяких іграх є налаштування «дозвіл рендеринга» або «Rendering resolution» - цей параметр дозволяє підтримувати постійний дозвіл екрана, при цьому налаштовуючи дозвіл, при якому відтворюється гра. Якщо дозвіл рендеринга гри нижче дозволу екрану, воно буде збільшено до масштабів дозволу екрану (апскейлінг). При цьому картинка вийде жахливою, адже вона розтягнеться в кілька разів. З іншого боку, якщо візуалізувати гру з великою роздільною здатністю екрану (така опція є, наприклад, в Shadow of Mordor), Вона буде виглядати набагато краще, але продуктивність стане помітно нижче (даунсемплінг).

Апскейл і даунскейл

продуктивність

На продуктивність найбільше впливає дозвіл, оскільки воно визначає кількість оброблюваних графічним процесором пікселів. Ось чому консольні ігри з роздільною здатністю 1080p, часто використовують апскейлінг, щоб відтворювати круті спецефекти, зберігаючи плавну частоту кадрів.

Ми використовували наш Large Pixel Collider (Суперкомп'ютер від сайту PC Gamer), включивши дві з чотирьох доступних відеокарт GTX Titan, Щоб продемонструвати, як сильно дозвіл впливає на продуктивність.

Тести проводилися в бенчмарке Shadow of Mordor:

Вертикальна синхронізація і розриви кадрів

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

Неприємні розриви кадрів

Одним з рішень цієї проблеми стала вертикальна синхронізація, Яка майже завжди присутній в налаштуваннях графіки. Вона не дозволяє грі показувати кадр, поки дисплей не від'ôднаôтесь цикл оновлення. Це викликає іншу проблему - затримка виведення кадрів, коли гра здатна показати більшу кількість FPS, Але обмежена герцовкой монітора (наприклад, ви могли б мати 80 або навіть 100 кадрів, але монітор дозволить показувати тільки 60).

Адаптивна вертикальна синхронізація

Буває і так, що частота кадрів гри падає нижче частоти оновлення монітора. Якщо частота кадрів гри перевищена, вертикальна синхронізація прив'язує її до частоти оновлення монітора і вона, наприклад, на дисплеї з 60 Гц не перевищить 60 кадрів. А ось коли частота кадрів падає нижче частоти оновлення монітора, вертикальна синхронізація прив'язує її до іншого синхронізованому значенням, наприклад, 30 FPS. Якщо частота кадрів постійно коливається вище і нижче частоти поновлення, з'являються пригальмовування.

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

Технології G-sync і FreeSync

Нові технології допомагають розібратися з багатьма проблемами, які часто засновані на тому, що у дисплеїв фіксована частота оновлення. Але якщо частоту дисплея можна було б змінювати в залежності від FPS, Пропали б розриви кадрів і пригальмовування. Такі технології вже є, але для них потрібні сумісні відеокарта і дисплей. У Nvidia є технологія G-sync, А у AMD - FreeSync. Якщо ваш монітор підтримує одну з них і вона підходить до встановленої відеокарти, проблеми вирішені.

Згладжування (Anti-aliasing, антиалиасинг)

Якщо провести діагональну лінію квадратними пікселями, їх чіткі краї створять «ефект сходи». Виходить негарно, і розробники називають таку ситуацію Алиасинг. Якби дозволу у моніторів були набагато вище, проблема здавалася б мізерною. Але поки нові технології відображення не з'явились або коштують надто дорого, доводиться компенсувати «сходи» згладжуванням.

Інструментів для цього достатньо, але легше пояснити на прикладі суперсемплінг (SSAA). Ця технологія отрісовиваєт кадри з більш високою роздільною здатністю, ніж у екрану, а потім стискає їх назад до його розміру. На попередній сторінці ви могли бачити ефект від згладжування при зменшенні частоти в Shadow of Mordor з 5120х2880 до 1440p.

наочне згладжування

Погляньте на піксель черепичним даху. Він оранжевого кольору. Тут же і піксель блакитного неба. Перебуваючи поруч, вони створюють жорсткий зубчастий перехід від даху до неба. Але якщо візуалізувати сцену з чотириразовим дозволом, замість одного пікселя помаранчевої даху на цьому ж місці будуть чотири пікселя. Деякі з них будуть помаранчевими, деякі «небесними». Варто взяти значення всіх чотирьох пікселів, як вийде щось середнє - якщо за таким принципом побудувати всю сцену, переходи стануть м'якше і «ефект сходи» пропаде.

Така суть технології. Але, вона вимагає від системи дуже багато ресурсів. Їй доводиться малювати кожен кадр з дозволом в два або більше разів більше, ніж оригінальне дозвіл екрана. Навіть у випадку з нашими топовими відеокартами суперсемплінг з дозволом 2560х1440 здається недоцільним. На щастя, є альтернативи:

Мультісемплінг (MSAA): Найефективніше суперсемплінг, але все ще ненажерливий. У старих іграх він був стандартом, а його суть пояснюється в відео, яке ви побачите нижче.

Вдосконалений мультісемплінг (CSAA): більш ефективна версія MSAA від Nvidia для її відеокарт.

Вдосконалений мультісемплінг (CFAA): теж апгрейд MSAA, Тільки від компанії AMD для її карток.

Метод швидкого наближення (FXAA): замість аналізу кожного окремого пікселя, FXAA накладається як фільтр додаткової обробки на всю сцену цілком після її рендеринга. FXAA також захоплює місця, які пропускаються при включенні MSAA. Хоча сам метод швидкого наближення теж пропускає багато нерівностей.

Морфологічний метод (MLAA): він властивий відеокартам AMD і теж пропускає етап рендеринга. MLAA обробляє кадр, вишукуючи алиасинг і згладжуючи його. Як нам пояснив Ніколас Вайнінг: «Морфологічний згладжування працює з морфологією (паттернами) нерівностей на краях моделей; воно обчислює оптимальний спосіб видалення драбинок для кожного виду нерівностей шляхом розбиття країв і зубців на невеликі набори морфологічних операторів. А потім використовує спеціальні типи змішування для кожного окремого набору ». увімкнути MLAA можна в панелі управління Catalyst.

Покращене субпіксельне морфологічний згладжування (SMAA): ще один вид обробки поста, в якому поєднуються деталі MLAA, MSAA і SSAA. Такий метод можна поєднувати з SweetFX, А багато сучасних ігор підтримують його спочатку.

Тимчасове згладжування (TAA або TXAA): TXAA спочатку розроблялася для графічних процесорів Nvidia рівня Kepler і пізніших. Але потім з'явилися не настільки специфічні форми тимчасового згладжування, які зазвичай позначаються, як TAA. При такому способі наступний кадр порівнюється з попереднім, після чого виявляються і усуваються нерівності. Відбувається це за підтримки різних фільтрів, які зменшують «плазує драбинку» в русі.

Ніколас Вайнінг пояснює: «Ідея TAA полягає в очікуванні того, що два йдуть один за одним кадру будуть дуже схожі, адже користувач в грі рухається не так швидко. Тому раз об'єкти на екрані перемістилися несильно, ми можемо отримати дані з попереднього кадру, щоб доповнити ділянки, які потребують згладжування ».

Багатокадрового згладжування (MFAA): з'явилося з релізом графічних процесорів Maxwell від Nvidia. Тоді як MSAA працює з стійкими шаблонами, MFAA дозволяє їх програмувати. Представники Nvidia докладно пояснюють технологію в відео нижче (про нього ми вже говорили раніше і дуже скоро ви його побачите).

Суперсемплінг з глибоким навчанням (DLSS): новітня технологія Nvidia, доступна лише в деяких іграх і з відеокартами GeForce RTX. За словами компанії: « DLSS використовує нейронну мережу для визначення багатовимірних особливостей візуалізованою сцени і інтелектуального об'єднання деталей з декількох кадрів для створення високоякісного фінального зображення. DLSS використовує менше семплів, ніж TAA, При цьому уникаючи алгоритмічних труднощів з прозорістю та іншими складними елементами сцен ».

Іншими словами, DLSS справляється із завданням краще і ефективніше, ніж TAA, Але технологію потрібно окремо готувати до кожної гри. Якщо не навчити її належним чином, багато місця виявляться розмитими.


Що означають цифри?

В налаштуваннях згладжування ви часто бачите значення: 2x, 4x, 8x і т.д. Ці цифри говорять про кількість використовуваних зразків кольору і, як правило, чим більше число, тим точніше буде згладжування (при цьому воно зажадає більше системних ресурсів).

Але є винятки. так, CSAA намагається досягти згладжування на рівні MSAA з меншою кількістю зразків кольору. Тому 8xCSAA фактично використовує тільки чотири зразки кольору. Є та 8QxCSAA - цей спосіб згладжування збільшує кількість зразків кольору до восьми, щоб підвищити точність.

Ще приклад згладжування

продуктивність

Ми використовували бенчмарк Batman: Arkham City, Щоб протестувати кілька старих методів згладжування: MSAA, FXAA і TXAA. Результати, як і очікувалося, показують, що FXAA вимагає найменше ресурсів, в той час як MSAA і TXAA сильно впливають на середню частоту кадрів.

Результати тестування згладжування в Batman: Arkham City (на двох Nvidia GTX Titan SLI):

Який метод згладжування використовувати?

Залежить від вашої відеокарти і особистих переваг щодо продуктивності та візуальної якості. Однак, якщо частота кадрів не проблема, вибір очевидний: FXAA найефективніше. Якщо ж у вас відеокарта RTX і ваша гра підтримує DLSS - пробуйте, адже не дарма ж ви заплатили за нову і дуже ефективну технологію. У старих іграх доведеться покрутити настройки туди-сюди, щоб підібрати ідеальну комбінацію продуктивності і привабливого зовнішнього вигляду. Якщо ваша система досить потужна, можете протестувати суперсемплінг замість вбудованих в ігри опцій.

Гладковибрітий згладжений Бетмен

Перевизначення налаштувань згладжування

Теоретично, графічні настройки в іграх не повинні мати значення. Ви можете просто відкрити панель управління Nvidia і AMD і змінити там все на свій розсуд. На жаль, на ділі все працює інакше. Незважаючи на те, що ви можете перевизначити налаштування для будь-якої гри, позитивний результат не гарантований.

Ніколас Вайнінг пояснює: «Дуже часто перевизначення налаштувань не працює через відкладеного рендеринга, що порушує роботу багатьох поширених методів згладжування». Алекс Остін з Cryptic Sea теж зазначив, що деякі методи згладжування не працюють з настройками панелей відеокарт. Так що, потрібно тестувати. Спробуйте відключити згладжування в грі і встановіть його в панелі управління, потім зайдіть назад в гру і перевірте результат.

Ми помітили, що MLAA від AMD працює краще з панелі управління. Але важливо відзначити, що це фільтр пост-обробки, який застосовується до всіх об'єктів сцени. Тому він може виправити нерівні краї текстур, але при цьому захопити і дещо зайве. Приклад тому, меню в BioShock Infinite, Літери якого стали злегка згладженими.

Меню злегка «постраждало»

Суперсемплінг з використанням технології динамічного суперразрешенія (DSR) від Nvidia або технології віртуального надвисокої роздільної здатності від AMD надійніший. У Nvidia DSR включається в розділі «Управління настройками 3D», де його можна виставити аж до 4x. А віртуальне надвисокий дозвіл у AMD включається у вкладці «Дисплей». Активувавши будь-яку з цих налаштувань, ви запустите гру в більш високому дозволі, яке буде зменшено до розмірів дозволу екрану. Вийде красиво, але ресурсовитратності. Крім того, можуть з'явитися проблеми з інтерфейсом в деяких іграх або технологія взагалі не захоче працювати.

Білінійна і трилинейная фільтрація

Фільтрація текстур стежить за тим, як двомірні зображення накладаються на тривимірну модель. Піксель на тривимірної моделі не обов'язково буде відповідати піскелей на текстурі (до речі, на тривимірних моделях пікселі називаються тексель). Адже ви спостерігаєте за моделлю на різних відстанях і під різними кутами. Тому, коли потрібно дізнатися колір пікселя, фільтрація знаходить точку на відповідній текстурі, бере кілька семплів з довколишніх текселей і усереднює їх. найпростіший метод фільтрації - билинейная фільтрація, яка вибирає чотири найближчих текселя, щоб знайти колір потрібного пікселя.

Світ розпадається на частини

з'явилося MIP-текстурирование і разом з ним виникла нова проблема. Припустимо, ви стоїте на поверхні з тріснутого бетону. Якщо подивіться прямо вниз, побачите велику, детальну бетонну текстуру. Але коли подивіться вдалину, де дорога йде в горизонт, ви побачите лише пару пікселів, і особлива деталізація там не потрібна. Тому, щоб підвищити продуктивність без втрати якості, гра довантажити текстуру більш низької роздільної здатності, що іменується MIP-текстурою.

Так ось, коли ми розглядаємо нашу дорогу, не дуже хочеться бачити, де одне MIP-зображення закінчується, а інше починається, тому що їх якість різниться і перехід буде різати око. Білінійна фільтрації не интерполирует (НЕ згладжує) переходи, тому з цим типом фільтрації вони помітні. Проблема вирішується за допомогою трикутної фільтрації, що згладжує перехід між MIP-текстурами, використовуючи семпли кожної з них.

анізотропна фільтрація

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

Анізотропна фільтрація домінує

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

Якщо модель знаходиться прямо перед вами, перпендикулярно погляду - результат вийде осудним. А якщо ви дивитеся на неї під кутом? Виходить розмитість. А тепер уявіть, що текстура цегляної стіни відхилена від вікна. Промінь світла перетвориться в довгу трапецію, яка покриває набагато більше вертикального простору на текстурі, ніж горизонтального. Це та область, яку потрібно семпліровалісь для пікселя. Приблизно так, грубо кажучи, працює анізотропна фільтрація. вона встановлює масштаб MIP-текстури в одному напрямку відповідно кутку, під яким ви спостерігаєте тривимірний об'єкт.

Концептуально цю технологію не так просто зрозуміти. Якщо після нашого пояснення у вас все ще залишилися питання, краще погляньте на пояснення самої Nvidia, де вказана більш детальна інформація по темі (англійською мовою).

А тут що означають цифри?

Анізотропна фільтрація в налаштуваннях сучасних ігор зустрічається не так часто, але там, де вона є, її можна виставити в рамках від 2х до 16х. Nvidia пояснює, що ці цифри відносяться до крутизні кута, до якого буде застосована фільтрація:

«Анізотропна фільтрація функціонує з рівнями анізотропії між 1 і 16, визначаючи максимальну ступінь, з якою може масштабироваться MIP-текстура. Але вона зазвичай пропонується користувачеві в двократному збільшенні: 2х, 4х, 8х і 16х. Різниця між цими настройками в максимальному куті, під яким фільтрація буде працювати з текстурою. Наприклад, 4х буде фільтрувати текстури під кутами вдвічі більше крутими, ніж 2х, але при цьому почне застосовувати 2х фільтрацію для текстур, кут яких знаходиться в діапазоні 2х, для оптимізації продуктивності. Це дозволить знизити навантаження на систему навіть при максимальних налаштуваннях анізотропної фільтрації ».

продуктивність

Анізотропна фільтрація не так сильно впливає на продуктивність, як згладжування, тому в наші дні її рідко додають в меню налаштувань (вона включена за замовчуванням). Використовуючи бенчмарк BioShock Infinite, ми помітили зниження середнього FPS на всього 6 кадрів в порівнянні між билинейной і анізотропної фільтрації. Це мізерна різниця, з огляду на значне поліпшення якості картинки. адже висока якість текстур не має сенсу при поганій фільтрації.

Ще приклад перемоги анізотропної фільтрації над іншими методами

Налаштування якості графіки

Налаштування якості багато в чому залежать від самої гри. В цілому, вони підвищують і знижують складність ігрових ефектів і Ассет (ресурсів, цифрових об'єктів). Перехід від низьких налаштувань до високих може вплинути на купу змінних. Наприклад, збільшуючи якість тіней, ви можете збільшити їх дозвіл, включити м'які тіні або змінити відстань, на яких тіні буде видно. Ви не дізнаєтеся, що конкретно зробили, але в деяких випадках зміни суттєво покращать продуктивність.

Зменшення і збільшення якості текстур значно впливає на продуктивність і візуальне якість. У бенчмарке BioShock Infinite ми виставили всі налаштування на максимум і міняли лише якість текстур. Ось результати (при використанні двох Nvidia GTX Titan SLI):

Помітили стрибок між низькими і високими настройками? Більше десяти кадрів в секунду. Здається, що це не так багато. Але на інших системах різниця може бути куди більше, адже наш тестовий стенд досить потужний. Не існує швидкого способу визначити ідеальні настройки якості графіки для вашої системи. Це той випадок, коли потрібно тестувати ручками. Рекомендуємо спочатку випробувати поради ПО від Nvidia і AMD, а потім підвищити якість текстур, освітлення і тіней, перевіряючи середній FPS.

глобальне затінення (Ambient occlusion)

Глобальне освітлення рівномірно розподіляється по кожному об'єкту сцени. Наприклад, сонячним днем, коли навіть в тіні розсіюється певну кількість світла. Для додання глибини сцені технологія об'єднується з направленим освітленням, адже без цього картинка виходить плоскою.

інтимне затінення

Глобальне затінення намагається поліпшити цей ефект, визначаючи, які частини сцени повинні висвітлюватися сильніше або менше. Воно не відкидає жорсткі тіні, як джерело спрямованого світла, а швидше затемнює загальний інтер'єр і щілини, додаючи м'яке затінення.

SSAO (Прегражденіе навколишнього світу в екранному просторі)

Майже те ж саме, що і глобальне затінення (ambient occlusion), що використовується при рендеринге в реальному часі. за останні роки ця технологія стала звичайним явищем в іграх, а вперше її можна було побачити в. Іноді технологія виглядає дурнувато, немов все довкола «сяють» темрявою. В інших випадках вона ідеально додає сцені глибину. Всі основні движки підтримують SSAO, А реалізація технології залежить від гри і її розробників.

Є також поліпшені варіації SSAO у вигляді HBAO + і HDAO.

технологія HDRR (High dynamic range rendering - високодинамічний діапазон рендеринга)

HDR був в моді серед фотографів кілька років тому. Діапазон тут відноситься до яскравості зображення і визначає наскільки темним або яскравим воно може бути. Мета технології в тому, щоб найтемніші області сцени були такими ж докладними і помітними, як і яскраві. Зображення з низьким динамічним діапазоном добре помітно в світлих ділянках, а в тіні вся деталізація втрачається, або навпаки.

HDR рулить

У минулому діапазон темного і світлого в іграх був обмежений вісьмома бітами (256 значень). Але з появою DirectX 10 став можливий 128-бітний HDRR. Хоча, технологія все ще обмежена контрастністю дисплеїв. Не існує стандартизованого методу вимірювання контрастності, але LED-монітори часто видають контрастність 1000: 1.

Bloom-ефект

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

Нижче можете поглянути на скріншот з гри Syndicate - найяскравіший (в прямому сенсі) приклад кривої реалізації bloom-ефекту.

Хто це там наднову на вулиці підірвав? :)

Розумієте (motion blur)

Все дуже просто - це фільтр, що імітує різкий рух кадру, немов у фільмі. Багато геймери воліють його відключати. І не тільки тому, що він впливає на продуктивність, але і з міркувань комфорту. Розумієте іноді красиво виглядає, наприклад, в гоночних іграх (якщо воно правильно реалізовано). Але зазвичай ми його виключаємо.

Глибина різкості (Depth of field, DOF)

Для фотографів глибина різкості означає відстань між найближчій і найвіддаленішої точками, які з'являються в фокусі. Наприклад, якщо ми знімаємо портрет з невеликим DOF, Особа людини буде різким, а волосся ззаду почнуть розпливатися і задній план виявиться повністю розмитим. З іншого боку, якщо DOF виявиться занадто великим, ніс людини буде деталізовано на тому ж рівні, що і всі об'єкти позаду нього - не дуже красиво.

За матеріалами сайту PC Gamer

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

масштабування

У Phaser є спеціальний об'єкт scale, які має кілька корисних методів і властивостей. Змініть вашу функцію preload () так, як показано нижче:

Function preload () (game.scale.scaleMode \u003d Phaser.ScaleManager.SHOW_ALL; game.scale.pageAlignHorizontally \u003d true; game.scale.pageAlignVertically \u003d true;)

scaleMode має кілька опцій, які визначають, як Елемент може бути використаний для відтворення графіки через скрипти (зазвичай використовується JavaScript). На приклад, його можна використовувати для відтворення графіків, робити композиції фото або навіть виконувати анімації. Ви можете (і повинні) дати альтернативне зміст внурь блоку . Цей контент буде рендерится в обох браузерах, в старих які не підтримують canvas і в браузерах з відключеним JavaScript. "\u003e буде масштабироваться:

  • NO_SCALE - нічого не масштабувати.
  • EXACT_FIT - масштабувати з повним заповненням порожнього місця вертикально і горизонтально, не дотримуючись співвідношення (aspect ratio).
  • SHOW_ALL - масштабує гру, але зберігає співвідношення, так що картинки не будуть спотворюватися, як в при попередньому значенні. Можлива наявність чорних смуг по краях екрану, але ми все можемо з цим жити.
  • RESIZE - cоздаёт Елемент може бути використаний для відтворення графіки через скрипти (зазвичай використовується JavaScript). На приклад, його можна використовувати для відтворення графіків, робити композиції фото або навіть виконувати анімації. Ви можете (і повинні) дати альтернативне зміст внурь блоку . Цей контент буде рендерится в обох браузерах, в старих які не підтримують canvas і в браузерах з відключеним JavaScript. "\u003e з доступними шириною і висотою, так що ви можете поміщати об'єкти в гру динамічно; це раширение режим (advanced mode).
  • USER_SCALE - дозволяє вам робити динамічне масштабування, підрахунок розмірів, масштаб і співвідношення самостійно; знову ж таки це розширений режим.

Дві інші рядки коду у функції preload () відповідають за вертикальне і горизонтальне вирівнювання елемента Елемент може бути використаний для відтворення графіки через скрипти (зазвичай використовується JavaScript). На приклад, його можна використовувати для відтворення графіків, робити композиції фото або навіть виконувати анімації. Ви можете (і повинні) дати альтернативне зміст внурь блоку . Цей контент буде рендерится в обох браузерах, в старих які не підтримують canvas і в браузерах з відключеним JavaScript. "\u003e , Так що він завжди буде знаходитися по центру незалежно від розміру екрана.

Зміна кольору фону

Ми також можемо зробити фон нашого елемента Елемент може бути використаний для відтворення графіки через скрипти (зазвичай використовується JavaScript). На приклад, його можна використовувати для відтворення графіків, робити композиції фото або навіть виконувати анімації. Ви можете (і повинні) дати альтернативне зміст внурь блоку . Цей контент буде рендерится в обох браузерах, в старих які не підтримують canvas і в браузерах з відключеним JavaScript. "\u003e таким, яким захочемо, щоб він не залишався постійно чорним. Об'єкт stage має властивість backgroundColor для цього. Ми можемо змінити значення, використовуючи синтаксис CSS для квітів. Додайте цей рядок після трьох, недавно доданих:

Game.stage.backgroundColor \u003d "#eee";

Порівняйте свій код

Ви можете порівняти весь код з цього уроку зі своїм і пограти з ним, щоб зрозуміти, як він працює:

наступне

Ми навчилися масштабувати нашу гру, так що давайте перейдемо до третього уроку і дізнаємося,.

IntegerScaler - безкоштовна програма для масштабування ігор з цілочисельним коефіцієнтом. Наприклад, у вирішенні Full HD (1920 × 1080) на 4K-моніторі (3840 × 2160) кожен логічний піксель при цьому виводиться як квадратна група з чотирьох (2 × 2) фізичних пікселів однакового кольору.

Таке масштабування без втрат якості може бути корисно як для сучасних тривимірних ігор, так і для старих ігор та ігор на основі піксельної графіки ( pixel art). Див., Наприклад, ігри «SimCity 2000» (1993) (власне дозвіл - 640 × 480), отмасштабовані до 4K за допомогою IntegerScaler.

Як користуватися: перемкніть гру в віконний режим і натисніть Alt + F11 при активному вікні гри. Якщо Alt + F11 для конкретної гри не спрацьовує, зробіть вікно гри неактивним, включите відкладене масштабування за допомогою Ctrl + Alt + F11 або пункту «Змінити масштаб через 5 секунд» меню IntegerScaler і знову зробіть вікно гри активним.

Див. Також Для усунення розмиття зображень на веб-сторінках використовуйте розширення для Firefox і Chrome.

функціональність

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

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

Масштабування не застосовується до розгорнутим ( maximized) Вікнам.

Масштабування автоматично вимикається при закритті масштабується вікна, а також тимчасово вимикається при згортанні масштабується вікна або його розгортанні на весь робочий стіл і автоматично включається знову при поверненні вікна в звичайне (НЕ згорнуте і не розгорнуте) стан.

інтерфейс

Інтерфейс програми складається з двох частин:

  • поєднання клавіш (гарячі клавіші) для управління масштабуванням;
  • піктограма в області сповіщень ( system tray) З меню.

сполучення клавіш

Натискання комбінації клавіш Alt + F11 включає масштабування для активного в даний момент вікна. Повторне натискання вимикає масштабування незалежно від того, яке вікно активно.

Натискання комбінації клавіш Ctrl + Alt + F11 включає масштабування з затримкою 5 секунд. Це дозволяє включити масштабування навіть в іграх, які блокують обробку сторонніх поєднань клавіш при активному вікні гри: просто натисніть клавіші при нЕактивному вікні гри і протягом 5 секунд перейдіть на вікно гри. Для цієї ж мети служить пункт «Змінити масштаб через 5 секунд» меню програми.

Програма також вимикає масштабування при натисканні клавіш Ctrl + Alt + Delete.

Меню

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

Інтерфейс програми підтримує російську і англійська моваі, мова вибирається автоматично на підставі мови інтерфейсу операційної системи.

Автомасштабування

Можливо автоматично застосовувати масштабування до заданих користувачем ігор. Кожна гра задається і ідентифікується з допомогою повного шляху до її виконуваного файлу (* .exe). Такі шляхи слід вказати кожен на окремому рядку в текстовому файлі з ім'ям auto.txt в папці IntegerScaler.

Інтерфейс для редагування цього списку не передбачений, тому слід використовувати сторонній текстовий редактор типу Блокнота Windows. Не рекомендується використовувати національні символи в шляхах до файлів ігор, інакше автомасштабирование для відповідних ігор може не працювати.

Параметри командного рядка

підтримуються наступні необов'язкові параметри командного рядка:

Bg КОЛІР

Перевизначає колір фону, що заповнює простір екрану навколо отмасштабовані зображення. Підтримувані значення:

  • gray - сірий;
  • white - білий;
  • довільний колір в форматі R, G, B (Без пробілів), де R, G і B - цілі числа в діапазоні 0-255, відповідні червоною, зеленою і синьою складовим кольору відповідно, наприклад, 64,128,192.

За замовчуванням використовується чорний фон.

Clipcursor Обмежує область руху покажчика миші клієнтської областю (областю вікна за винятком рамок і заголовної панелі) вікна гри. -resize ШxВ Змінює розміри вікна гри так, щоб клієнтська область (область вікна за винятком рамок і заголовної панелі) вікна мала задані розміри в форматі ШxВ, де Ш і В - потрібні ширина і висота в пікселях відповідно. Наприклад, 1920x1080. Корисно для ігор, не змінюють розмір вікна відповідно до внутріігрового дозволом або встановлюють неправильний розмір. -locale МОВА

Перевизначає мову інтерфейсу програми. Підтримувані значення:

  • en - англійська;
  • ru - російська.

За замовчуванням використовується мова інтерфейсу операційної системи, якщо він російську, і англійську мову - в будь-якому іншому випадку.

Nohotkeys Запускає IntegerScaler з відключенням гарячих клавіш (сполучень клавіш). -scale [ЗАДЕРЖКА] Застосовує масштабування через півсекунди після запуску IntegerScaler (якщо затримка не задана) або із затримкою, заданої в мілісекундах.

У цьому прикладі фон переопределяется в сірий, мова інтерфейсу - в англійський, відключаються гарячі клавіші і застосовується масштабування через 3 секунди (3000 мс) після запуску IntegerScaler:

IntegerScaler_64bit.exe -bg gray -clipcursor -resize 1920x1080 -locale en -nohotkeys -scale 3000

Параметри можна вказати в поле «Об'єкт» на вкладці «Ярлик» у властивостях ярлика (* .lnk) виконуваного файлу (* .exe). Створити ярлик можна за допомогою пункту "Створити ярлик" контекстного меню файлу, що викликається клацанням правою кнопкою миші на файлі.

Параметри вказуються через пробіл після шляху до виконуваного файлу програми. Значення параметра вказується через пробіл після його назви. Порядок вказівки параметрів не має значення. Параметри можна використовувати окремо, незалежно один від одного.

Розрядність

Для роботи програми необхідно використовувати її версію, розрядність якої (32 або 64 біт) збігається з розрядністю Windows.

Відмінності від «Екранній лупи»

IntegerScaler вигідно відрізняється від стандартної Windows-програми «Екранна лупа»:

  • відображається тільки значна частина вікна - без рамок і заголовної панелі;
  • простір навколо зображення заповнюється чорним кольором, як в повноекранному режимі;
  • зображення автоматично центрується на екрані без потреби в точному позиціонуванні миші;
  • масштабний коефіцієнт підбирається автоматично для максимального заповнення екрану.

Сумісність з іграми

Інформацію про сумісність деяких ігор з віконним режимом і програмою IntegerScaler см. В таблиці.

Віконний режим

Програма сумісна з переважною більшістю ігор, що підтримують віконний (windowed) Режим, і не працює з іграми, запущеними в повноекранному режимі.

Якщо в налаштуваннях гри не передбачено явне перемикання між повноекранним ( full-screen) І віконним режимами, може спрацювати поєднання клавіш Alt + Enter.

HiDPI-режим

Важливо переконатися, що гра працює в HiDPI-сумісному ( DPI-aware) Режимі. Визначити це легко: розмір вікна гри в фізичних пікселах (точках) повинен відповідати вирішенню, обраному в налаштуваннях гри. Наприклад, вікно гри, яка працює в дозволі Full HD, при системному масштабі 200% на 4K-моніторі має займати не весь екран, а приблизно 1/4 екрану (1/2 по горизонталі і 1/2 по вертикалі).

Для ігор, формально несумісних з HiDPI, потрібно відключити DPI-віртуалізацію ( DPI scaling) У властивостях файлу (* .exe), щоб вікно гри мало правильний розмір і була вільна від розмиття, можливого внаслідок масштабування, яке Windows автоматично застосовує до HiDPI-несумісним з додатками.

Відключити DPI-віртуалізацію для окремо взятої гри можна у властивостях її виконуваного файлу (пункт «Властивості» контекстного меню файлу).

Windows 10

Пункт «Властивості» → вкладка «Сумісність» → секція «Параметри» → кнопка «Змінити параметри високого DPI» → секція «Перевизначення масштабування з високою роздільною здатністю» → галка «перевизначити режим масштабування з високою роздільною здатністю. Масштабування виконується »→ пункт« Додаток »списку.

Windows 10 (застарілі версії)

Пункт «Властивості» → вкладка «Сумісність» → секція «Параметри» → галка «перевизначити режим масштабування з високою роздільною здатністю. Масштабування виконується »→ пункт« Додаток »списку.

Windows 7

Пункт «Властивості» → вкладка «Сумісність» → секція «Параметри» → галка «Відключити масштабування зображення при високій роздільній здатності екрану».

миша

Суб'єктивна швидкість руху покажчика миші в іграх, які використовують системний покажчик миші, може зростати пропорційно масштабному коефіцієнту.

режим адміністратора

Як збільшувати або зменшувати ігор, запущених від імені адміністратора, IntegerScaler теж слід запускати від імені адміністратора.

Aero в Windows 7

Для роботи масштабування в Windows 7 необхідно, щоб був включений режим Aero ( DWM composition). Програма автоматично намагається включити Aero, якщо він вимкнений. Windows 8 і вище це не стосується - там функція DWM composition включена завжди.

попередні версії доступні через історію версій (див. нижче).

Системні вимоги

  • Windows 7 + (32/64 біт).
  • Програма не вимагає установки або будь-яких додаткових бібліотек.
Відгуки
  • Класна штука, давно хотів подібну можливість.
    Андрій
  • Відмінна річ, справді малює один піксель гри в 4 моніторних.
    Джек Алігатор
  • Finally I can easily play my games in FHD on my UHD monitor without getting any headache. It even runs fine with accelerated 3D-Games like Anno 1440, which could run in UHD, but with much too tiny menus, and in FHD of course blury text. It seems to run very well, not even any performance issues so far. Thank you very much!
    Passatuner
  • Thanks a lot! Works, perfectly and even scales by the amount of times compared to my desktop resolution just to be able to fit the screen as much as it can without breaking aspect ratio! Doom 2 now finally feels as it should on a big screen! Love those huge pixels.
    HiCZoK
  • So useful in preserving detail in sprite-based games when displaying at higher resolutions. Amazing software, you are doing great work for people who hate the in-built scaling of displays / gpus.
    Daniel
  • IntegerScaler is really impressive, I've been looking for an app that does this for years now.
    Ben
  • Works really well and the games do look awesome!
    Simone
Огляд в Canard PC Огляд IntegerScaler опублікований у випуску № 395 (червень 2019 роки) французького паперового журналу «Canard PC». Див. також
  • «» - стаття про суть питання, потенційних і часткових рішеннях і прогрес.
  • - розширення для Firefox, що відключає розмиття у зображень, що відображаються з цілочисельним масштабом.
  • - виправляє розміри адресного рядка і поля пошуку в Провіднику Windows 7 при масштабі більше 188%.
Історія версій 2.11 (2019-12-09)
  • Підтримка зміни розмірів вікна гри і обмеження області руху покажчика миші за допомогою параметрів командного рядка -resize і -clipcursor відповідно.

Якщо зайти в налаштування драйвера відеокарти AMD Radeon, То в розділі з параметрами дисплея можна виявити опцію "Масштабування ДП". У Nvidia речі теж є ця опція, просто називається трохи по іншому.

За замовчуванням цей параметр майже завжди включена. Але для чого ж вона потрібна і коли її потрібно включати?

Для чого служить масштабування ДП?

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

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

Коли потрібно включати масштабування ДП?

Робити це потрібно в тих випадках, коли спостерігаються проблеми з запуском ігор, коли на монітор подається сигнал в або ж якщо картинка на моніторі нема на

THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму