Úvodná » kódovanie » Testovanie podpory SVG vo webových prehliadačoch [Case Study]

    Testovanie podpory SVG vo webových prehliadačoch [Case Study]

    SVG (Scalable Vector Graphics) je oficiálne podporovaný všetkými hlavnými webovými prehliadačmi vrátane aplikácie Internet Explorer. Podpora zahŕňa širokú škálu softvéru na úpravu obrázkov, najmä Inkscape, ktorý používa SVG ako svoj pôvodný formát (Ak chcete obnoviť SVG, kliknite sem).

    Ale čo presne podporujú webové prehliadače? Majú všetky renderovacie motory zobrazovať súbory SVG a ich funkcie rovnakým spôsobom? A čo ich pokročilé funkcie ako filtre? To je to, čo zistíme. Vzali sme vzorku moderných prehliadačov vrátane niektorých menej známych a testovali ich pomocou súboru SVG vytvoreného na tento účel.

    Testovací obrázok

    Pripravili sme náš testovací obrázok so zameraním na prvky, ktoré umelci s najväčšou pravdepodobnosťou používajú. Medzi testované funkcie patria: textové cesty a ich interakcie, gradienty, gaussian blur filter a nakoniec pokročilý kompozitný filter naskladaný z viacerých typov filtrov.

    Motory webového prehliadača

    Blokovací motor

    Začali sme s - zďaleka najčastejším vykresľovacím motorom - Blink. Blink je natívny motor pre prehliadače Google Chrome a Chromium, Opera a Android WebView. Všetky vyššie uvedené prehliadače robia testovanie obrázkov rovnakým spôsobom na testovaných platformách.

    V porovnaní s pôvodným obrázkom, ktorý vytvoril Inkscape, nedošlo k žiadnym problémom s výnimkou nepatrného rozdielu vo vykresľovaní efektov filtrov.

    browser verzia Plošina výsledok
    chróm 43.0.2357.125 linux
    operný 30.0.1835.59 linux
    operný 30.0.1856.93524 Android
    operný 30.0.1835.88 windows
    chróm 38.0.2125.114 Android
    chróm 43.0.2357.130 windows
    Fakľa 39.0.0.9626 windows

    Webkit engine

    Podľa posledných štatistických údajov o používaní prehliadača tri najvyššie pozície nepatria do prehliadačov založených na webkitoch (k máju 2015). Tento motor je však rozšírený medzi vývojármi. Okrem toho existujú rôzne implementácie a vidlice z toho

    Všetky testované prehliadače nám poskytli náš súbor SVG bez problémov; napriek tomu sa v porovnaní s Inkscapeom pozorovali rozdiely vo vyhotovení zrkadlového osvetlenia zloženého filtračného komponentu.

    browser verzia Plošina výsledok
    safari 8.0.6 MacOS
    vydra 0.9.05 linux
    QupZilla 1.8.6 linux
    QupZilla 1.8.6 windows
    delfín 10.3.1 Android
    Konqueror 15.04.2 linux
    UC prehliadač 10.5.0.575 Android

    Tridentový motor

    Trident je proprietárny motor používaný programom Internet Explorer verzie 4.0 - 11.0. IE interpretovala naše SVG perfektne. Navyše kompozitný vzhľad filmu zodpovedá pôvodnému obrazu najlepšiemu. Taktiež sme testovali IE 9, druhú najpoužívanejšiu IE (k máju 2015) a zistili sme, že táto verzia mala problémy s gaussovským rozostrením a kompozitným filtrom.

    To však nie je prekvapením, pretože IE 9 bol pôvodne prepustený pred konečným návrhom normy SVG 1.1 SE, v ktorej boli oficiálne pridané filtrované efekty.

    browser verzia Plošina výsledok
    IE 11.0.9600.17843 windows
    browser verzia Plošina výsledok
    IE 9.0.8112.16421 windows

    Gecko motor

    Gecko je motor vyvinutý spoločnosťou Mozilla Corporation a používa sa tak vo webovom prehliadači Firefoxu alebo poštovom klientovi Thunderbirdu. Používajú sa aj prehliadače PaleMoon, Waterfox a mnoho ďalších vidličiek predchádzajúcich verzií Firefoxu. V prípade motora Gecko neboli výsledky na rôznych platformách presne rovnaké.

    Verzia systému Windows mala malú chybu pri vykresľovaní textu pozdĺž cesty; rovnaký problém bol zaznamenaný v prehliadačoch Firefox aj PaleMoon. Rovnako ako Webkit, zdá sa, že Gecko má problémy s správnym vykreslením filtrovaného filtrovania Specular Lighting.

    browser verzia Plošina výsledok
    Firefox 38.0.5 linux
    Firefox 38.0.5 Android
    PaleMoon 25.5 Android
    browser verzia Plošina výsledok
    Firefox 38.0.5 windows
    PaleMoon 25.5 windows

    Problémové prehliadače

    Ako je možné vidieť vyššie, všetky najnovšie verzie hlavných renderovacích motorov / prehliadačov prešli našimi testami bez výrazných ťažkostí. Poďme sa pozrieť na tie, ktoré tak neurobili.

    Maxthon je multiplatformový prehliadač vyvinutý v Číne. Podľa Fahad Khanových 20 alternatívnych webových prehliadačov pre systém Windows Maxthon používa motory Trident aj Webkit. Nevšimli sme si žiadneho problému s vykresľovaním SVG v systéme Linux (v. 1.0.5.3) a Windows (v. 4.4.5.3000); na zariadení so systémom Android však neboli vykreslené gaussovské rozmazanie ani iné primárne filtre.

    CM prehliadač sme vykonali rýchle testovanie na našom testovacom zariadení Samsung galaxie S3, ale nepodporuje ani niektorý z filtrových efektov opísaných špecifikáciou SVG 1.1 SE.

    browser verzia Plošina výsledok
    Maxthon 4.4.6.2000 Android
    CM prehliadač 05.1.94 Android

    Konqueror je predvolený prehliadač pre KDE, jedno z najpopulárnejších desktopových prostredí Linuxu. Schopnosť vykresľovať súbory SVG v Konqueror závisí od vykresľovacieho motora. So zapnutým funkciou WebKit sme testovali SVG správne. Konštantný vykresľovací mechanizmus Konqueror, KHTML, sa však javí ako bez podpory niekoľkých funkcií: efekty filtrovania sa neuplatňujú na základný objekt a koncové značky zdvihu a text po objektoch cesty alebo vzorky sa vôbec nevytvára.

    browser verzia Plošina výsledok
    Konqueror KHTML 15.04.2 linux

    záver

    V našom teste sme sa zamerali na podporu formátu SVG v moderných webových renderovacích motoroch. Testovali sme 4 hlavné vykresľovacie motory a 15 rôznych prehliadačov vrátane populárnych ako Maxthon alebo Dolphin. Takmer všetky aktuálne verzie prehliadačov prešli testom a je ťažké vybrať konečného víťaza.

    Zdá sa že podpora a správne uloženie filtračných prvkov je poslednou zostávajúcou výzvou pre súčasné vykurovacie motory. Keď porovnáme náš pôvodný obrázok SVG so všetkými vydanými výsledkami, subjektívne navrhujeme IE 11 (motor Trident) na prvom mieste.

    Je však jasné, že motor Blink je v tesnej blízkosti a preto odporúčame prehliadanie na blizke pre vykresľovanie súborov SVG. Ak chcete vykonať rýchly test vášho obľúbeného prehliadača, použite našu testovaciu stránku SVG tu.

    Poznámka redaktora: Tento príspevok je pre spoločnosť Hongkiat.com napísaný Michalom Rostom. Michal pracuje ako programátor v biomedicínskej spoločnosti, ale venuje svoj voľný čas vývoju aplikácií s otvoreným zdrojovým kódom a neziskových webových portálov. Je zakladateľom scalablegfx. Nájdete ho na Twitteri.