Testa SVG-stöd över webbläsarmotorer [Fallstudie]
SVG (Scalable Vector Graphics) stöds officiellt av alla webbläsare, inklusive Internet Explorer. Stödet sträcker sig in i en mängd olika bildredigeringsprogram, särskilt Inkscape, som använder SVG som sitt ursprungliga format (Om du vill ha en uppdatering på SVG, klicka här).
Men vad exakt stöds av webbläsare? Visa alla återgivningsmotorer SVG-filer och deras funktioner på samma sätt? Och hur är deras avancerade funktioner som filter? Jo det är vad vi ska ta reda på. Vi tog ett urval av moderna webbläsare, inklusive några av de mindre ökända, och testade dem med en SVG-fil gjord för detta ändamål.
Testbilden
Vi förberedde vår testbild med fokus på element som artisterna är mest benägna att använda. Bland de testade funktionerna är: textvägar och deras växelverkan, gradienter, gaussisk suddfilter och slutligen ett avancerat kompositfilter staplat från flera filtertyper.
Webbläsarmotorer
Blinkmotorn
Vi började med - den överlägset vanligaste återgivningsmotorn - Blink. Blink är den inbyggda motorn för Googles Chrome- och Chromium-webbläsare, Opera och Android WebView. Alla ovannämnda webbläsare gör testning av bilder på samma sätt över de testade plattformarna.
Jämfört med den ursprungliga bilden som producerades av Inkscape var det inga problem med undantag för en liten skillnad i rendering av staplade filtereffekter.
Webbläsare | Version | Plattform | Resultat |
Krom | 43.0.2357.125 | Linux | |
Opera | 30.0.1835.59 | Linux | |
Opera | 30.0.1856.93524 | Android | |
Opera | 30.0.1835.88 | Windows | |
Krom | 38.0.2125.114 | Android | |
Krom | 43.0.2357.130 | Windows | |
Ficklampa | 39.0.0.9626 | Windows |
Webkit-motor
Enligt den senaste användarstatistiken för webbläsare hör inte de tre bästa positionerna till webkitbaserade webbläsare (från och med maj 2015). Emellertid är denna motor utbredd bland utvecklare. Vidare finns det olika implementeringar och gafflar av det
Alla testade webbläsare gjorde vår SVG-fil utan problem Ändå observerades skillnader i rendering av Specular Lighting, en kompositfilterkomponent i jämförelse med Inkscape.
Webbläsare | Version | Plattform | Resultat |
Safari | 8.0.6 | Mac OS | |
Utter | 0.9.05 | Linux | |
QupZilla | 1.8.6 | Linux | |
QupZilla | 1.8.6 | Windows | |
Delfin | 10.3.1 | Android | |
Konqueror | 15.04.2 | Linux | |
UC Browser | 10.5.0.575 | Android |
Trident motor
Trident är en proprietär motor som används av Internet Explorer versioner 4.0 - 11.0. IE tolkade vår SVG perfekt. Dessutom matchar det sammansatta filtret utseende den bästa bilden. Vi testade också IE 9, den näst mest använda IE-enheten (från och med maj 2015) och fann att den här versionen hade problem med gauss-oskärpa och kompositfilter.
Detta är dock ingen överraskning, eftersom IE 9 ursprungligen släpptes före det slutliga utkastet till SVG 1.1 SE-standard, där filtereffekter officiellt tillsattes.
Webbläsare | Version | Plattform | Resultat |
IE | 11.0.9600.17843 | Windows |
Webbläsare | Version | Plattform | Resultat |
IE | 9.0.8112.16421 | Windows |
Gecko-motor
Gecko är en motor som utvecklats av Mozilla Corporation och används sålunda i Firefox webbläsare eller Thunderbird e-postklient. Den används också av webbläsare PaleMoon, Waterfox och många andra gafflar från tidigare Firefox-versioner. För Gecko-motorn var resultaten inte exakt samma över olika plattformar.
Windows-versionen visade en liten glitch i att göra texten längs vägen; Samma problem observerades i både Firefox och PaleMoon webbläsare. Precis som Webkit, verkar Gecko ha problem med korrekt återgivning av primitivt belysningsfilter.
Webbläsare | Version | Plattform | Resultat |
Firefox | 38.0.5 | Linux | |
Firefox | 38.0.5 | Android | |
Blek måne | 25,5 | Android |
Webbläsare | Version | Plattform | Resultat |
Firefox | 38.0.5 | Windows | |
Blek måne | 25,5 | Windows |
Problematiska webbläsare
Som framgår av ovanstående har alla senaste versioner av stora återgivningsmotorer / webbläsare gått igenom vårt test utan betydande svårigheter. Låt oss kolla in de som inte gjorde det så bra.
Maxthon är en plattformsplattform som utvecklats i Kina. Enligt Fahad Khans 20 alternativa webbläsare för Windows använder Maxthon både Trident och Webkit-motorer. Vi har inte märkt något problem med SVG-rendering på Linux (v. 1.0.5.3) och Windows (v. 4.4.5.3000); Men på en Android-enhet gjordes varken gaussisk oskärpa eller andra filterprimitiver.
CM Browser utfördes snabbt på vår Samsung Galaxy S3-enhet, men stöder inte heller någon av de filtereffekter som beskrivs av SVG 1.1 SE-specifikationen.
Webbläsare | Version | Plattform | Resultat |
Maxthon | 4.4.6.2000 | Android | |
CM Browser | 5.1.94 | Android |
Konqueror är en standardbläddrare för KDE, en av de mest populära Linux-skrivbordsmiljöerna. Möjligheten att göra SVG-filer i Konqueror beror på återgivningsmotorn. Med WebKit aktiverades vår testning SVG korrekt. Konquerors standardgivningsmotor, KHTML, verkar dock sakna stöd för flera funktioner: Filtereffekter tillämpas inte på underliggande objekt och slår slutmarkörer och text längs sökvägar eller mönsterobjekt återges inte alls.
Webbläsare | Version | Plattform | Resultat |
Konqueror KHTML | 15.04.2 | Linux |
Slutsats
I vårt test fokuserade vi på stöd av SVG-format över moderna webbutvecklingsmotorer. Vi testade 4 huvudmotorer och 15 olika webbläsare, bland annat populära som Maxthon eller Dolphin. Nästan alla nuvarande versioner av webbläsare gick igenom vårt test och det är svårt att välja en slutgiltig vinnare.
Det verkar som att Stöd och korrekt stapling av filter primitiver är den sista kvarvarande utmaningen för dagens återgivningsmotorer. När vi jämför vår ursprungliga SVG-bild med alla de gjorda resultaten nominerar vi subjektivt IE 11 (Trident-motorn) för första platsen.
Det är emellertid klart att Blink-motorn är i nära strävan, och vi rekommenderar därför Blink-baserade webbläsare för att göra SVG-filer. Om du vill utföra ett snabbt test av din egen favoritwebbläsare, använd gärna vår SVG-renderers testsida här.
Redaktörens anteckning: Detta inlägg är skrivet för Hongkiat.com av Michal Rost. Michal arbetar som programmerare i ett biomedicinskt företag men ägnar sin fritid till utvecklingen av open source apps och nonprofit webbportaler. Han är grundaren av scalablegfx. Du hittar honom på Twitter.