Není G-sync jako FreeSync, aneb ďábel se skrývá v detailech
Jednu z možných odpovědí nabízí vývojář herní grafiky Ahmed Sharif na svém blogu. Mezi implementacemi Nvidie a AMD je podle něj zásadní rozdíl, což je i důvodem, proč G-sync potřebuje řídící modul v monitoru a FreeSync nikoliv. Při neměnné obnovovací frekvenci dává povel k obnovení (překreslení) displeje grafická karta a zároveň se signálem posílá z framebufferu snímek, který se má vykreslit. V režimu G-sync grafická karta pouze posílá snímky a obnovení displeje řídí modul G-sync, který má i vlastní buffer (třeba pro případ, že další snímek nepřijde do 33,3 ms a displej je nutné obnovit se stejným snímkem).
V implementaci AMD je to ale grafická karta, která rozhoduje, kdy se displej obnoví: „(…) the [image rendering unit] determines an updated frame rate and thereafter provides the content to the display at the updated frame rate“ (renderovací jednotka vyhodnotí novou obnovovací frekvenci a posléze poskytuje obsah displeji v novém intervalu). Toto není citace z Sharifova blogpostu, nýbrž z popisu patentové přihlášky, kterou podala v roce 2006 (chvilka napětí) společnost ATI. Tak jako modul G-sync má vlastní paměť, je zde vyžadován další framebuffer na straně grafické karty a zřejmě se to neobejde bez hardwarové podpory. Tu však podle Sharifa mají všechny Radeony počínaje řadou HD 5000. Sharif uvažuje, že tento přístup vytváří na straně počítače určitou režii, která je u G-syncu přenesena na modul v monitoru. FreeSync tak možná bude mít vyšší dopad na výkon, ale bude zadarmo.
Intel přitakává: dynamická refresh rate půjde i s otevřenými standardy
Do diskuze se vložil také inženýr pracující u Intelu, François Piednoël, který na Twitteru z právě představeného FreeSyncu neskrýval nadšení. Serveru TechGage sdělil, že chystaná verze Embedded DisplayPortu, eDP 1.3, přinese ukládání snímků na straně displeje a díky tomu bude možné měnit obnovovací frekvenci za běhu. Panel-Self Refresh, jak se tato technologie nazývá, se tak nápadně podobá G-syncu (displej se umí sám obnovit i bez spolupráce grafického akcelerátoru, který tak může být až do změny v obraze uspán) a je to standard VESA, nikoliv proprietární technologie Intelu, jak jsme se původně mylně domnívali.
“@anandtech: AMD Demonstrates "FreeSync", Free G-Sync Alternative, at CES 2014 http://t.co/dIddIvGd1L” did not take long , free!!!
— Francois Piednoel (@FPiednoel) January 6, 2014
Jenže PSR bude fungovat pouze u notebooků, kde je displej připojen skrz Embedded DisplayPort. Navíc je to řešení odlišné od FreeSyncu, který žádný buffer na straně displeje nepotřebuje. Tvrzení, že se Intel postavil za AMD a podpořil FreeSync, jak si poznámku na TechGage někteří vyložili, tak není zcela na místě.
Kdy budou monitory s podporou FreeSyncu? Nevíme, ale možná už jsou
Standardy VESA tedy připouštějí dva způsoby, jak zařídit variabilní obnovovací frekvenci monitoru. V budoucnu to půjde přes PSR, dnes s bufferem na straně grafického čipu (kdyby tomu tak nebylo, neexistoval by žádný displej, na němž by AMD mohlo FreeSync odprezentovat). To zatím podporuje jen eDP od verze 1.0, stejná specifikace je ale součástí DisplayPortu (toho klasického, kabelového) ve verzi 1.3.
Problém je, že DisplayPort 1.3 zatím ani není ratifikován (mělo by se tak stát v horizontu dvou až tří měsíců, nejpozději do poloviny roku), tudíž ani nemohou existovat monitory s jeho podporou. Druhý problém je, že výrobci monitorů a řídících obvodů pro ně by se na podporu dynamického refresh rate mohli bohorovně vykašlat (není to povinná součást specifikace). Mediální humbuk kolem G-syncu a nyní FreeSyncu je ale snad dostatečnou zárukou, že se podpory dočkáme.
Kdy to bude? Zdrženlivé odhady tomu dávají „rok, maximálně dva“; Ahmed Sharif předpokládá, že už za rok by mohl DP 1.3 být slušně rozšířen. Raja Koduri z AMD řekl serveru PC Perspective, že by už dnes mohly být na trhu monitory, jejichž řídicí logika variabilní obnovovací frekvenci podporuje, a k jejímu zprovoznění by stačilo doladit a aktualizovat firmware. Momentálně prý AMD hledá, které monitory to jsou, aby mohlo oslovit jejich výrobce s žádostí o provedení patřičných změn. Budeme-li věřit Nvidii, žádný takový monitor na trhu není. Ahmed Sharif ale píše, že grafické karty Nvidie podporují dynamickou synchronizaci jinak než Radeony a tak není úplně vyloučeno, že by AMD kompatibilní kus mohlo nalézt.
Co z toho všeho plyne, zejména pro Nvidii
Jestliže DisplayPort 1.3 přinese standardizovanou podporu dynamické obnovovací frekvence a bude reálně dostupný už za rok, proč tedy Nvidia nepočkala a hrne na trh proprietární G-sync? Ahmed Sharif se domnívá, že je to čistě obchodní záměr. Nvidia jako člen sdružení VESA musí vědět, že DisplayPort 1.3 se chystá. Co nejrychlejší uvedení G-sync jí ale dává možnost mít alespoň po omezený čas exkluzivitu a navíc vytvořit dojem, že dynamickou obnovovací frekvenci vymyslela ona a ostatní tuto technologii okopírovali.
Zní to sice jako konspirační teorie, ale vysvětlovalo by to, proč Nvidia použila za základ modulu G-sync programovatelné hradlové pole (FPGA) od firmy Altera. FPGA se používají tam, kde se vývoj specializovaného čipu (ASIC) nevyplatí kvůli příliš malému počtu vyrobených zařízení (to se G-syncu asi netýká, čekal bych, že Nvidia si bude přát jeho co největší rozšíření), nebo tam, kde na vývoj ASIC nejsou zdroje a znalosti (to se Nvidie už vůbec netýká). Naprogramovat FPGA je ale také rychlejší než vyvíjet vlastní čip, takže do časové tísně je to řešení jak dělané.
A že bude exkluzivita trvat maximálně rok? To úplně stačí. Když Nvidia v roce 2009 představovala Optimus (technologii přepínání mezi samostatnou a integrovanou grafikou v noteboocích), brala za samozřejmé, že konkurence toto řešení okopíruje, ale že jí to přibližně ten rok bude trvat. Jako anekdotu přihoďme, že AMD se vydalo cestou pokročilejšího řízení spotřeby vlastních GPU („ZeroCore“) a Optimus tedy není okopírován dodnes.
No a pokud je pravda, že grafické karty Nvidie nepodporují dynamickou obnovovací frekvenci podle eDP 1.0 (což je sice standard VESA, zrovna tato specifikace je však nepovinná a vůbec se nepoužívá), neměla společnost jinou možnost, než narychlo vyrobit G-sync a co nejrychleji jej rozšířit mezi uživatele. V momentě, kdy by na trh přišlo otevřené a standardizované řešení podle DisplayPortu 1.3, Nvidia by jej nemohla podporovat a AMD mohlo naopak zpětně zapnout podporu i pro čtyři roky staré Radeony, by se konkurenční uzavřená technologie prosazovala už jen velmi těžko.
Ale pokud je to pravda, zároveň by to znamenalo, že AMD nechalo FreeSync zcela bez užitku ležet ladem přes čtyři roky (dost dlouhá doba na to, aby stihlo navázat spolupráci s výrobci monitorů a dodat funkční řešení na trh) a teprve borci z Nvidie přišli na to, že by hráči takovou technologii mohli ocenit. A za to inženýrům bez ohledu na marketingové bubliny patří velká poklona, nemyslíte?
Zdroje: Ahmed Sharif – Home of unresolved external symbols, PC Perspective, TechGage
Děkuji webwalkerovi za námět a Janu Kratěnovi za shromáždění informací na PCT fóru.