Какво е screen tearing и как да се справим с него?
Здравейте, хора,
темата на днешната статия идва от въпрос на наш потребител.
Криско Стефанов споделя една ситуация, в която много от нас са се озовавали.
Той е ъпдейтнал драйверите на видео картата си, при което игрите са почнали да му вървят по-добре с по-висок FPS. Но в момента, в който FPS-а надскочил 60 и това се наблюдава при всички игри, започва да се получава така наречения Screen Tearing - в буквален превод разкъсване на екрана.
Първо какво е Screen Tearing и защо се получава. Това е явление, при което изглежда така сякаш кадрите се наслагват един върху друг без обаче напълно да съвпадат, което прави картината да изглежда разкъсана. Нещо ето такова.
Това се наблюдава особено силно при панорамни движения на камерата наляво или надясно.
Явлението Screen Tearing се дължи на факта, че кадрите в секунда, които са подавани от видео картата не са синхронизирани с честотата на опресняване на монитора. Явлението е по-видимо, когато кадрите в секунда превишават честотата на опресняване.
Случая с нашия човек Криско Стефанов е точно такъв. Мога да предположа, че неговия монитор е 60Hz и преди да ъпдейтне драйверите, не се е наблюдавал Screen Tearing или поне не е бил толкова лесно забележим просто, защото игрите са вървели с по-нисък FPS, отколкото е опресняването на монитора. В момента, в който кадрите са се качили над 60, той е започнал да наблюдава този неприятен ефект.
Какви са решенията на проблема с така наречения Screen Tearing? Най-идеалния вариант е да имате монитор, който поддържа варираща честота на опресняване, която може да се синхронизира с подаваните от видео-картата кадри в секунда. По този начин, не правите никакъв компромис, защото хем имате максималния възможен FPS, хем не наблюдавате Screen Tearing или други неприятни артефакти.
Монитора също така трябва да поддържа висока честота на опресняване, защото колкото и да е варираща, тя не може да прескочи максималната честота на монитора. Под висока честота се има предвид всичко над стандартните 60Hz - говорим за 75Hz, 144Hz, 240Hz и това са само част от примерите. Колкото по-висока е честотата толкова повече това ви дава гъвкавост при различните игри.
Варирането на кадрите в секунда в реално време се осъществява главно по два начина в зависимост от графичната карта, с която ще съчетаете вашия монитор. Това може да е G Sync за графични кадри на Nvidia и FreeSync за графични карти на AMD, като всички графични карти на Nvidia от десетата серия нагоре поддържат и FreeSync. Тъй като G sync и FreeSync са функции на монитора, когато избирате геймърски монитор с високо опресняване, трябва да направите избора си съобразно графичната карта, с която планирате да го използвате.
Вариращата честота на опресняване не само, че премахва Screen Tearing-a, но също намалява до минимум така наречения Input Lag и други неприятни ефекти и като цяло създава най-добро визуално преживяване, като всеки един кадър е показан на монитора точно, когато е генериран от видео картата.
Като цяло обаче имайте предвид, че дори да не ползвате специална система за синхронизиране на кадрите, при монитори със 144Hz или 240Hz, най-вероятно няма да имате проблем, защото както казахме Screen Tearing-a се забелязва най-вече когато кадрите за секунда превишават честотата на монитора. При 144Hz или по-висок, шанса това да стане значително намалява.
Само че не винаги можем да си позволим да купим специален геймърски монитор с високо опресняване само, за да премахнем ефекта на Screen Tearing-a. Голяма част от хората, включително и аз си караме с 60Hz монитори, където идва и основния проблем. Какво можем да направим по въпроса.
Съществуват няколко решения най-простото, от които е да ползваме V-sync (Vertical Synchronization). Това е една опция, която я има в настройките на всяка игра. В общи линии V-sync-a не позволява на играта да превиши 60 кадъра в секунда и работи най-добре, ако играта по принцип поддържа стабилно над 60 кадъра - например 70-80. В този случай V-Sync-a ще ви помогне играта да върви с гладки 60 кадъра без да има пикове и спадания, което ще направи цялото изживяване по-гладко, а също ще съхрани до някаква степен системните ресурси на компютъра ви.
Ако видео картата ви обаче на дадена игра не успява да държи над 60 FPS във всички моменти, тогава V-sync-a ще ви помогне кадрите да не превишават тази стойност, като по този начин отново няма да наблюдавате нежелания Screen tearing, но тази опция няма как да предотврати спаданията във фреймрейта, просто защото видео картата не е в състояние да ги генерира.
Единият вариант е да преценявате индивидуално за всяка игра дали има нужда да се включва V-sync. Другият вариант е да включите тази настройка глобално, което за видео карти на Nvidia се случва от известния Nvidia Control Panel (за карти на Nvidia). В него влизате като цъкнете с десен бутон на десктопа и избирате въпросния контрол панел. Попаднали в него избирате Manage 3D Settings и там скролвате доста надолу, докато стигнете до опцията за V-Syn.
Както виждате при мен е сложена на настройка “Use the 3D application setting - тоест включва се или не от всяка игра индивидуално. Възможните опции са ON или OFF и също така варианта Fast Sync, за който ще поговорим след малко.
V-sync-a има и своите недостатъци и в някои случаи може да се окаже по-зле отколкото проблема със Screen Tearing-a. Например, при бързи е-спорт заглавия, когато времето за реакция е от решаващо значение, V-sync-a има тенденцията да създава Input Lag - на български - забавяне на времето за реакция. Очевидно за хора занимаващи се с електронен спорт, това е далеч от идеалния вариант. Също така при много графично интензивни сцени, V-Sync може да не успее да смогне със синхронизирането на кадрите и всъщност да е причина за по-голям спад в производителността отколкото нормално би се наблюдавало.
Ето защо в тези случаи съществуват подобрени опции, които при Nvidia се нарича Fast Sync, а при AMD - Enhanced Sync. Това са подобрени варианти на V-Sync, които е особено удачно да се използват, когато картата ви поддържа значително по-висок FPS отколкото е опресняването на монитора ви. Отново казвам - най-вече има смисъл, ако сте с 60Hz монитор.
Независимо дали сте с V-Sync, Fast Sync или Enhanced Sync, общият компромис, който се прави е, че лимитирате FPS-а си до 60. Ако искате да се наслаждавате на по-висок FPS без да наблюдавате част от артефактите причинени от това, включително и Screen Tearing, в този случай няма как да се мине без монитор с високо опресняване, за което споменах в началото.
Надявам се, че с тази статия съм отговорил на повечето въпроси във връзка с явлението Screen Tearing и възможните опции да се справим с него. Не забравяйте да посещавате редовно блогът на Йон Компютърс, за още полезни статии и ревюта.