Още един метод за премахване разкъсването на кадрите в игрите

Още един метод за премахване разкъсването на кадрите в игрите

Разкъсване на кадрите (screen tear) или входна латентност (input lag)? Да използваме ли vsync? Много отдавна в света на игрите за персонални компютри, това бе въпрос „или-или“ – или едното или другото. Може да се постигне изображение без разкъсвания на кадрите или да се осигури ниска входна латентност, но е невъзможно да се получи и едното, и другото. Или все пак може?

Отговорът на този въпрос не е еднозначен. Ако вече си имате съвременен игрови монитор с поддръжката на променлива кадрова честота чрез технологиите FreeSync или G-Sync, тази статия няма да ви е необходима. Но ако имате обикновен монитор, при който кадровата честота е константа или пък обичате да играете игри и да извеждате тяхното изображение на телевизора, то тази статия ще ви помогне да намалите както разкъсването на кадрите, така и входната латентност.

Чрез ограничаване на честотата на кадрите с милисекунда точност в RTSS (Rivatuner Statistics Server) е възможно да се осигури вертикална синхронизация с ниска латентност. Какво всъщност ще получим от това? Ще получим кристално ясни изображения без разкъсване на кадрите и входна латентност с около 50 милисекунди по-малко в сравнение с обикновената vsync.

Това е едно от малкото подобрения при персоналните компютри, които могат значително да повишат комфорта при игрите при минимални компромиси и напълно безплатно. Какво точно е това? Как да получим подобен резултат? Нека да се спрем малко по-подробно и да разгледаме този метод стъпка по стъпка.

Твърде неприятно разкъсване на кадъра при изключена vsync

Какво точно е входната латентност?

Преди да пристъпим към решението на проблема, добре ще е да разберем какво точно ще правим. Vsync с ниска латентност е един от методите, който дава възможност да бъде намалено забавянето на входния сигнал. Какво точно означава това? Когато въвеждате данни с помощта на клавиатурата или премествате компютърната мишка се проявява неголяма, почти незабележима латентност между вашето действие и случващото се на екрана. Тази латентност е толкова малка, че се измерва в милисекунди. Ако използвате своя компютър за работа в интернет или играете съвсем опростени игри, то тази латентност не се забелязва и не оказва влияние.

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

При всички монитори (и телевизори) по подразбиране се добавя една точно определена величина на входната латентност, която силно зависи от използвания панел. При IPS и TN с висока кадрова честота тази величина е съвсем ниска, като при някои монитори тя е едва 0,5 милисекунди. VA панелите обаче имат много по-голяма входна латентност и при някои модели тя достига 8-10 милисекунди. Телевизорите (в които най-често се използват VA) обикновено се представят най-зле, като при тях тази латентност достига до 30 и повече милисекунди.

Когато vsync е изключена, видеокартата на компютърната система изпраща готовите рендирани кадри към дисплея с максимално възможната скорост. Ако дисплеят има постоянна кадрова честота (при дисплеите с кадрова честота 60 Hz е необходим един кадър на всеки 16,67 милисекунди), разкъсването на кадъра се получава, понеже новият кадър пристига преди да е приключило показването на предишния.

Когато е включена традиционната vsync, графичната карта не изпраща кадъра към буфера на монитора, преди старият кадър да си получа своите 16,66 милисекунди. По този начин всеки кадър ще бъде изцяло показан и ефектът на разкъсването на кадрите напълно ще бъде премахнат. Само че по този начин видеокартата създава поредица от кадри и не изпраща кадрите максимално бързо.

Поради създаването на подобни поредици на традиционната vsync може да се наложи да добавя до 50 милисекунди латентност към стандартната латентност на дисплея. Именно тук на сцената се появява vsync с ниска латентност.

С помощта на vsync с ниска латентност (low-lag vsync) ние на практика ограничаване честотата на кадрите, които подава видеокартата до число, което е съвсем малко по-малко от кадровата честота на монитора. По този начин ние не даваме възможност на графичната карта да изпраща нови кадри преди мониторът да е готов да ги покаже. Именно това ще ни даде компютърна игра без разкъсване на кадрите и с почти същата входна латентност, както при изключена vsync. Ето как може да стане това.

Какво ще ни е необходимо?

Преди да започнем е необходимо да бъде изтеглена най-новата версия на Rivatuner Statistics Server (RTSS). Необходима е интернет връзка, за да можем да посетим следните две тестови уеб-страници:

В BIOS-а на вашия компютър трябва да е включена опцията  HPET (High Precision Event Timer). Ако по някаква причина сте изключили, необходимо е да я включите.

Първо трябва да определим точната кадрова честота на вашия монитор. Ако кадровата честота на вашия дисплей е 60 Hz, то тя ще е много близо до 60, но ще се различава с няколко стотни от херца. Може да се използва UFO Refresh Rate Test, или vsync Tester. Не е лоша идеята да се пробват и двата теста и да се провери дали получените значения съвпадат.

