Domovská » Kódování » Testování podpory SVG napříč webovými prohlížeči [případová studie]

    Testování podpory SVG napříč webovými prohlížeči [případová studie]

    SVG (Scalable Vector Graphics) je oficiálně podporován všemi hlavními webovými prohlížeči, včetně Internet Exploreru. Podpora zahrnuje širokou škálu softwaru pro editor obrázků, zejména Inkscape, který používá SVG jako svůj nativní formát (Pokud chcete, aby se na SVG obnovoval, klikněte zde).

    Co přesně však webové prohlížeče podporují? Zobrazují všechny vykreslovací nástroje soubory SVG a jejich funkce stejným způsobem? A co jejich pokročilé funkce, jako jsou filtry? Tak to zjistíme. Vzali jsme vzorek moderních prohlížečů, včetně těch méně známých, a testovány pomocí SVG souboru vytvořeného pro tento účel.

    Testovací obraz

    Připravili jsme pro Vás testovací obrázek zaměřený na prvky, které umělci s největší pravděpodobností používají. Mezi testovanými funkcemi jsou: textové cesty a jejich interakce, přechody, gaussovský rozostřovací filtr a nakonec pokročilý kompozitní filtr skládaný z více typů filtrů.

    Webové prohlížeče

    Blikání motoru

    Začali jsme s - zdaleka nejčastějším renderovacím motorem - Blink. Blink je nativní modul pro prohlížeče Google Chrome a Chromium, Opera a WebView v Androidu. Všechny výše uvedené prohlížeče vykreslují testované obrazy stejným způsobem na testovaných platformách.

    Ve srovnání s původním obrazem vytvořeným v aplikaci Inkscape nebyly žádné problémy s výjimkou nepatrného rozdílu ve vykreslování efektů skládaných filtrů.

    Prohlížeč Verze Plošina Výsledek
    Chrom 43,0,2357,125 Linux
    Operní 30,0,1835,59 Linux
    Operní 30,0,1856,93524 Android
    Operní 30,0,1835,88 Okna
    Chrome 38.0.2125.114 Android
    Chrome 43,0,2357,130 Okna
    Pochodeň 39,0,0,9626 Okna

    Stroj Webkit

    Podle posledních statistik o používání prohlížeče nepatří mezi první tři pozice do prohlížečů založených na webkitech (od května 2015). Nicméně, tento motor je rozšířený mezi vývojáři. Dále existují různé implementace a vidlice

    Všechny testované prohlížeče poskytly náš SVG soubor bez problémů; ve srovnání s Inkscape však byly pozorovány rozdíly ve vykreslování složené filtrační komponenty Specular Lighting.

    Prohlížeč Verze Plošina Výsledek
    Safari 8.0.6 Operační Systém Mac
    Vydra 0,95 Linux
    QupZilla 1.8.6 Linux
    QupZilla 1.8.6 Okna
    Delfín 10.3.1 Android
    Konqueror 15.04.2 Linux
    Prohlížeč UC 10.5.0.575 Android

    Tridentní motor

    Trident je proprietární motor používaný Internet Explorerem verze 4.0 - 11.0. IE interpretoval náš SVG perfektně. Kompozitní vzhled filtru navíc odpovídá nejlepšímu obrazu. Testovali jsme také IE 9, druhou nejpoužívanější IE (od května 2015) a zjistili, že tato verze měla problémy s gaussovským rozostřením a kompozitním filtrem.

    To však není překvapení, protože IE 9 bylo původně vydáno před konečným návrhem standardu SVG 1.1 SE, ve kterém byly oficiálně přidány efekty filtru..

    Prohlížeč Verze Plošina Výsledek
    TJ 11,0,9600,17843 Okna
    Prohlížeč Verze Plošina Výsledek
    TJ 9,0,8112,1621 Okna

    Gecko motor

    Gecko je motor vyvinutý společností Mozilla Corporation a používán ve webovém prohlížeči Firefoxu nebo e-mailovém klientovi Thunderbird. To je také používáno prohlížeči PaleMoon, Waterfox a mnoho dalších vidlic dřívějších verzí Firefoxu. V případě motoru Gecko nebyly výsledky na různých platformách úplně stejné.

    Verze systému Windows vykazovala malou chybu při vykreslování textu podél cesty; stejný problém byl pozorován v prohlížečích Firefox a PaleMoon. Stejně jako Webkit se zdá, že Gecko má problémy se správným vykreslením primitivního filtru Specular Lighting.

    Prohlížeč Verze Plošina Výsledek
    Firefox 38,0,5 Linux
    Firefox 38,0,5 Android
    PaleMoon 25.5 Android
    Prohlížeč Verze Plošina Výsledek
    Firefox 38,0,5 Okna
    PaleMoon 25.5 Okna

    Problematické prohlížeče

    Jak je vidět výše, všechny nedávné verze hlavních vykreslovačů / prohlížečů prošly testem bez významných potíží. Podívejme se na ty, kteří to neudělali dobře.

    Maxthon je multiplatformový prohlížeč vyvinutý v Číně. Podle 20 alternativních webových prohlížečů Fahad Khan pro Windows Maxthon používá motory Trident i Webkit. V Linuxu (v. 1.0.5.3) a Windows (v. 4.4.5.3000) jsme nezaznamenali žádný problém s vykreslováním SVG; na zařízení se systémem Android však nebyly vykresleny ani gaussovské rozostření ani jiné primitivy filtrů.

    Prohlížeč CM na našem testovacím přístroji Samsung Galaxy S3, ale také nepodporuje žádný z filtračních efektů popsaných ve specifikaci SVG 1.1 SE.

    Prohlížeč Verze Plošina Výsledek
    Maxthon 4.4.6.2000 Android
    Prohlížeč CM 5.1.94 Android

    Konqueror je výchozí prohlížeč pro KDE, jedno z nejpopulárnějších desktopových prostředí Linuxu. Schopnost vykreslovat SVG soubory v Konqueroru závisí na renderovacím enginu. S povoleným WebKitem bylo naše testování SVG vykresleno správně. Výchozí vykreslovací modul Konqueroru, KHTML, však zřejmě postrádá podporu několika funkcí: efekty filtrů se nepoužijí na základní značky objektů a konce konce tahu a text podél objektů cesty nebo objektů se nevykreslí vůbec.

    Prohlížeč Verze Plošina Výsledek
    Konqueror KHTML 15.04.2 Linux

    Závěr

    V našem testu jsme se zaměřili na podporu SVG formátu v moderních webových renderovacích strojích. Testovali jsme 4 hlavní renderovací stroje a 15 různých prohlížečů včetně populárních jako Maxthon nebo Dolphin. Téměř všechny aktuální verze prohlížečů prošly testem a je těžké vybrat konečného vítěze.

    Vypadá to že Podpěra, podpora a správné stohování filtrů je poslední zbývající výzvou pro současné vykreslovací stroje. Když porovnáme náš původní SVG obraz se všemi vykreslenými výsledky, subjektivně nominujeme IE 11 (Trident engine) na první místo.

    Je však zřejmé, že Blink engine je v těsné snaze, a proto doporučujeme prohlížeče Blink pro zobrazování SVG souborů. Chcete-li provést rychlý test vlastního oblíbeného prohlížeče, můžete zde použít naši zkušební stránku SVG rendereru.

    Poznámka editora: Tento příspěvek je napsán pro Hongkiat.com od Michala Rosta. Michal pracuje jako programátor v biomedicínské společnosti, ale svůj volný čas věnuje vývoji open source aplikací a neziskových webových portálů. Je zakladatelem scalablegfx. Najdete ho na Twitteru.