Joe Drew, vývojář Mozilly věnující se grafice a její akceleraci, se na svém blogu rozepsal o budoucnosti renderování v Mozille — projektu Azure a možnosti náhrady grafické knihovny Cairo.
Při vykreslování stránky je nejprve stránka dle své struktury rozdělena na nezávislé vrstvy. Každá z těchto vrstev je pak vykreslena pomocí multiplatformní 2D knihovny Cairo. Toto vykreslování může být dle platformy hardwarově akcelerováno (tzv. akcelerace obsahu) – např. pomocí Direct2D na Windows Vista a 7. Po vykreslení jednotlivých vrstev jsou vrstvy poskládány dohromady a vykresleny na obrazovce, což může být provedeno opět pomocí knihovny Cairo, či v lepším případě přímo pomocí prostředků Direct3D/OpenGL (tzv. akcelerace kompozice).
Pří zjišťování možností zrychlení vykreslování bylo objeveno, že velkou brzdou je samotné použití knihovny Cairo. Ta totiž pro své výpočty používá formát pevné řádové čárky, zatímco interní výpočty a volání Direct2D probíhají ve formátu plovoucí řádové čárky. Pro každou hodnotu je tak potřeba dvakrát konvertovat číselný typ. Další režii pak přidává samotná stavovost knihovny Cairo, která je vzhledem ke stavovosti ostatních komponent zbytečná.
Z výše uvedených důvodů se proto vývojáři rozhodli vytvořit novou 2D grafickou knihovnu Azure, která bude bezstavová a její API bude blízké Direct2D. Spolu s ní vytvoří i několik 3D backendů, které umožní provádět 2D volání Azure pomocí 3D API. Cílem tohoto kroku je dostat hardwarovou akceleraci obsahu i na platformy, které 2D akceleraci v současnosti nemají – např. Windows XP, mobilní telefony, atd.
Vzhledem ke kvalitě 3D ovládačů grafických karet však Cairo z Mozilly jen tak nezmizí, bude se totiž používat jako nouzové řešení pro případ chybné či žádné podpory 3D.
DiGi napsal(a)
Pavel napsal(a)
Pavel Franc napsal(a)
Tom napsal(a)