За да се тества точната кадрова честота на вашия монитор, затворете всички останали раздели на браузъра и всички процеси работещи във фонов режим, след което изчакайте от 30 секунди до една минута. Тестът в тази уеб страница ще покаже кадровата честота на вашия дисплей с точност до няколко знака след десетичната запетая. Необходимо е да се вземе числото, закръглено до третия знак след десетичната запетая.

Така изглежда стартираният UFO Test за определянето на точната кадрова честота

Инсталиране и настройка на Rivatuner

След инсталирането на Rivatuner, програмата трябва да се стартира с администраторски права. След това трябва да се кликне върху зеления бутон Add в долния ляв ъгъл и след това да се отиде в папката, където е инсталирана въпросната игра. Да подчертаем, че е възможно и глобалното задаване на тези параметри, но тук ще се спрем върху индивидуалните настройки за всяка игра, понеже това дава по-добри резултати.

Изберете файла, който трябва да бъде стартиран и след това го добавете в Rivatuner.

По този начин добавяме нова игра в RTSS

Сега трябва да си вземе получената от предишната стъпка точна кадрова честота и от нея да се извади 0,01. Така например, ако при вас се е получило 60,001 Hz, то необходимото ограничение на кадрите ще бъде 59,991.

В лявата част на интерфейса на Rivatuner е необходимо да се избере името на играта и след това да се въведе значението за ограничаване на честотата на кадрите в полето до Frame rate limit. По този начин ограничихме честотата на кадрите на играта до число, което е малко по-ниско от кадровата честота на монитора. Понякога се налага с това число да се направят няколко експеримента, за да се получи най-добрия ефект. Някои игри са по-чувствителни към подобно ограничение на кадрите и ако се получи твърде осезаемо потрепване на кадъра, необходимо е да започне да се увеличава честотата на кадрите на игрите със стъпка от по 0,002.

Стартирайте играта и в настройките на RTSS включете опцията vsync. Ако програмата не ви дава възможност да направите това, включете принудителната vsync на ниво драйвер от настройките на съответната помощна програма на AMD или Nvidia. Това е всичко!

След включването на vsync с ниска латентност изображението става ясно, без каквото и да било разкъсване на кадрите. Все пак има някои тънкости, на които трябва да обърнем внимание. Vsync с ниска латентност работи най-добре, ако вашата компютърна система осигурява стабилна работа с честота на кадрите на играта малко по-висока от кадровата честота на монитора. Ако играта върви само с 60 FPS, използването на този метод може да доведе до допълнителни лагове.

Scanline sync: една още по-добра алтернатива

Ако не ви се експериментира с дробни ограничения в честотата на кадрите, то RTSS има алтернатива: scanline sync. Опцията Scanline sync дава възможност да се зададе къде точно на екрана да става разкъсването при изключена vsync.

Тази опция помага по следния начин: разкъсването на кадъра се показва в рамките на един ред на екрана, който ние можем да преместим най-горе или най-долу, където той на практика изчезва. За включването на scanline sync е необходимо да се изключи ограничаването на честотата на кадрите чрез задаване на RTSS Framerate limit равен на нула, както и да се изключи vsync на ниво драйвер.

Сега трябва да решим къде трябва да преместим този ред. Можем да експериментираме, но в идеалния случай е добре да се вземе вертикалната резолюция на монитора (1440, ако тя е 1440р) и от нея да се извади от 10 до 20. Поставете полученото число в полето Scanline Sync. Интересно е, че S-Sync в повечето случаи предлага дори по-малка входна латентност в сравнение с метода vsync с ниска латентност.

Само че за оптимална работа на този нов метод е необходим мощен компютър или не особено взискателна игра. При игрите, където ресурсът на графичната карта се използва над 80%, S-Sync няма как да получи достатъчна производителност за да задържи линията на разкъсване на кадъра на едно и също място, а това може да доведе до значителни лагове.

Основното правило е следното: Използвайте S-Sync при по-слабите игри, при които средната честота на кадрите достига много повече от 60 FPS. Vsync с ниска латентност е най-добре да се използва при игрите, които работят близо до 60 FPS.

Заключение

Някои методи за настройка на производителността на персоналните компютри могат да се приемат за нещо като плацебо, както е технологията за мащабиране на резолюцията. Но при използването на vsync с ниска латентност, наистина се получава по-качествен гейминг. Ако разполагате с допълнителен графичен и процесорен ресурс, то ще получите много по-добро изображение не само при използването на геймърски монитор с VRR – включеният low-lag vsync може да промени усещането при екшън игрите и киберсъстезанията без каквото и да било разкъсване на кадрите. Дори и на обикновен монитор се получава съвсем ясно изображения без лагове и забавяния.

Отново да подчертаем, че за използването на този метод не е необходим специален хардуер, като например скъп геймърски монитор и видеокарта с поддръжка на променлива кадрова честота. Единственото необходимо нещо е софтуерът RTSS, който е безплатен.



Източник: www.kaldata.com