Hjemmeside » Coding » Test af SVG-understøttelse på tværs af webbrowsermotorer [Case Study]

    Test af SVG-understøttelse på tværs af webbrowsermotorer [Case Study]

    SVG (Scalable Vector Graphics) understøttes officielt af alle de vigtigste webbrowsere, herunder Internet Explorer. Støtten spænder ind i en bred vifte af billedredigeringssoftware, især Inkscape, der bruger SVG som sit oprindelige format (Hvis du vil have en genopfriskning på SVG, klik her).

    Men hvad understøttes netop af webbrowsere? Vis alle gengivelsesmotorer SVG-filer og deres funktioner på samme måde? Og hvad med deres avancerede funktioner som filtre? Det er det, vi skal finde ud af. Vi tog en prøve af moderne browsere, herunder nogle af de mindre berygtede, og testet dem med en SVG-fil lavet til dette formål.

    Testbilledet

    Vi forberedte vores testbillede med fokus på elementer, som kunstnere mest sandsynligt vil bruge. Blandt de afprøvede funktioner er: tekststier og deres interaktioner, gradienter, gaussisk sløretfilter og endelig et avanceret kompositfilter stablet fra flere filtertyper.

    Webbrowser motorer

    Blink motor

    Vi startede med - langt den hyppigste renderingsmotor - Blink. Blink er den indfødte motor til Googles Chrome og Chrome browsere, Opera og Android WebView. Alle de ovennævnte browsere gør testning af billeder på samme måde på tværs af de testede platforme.

    Sammenlignet med det originale billede produceret af Inkscape var der ingen problemer bortset fra en mindre forskel i gengivelse af stablede filtereffekter.

    Browser Version Platform Resultat
    Chrom 43.0.2357.125 Linux
    Opera 30.0.1835.59 Linux
    Opera 30.0.1856.93524 Android
    Opera 30.0.1835.88 vinduer
    Chrome 38.0.2125.114 Android
    Chrome 43.0.2357.130 vinduer
    Fakkel 39.0.0.9626 vinduer

    Webkit-motor

    Ifølge de seneste brugervilkår for browsere tilhører de tre øverste positioner ikke webkitbaserede browsere (fra maj 2015). Denne motor er imidlertid udbredt blandt udviklere. Derudover er der forskellige implementeringer og gafler af det

    Alle testede browsere gjorde vores SVG-fil uden problemer; Ikke desto mindre blev forskelle i rendering af Specular Lighting, en sammensat filterkomponent, observeret i sammenligning med Inkscape.

    Browser Version Platform Resultat
    Safari 8.0.6 MacOS
    Odder 0.9.05 Linux
    QupZilla 1.8.6 Linux
    QupZilla 1.8.6 vinduer
    Delfin 10.3.1 Android
    Konqueror 15.04.2 Linux
    UC Browser 10.5.0.575 Android

    Trident motor

    Trident er en proprietær motor, der bruges af Internet Explorer version 4.0 - 11.0. IE fortolker vores SVG perfekt. Desuden matcher det sammensatte filterudseende det originale billede bedst. Vi testede også IE 9, den næst mest anvendte IE (fra maj 2015) og fandt ud af, at denne version havde problemer med gaussisk uskarphed og kompositfilter.

    Dette er dog ikke en overraskelse, da IE 9 oprindelig blev udgivet før det endelige udkast til SVG 1.1 SE standard, hvor filtereffekter blev officielt tilføjet.

    Browser Version Platform Resultat
    IE 11.0.9600.17843 vinduer
    Browser Version Platform Resultat
    IE 9.0.8112.16421 vinduer

    Gecko motor

    Gecko er en motor udviklet af Mozilla Corporation og bruges således i Firefox-browseren eller Thunderbird-e-mail-klienten. Den bruges også af browsere PaleMoon, Waterfox og mange andre gafler fra tidligere Firefox-versioner. I tilfælde af Gecko-motoren var resultaterne ikke helt ens på tværs af forskellige platforme.

    Windows-versionen viste en lille fejl i gengivelsen af ​​teksten langs stien; Det samme problem blev observeret i både browsere i Firefox og PaleMoon. Ligesom Webkit synes Gecko at have problemer med korrekt gengivelse af specular Lighting filter primitive.

    Browser Version Platform Resultat
    Firefox 38.0.5 Linux
    Firefox 38.0.5 Android
    PaleMoon 25,5 Android
    Browser Version Platform Resultat
    Firefox 38.0.5 vinduer
    PaleMoon 25,5 vinduer

    Problematiske browsere

    Som det ses ovenfor har alle nyere versioner af større gengivelsesmotorer / browsere bestået vores test uden betydelige vanskeligheder. Lad os tjekke dem, der ikke gjorde det så godt.

    Maxthon er en platform-browser udviklet i Kina. Ifølge Fahad Khans 20 alternative web browsere til Windows Maxthon bruger både Trident og Webkit motorer. Vi har ikke bemærket noget problem med SVG-gengivelse på Linux (v. 1.0.5.3) og Windows (v. 4.4.5.3000); Men på en Android-enhed blev hverken Gaussian blur eller andre filter primitiver gjort.

    CM Browser udført hurtigt på vores test Samsung Galaxy S3-enhed, men det understøtter heller ikke nogen af ​​de filtereffekter, der er beskrevet af SVG 1.1 SE-specifikationen.

    Browser Version Platform Resultat
    Maxthon 4.4.6.2000 Android
    CM Browser 5.1.94 Android

    Konqueror er en standardbrowser til KDE, et af de mest populære Linux-skrivebordsmiljøer. Evnen til at gengive SVG-filer i Konqueror afhænger af gengivelsesmotor. Med WebKit aktiveret blev vores test SVG gjort korrekt. Konquerors standardgengivelsesmotor, KHTML, ser imidlertid ud til at mangle understøttelse af flere funktioner: Filtereffekter anvendes ikke på underliggende objekt og strejke slutmarkører, og tekst langs sti eller mønster objekter overhovedet ikke overhovedet.

    Browser Version Platform Resultat
    Konqueror KHTML 15.04.2 Linux

    Konklusion

    I vores test fokuserede vi på understøttelsen af ​​SVG-format på tværs af moderne webgengivelsesmotorer. Vi testede 4 hovedgengivelsesmotorer og 15 forskellige browsere, herunder populære som Maxthon eller Dolphin. Næsten alle nuværende versioner af browsere gik gennem vores test, og det er svært at vælge en endelig vinder.

    Det ser ud til at support og korrekt stabling af filter primitiver er den sidste tilbagevendende udfordring for nutidige rendering motorer. Når vi sammenligner vores originale SVG billede med alle de gengivne resultater, nominerer vi subjektivt IE 11 (Trident motor) til første sted.

    Det er imidlertid klart, at Blink-motoren er i tæt forfølgelse, og derfor anbefaler vi Blink-baserede browsere til gengivelse af SVG-filer. Hvis du vil udføre hurtig test af din egen yndlingsbrowser, er du velkommen til at bruge vores SVG renderer testside her.

    Redaktørens note: Dette indlæg er skrevet til Hongkiat.com af Michal Rost. Michal arbejder som programmør i et biomedicinsk selskab, men bruger sin fritid til udviklingen af ​​open source apps og nonprofit webportaler. Han er grundlæggeren af ​​scalablegfx. Du kan finde ham på Twitter.