Головна » Кодування » Тестування підтримки SVG через веб-браузерні двигуни [Case Study]

    Тестування підтримки SVG через веб-браузерні двигуни [Case Study]

    SVG (Scalable Vector Graphics) офіційно підтримується всіма основними веб-браузерами, включаючи Internet Explorer. Підтримка охоплює широкий спектр програмного забезпечення для редагування зображень, зокрема Inkscape, який використовує SVG як рідний формат (якщо ви бажаєте оновити SVG, натисніть тут).

    Але що саме підтримує веб-браузер? Чи показують всі двигуни рендеринга файли SVG та їх функції так само? А як щодо їхніх додаткових функцій, таких як фільтри? Добре це що ми збираємось знайти. Ми взяли зразок сучасних браузерів, включаючи деякі з менш відомих, і тестували їх за допомогою файлу SVG, створеного для цієї мети.

    Тестування зображення

    Ми підготували наше тестування, орієнтуючись на елементи, якими найчастіше користуються художники. Серед тестованих функцій: текстові шляхи та їх взаємодія, градієнти, фільтр Gaussian Blur і, нарешті, просунутий складений фільтр, укладений з більшої кількості типів фільтрів.

    Інструменти веб-браузера

    Двигун блимання

    Ми почали з - найчастіше найпоширенішим двигуном - Blink. Blink є рідним двигуном для браузерів Google Chrome і Chromium, Opera та Android WebView. Всі перераховані вище браузери роблять тестування зображень однаково через тестовані платформи.

    У порівнянні з оригінальним зображенням, створеним Inkscape, не було ніяких проблем, крім невеликої різниці у візуалізації ефектів фільтрації.

    Браузер Версія Платформа Результат
    Хром 43.0.2357.125 Linux
    Опера 30.0.1835.59 Linux
    Опера 30.0.1856.93524 Android
    Опера 30.0.1835.88 Windows
    Chrome 38.0.2125.114 Android
    Chrome 43.0.2357.130 Windows
    Факел 39.0.0.9626 Windows

    Двигун Webkit

    Згідно з останніми статистичними даними про використання браузера, перші три позиції не належать веб-переглядачам на основі webkit (станом на травень 2015 року). Однак цей двигун поширений серед розробників. Більше того, існують різні реалізації і розгалуження

    Всі перевірені браузери надавали наш файл SVG без проблем; проте, у порівнянні з Inkscape, спостерігалися відмінності в отриманні композитного компонента фільтра Specular Lighting.

    Браузер Версія Платформа Результат
    Safari 8.0.6 MacOS
    Видра 0.9.05 Linux
    QupZilla 1.8.6 Linux
    QupZilla 1.8.6 Windows
    Дельфін 10.3.1 Android
    Konqueror 15.04.2 Linux
    UC Browser 10.5.0.575 Android

    Двигун Trident

    Trident - власний двигун, який використовується версіями Internet Explorer 4.0 - 11.0. IE чудово інтерпретував наш SVG. Більш того, зовнішній вигляд композитного фільтра найкраще відповідає вихідному зображенню. Ми також протестували IE 9, другий найбільш використовуваний IE (станом на травень 2015 року) і виявили, що у цій версії проблеми з гаусським розмиттям і композитним фільтром..

    Це не дивно, тому що IE 9 спочатку було випущено до остаточного розробки стандарту SVG 1.1 SE, в якому офіційно додавалися ефекти фільтрів..

    Браузер Версія Платформа Результат
    IE 11.0.9600.17843 Windows
    Браузер Версія Платформа Результат
    IE 9.0.8112.16421 Windows

    Двигун Gecko

    Gecko - це движок, розроблений корпорацією Mozilla і використовуваний таким чином у веб-браузері Firefox або клієнті електронної пошти Thunderbird. Він також використовується браузерами PaleMoon, Waterfox і багатьма іншими вилками більш ранніх версій Firefox. У випадку з двигуном Gecko результати не були точно однаковими на різних платформах.

    Версія Windows показала невеликий збій у візуалізації тексту вздовж контуру; така ж проблема спостерігалася і в браузерах Firefox і PaleMoon. Так само, як Webkit, Gecko, здається, має проблеми з правильним рендерингами фільтра Specular Lighting.

    Браузер Версія Платформа Результат
    Firefox 38.0.5 Linux
    Firefox 38.0.5 Android
    PaleMoon 25.5 Android
    Браузер Версія Платформа Результат
    Firefox 38.0.5 Windows
    PaleMoon 25.5 Windows

    Проблемні браузери

    Як можна бачити вище, всі останні версії основних двигунів / браузерів рендерингу пройшли наш тест без значних труднощів. Давайте перевіримо ті, які не зробили так добре.

    Maxthon є крос-платформенний браузер, розроблений у Китаї. Згідно з 20 альтернативними веб-браузерами Фахада Хана для Windows, Maxthon використовує як двигуни Trident, так і Webkit. Ми не помітили жодної проблеми з візуалізацією SVG на Linux (v. 1.0.5.3) і Windows (v. 4.4.5.3000); однак, на пристрої Android ні відстеження гаусових, ні інших примітивів фільтрів не виводилися.

    CM Browser швидко виконали тестування на нашому тестовому пристрої Samsung galaxy S3, але він також не підтримує жодного з ефектів фільтрів, описаних у специфікації SVG 1.1 SE.

    Браузер Версія Платформа Результат
    Maxthon 4.4.6.2000 Android
    CM Browser 5.1.94 Android

    Konqueror є браузером за умовчанням для KDE, одним з найпопулярніших середовищ для робочого столу Linux. Можливість відтворення SVG-файлів у Konqueror залежить від механізму рендеринга. З включеним WebKit наше тестування SVG візуалізувалося правильно. Тим не менш, за замовчуванням механізм візуалізації Konqueror, KHTML, не підтримує декілька функцій: ефекти фільтрів не застосовуються до основних маркерів об'єкта і кінця, а текст уздовж об'єктів шляху або шаблону взагалі не відображається.

    Браузер Версія Платформа Результат
    Konqueror KHTML 15.04.2 Linux

    Висновок

    У нашому тесті ми зосередилися на підтримці формату SVG у сучасних веб-рендерингах. Ми перевірили 4 основні двигуни рендеринга і 15 різних браузерів, включаючи популярні, такі як Maxthon або Dolphin. Майже всі поточні версії браузерів пройшли через наш тест, і важко вибрати остаточного переможця.

    Виявляється, що підтримка і правильне укладання примітивів фільтрів є останньою проблемою для сучасних двигунів рендеринга. Коли ми порівнюємо оригінальне SVG-зображення з усіма отриманими результатами, ми суб'єктивно призначаємо IE 11 (двигун Trident) для першого місця.

    Однак, зрозуміло, що двигун Blink близький, і тому ми рекомендуємо Blink-браузери для рендеринга SVG-файлів. Якщо ви хочете виконати швидкий тест власного улюбленого браузера, спробуйте скористатися нашою тестовою сторінкою SVG.

    Примітка редактора: Ця посада написана для Hongkiat.com від Michal Rost. Міхал працює програмістом у біомедичній компанії, але присвячує свій вільний час розробці додатків з відкритим вихідним кодом та неприбуткових веб-порталів. Він є засновником scalablegfx. Ви можете знайти його на Twitter.