Data publikacji: 12 lutego 2025 r.
Zadania silnika do renderowania stron internetowych są bardzo liczne, a wiele z nich, takich jak stylizacja, media czy układ, są określane przez standardy. Te standardy zapewniają interoperacyjność niezależnych silników, co pozwoliło internetowi się rozwijać. Niektóre szczegóły, takie jak sposób renderowania tekstu na poziomie piksela, są często pozostawiane do interpretacji przez organizacje standaryzacyjne i zwykle opierają się na systemach operacyjnych, na których działają przeglądarki.
W 2020 r. Microsoft Edge miał rzadką okazję do całkowitego zastąpienia podstawowego mechanizmu renderowania. Edge przeszedł na Chromium, odchodząc od platformy tylko dla Windowsa, w której bezpośrednio używał interfejsów API Windowsa, i stał się prawdziwym internetowym procesorem renderującym na wiele platform. Przed przejściem na Chromium przeglądarka Edge do renderowania tekstu korzystała wyłącznie z interfejsu API systemu Windows o nazwie DirectWrite. Chromium korzysta jednak z Skia, czyli wydajnego i elastycznego wieloplatformowego silnika graficznego, który abstrahuje wiele kodu związanego z konkretnym systemem operacyjnym od jego interfejsu API.
Podczas przejścia na Chromium zespół Edge miał okazję zebrać opinie użytkowników na temat silnika renderowania Chromium. Jeden z tych głosów był istotny – wielu użytkowników Edge zgłaszało, że tekst jest „wyblakły” i nie wygląda spójnie z tekstem w innych częściach systemu Windows.
Zespół poważnie potraktował tę opinię i przeprowadził dochodzenie. Skia używa DirectWrite w Windows do niektórych funkcji, takich jak wyszukiwanie czcionek, ale rasteryzacja ostatecznego tekstu jest obsługiwana bezpośrednio przez Skię. Jednym z głównych czynników, który według opinii użytkowników powoduje „wypłukanie” kolorów, są wewnętrzne ustawienia kontrastu i gamma dotyczące renderowania tekstu.
Wykryliśmy 2 główne różnice w kontrascie tekstu i wartościach gamy między silnikiem opartym na Chromium w Edge a poprzednim silnikiem. Po pierwsze, Skia nie pobiera wartości kontrastu tekstu i wartości gamy z Windows ClearType Tuner. Po drugie, używa innych wartości domyślnych kontrastu tekstu i gamma niż te używane przez pakiet tekstowy DirectWrite przeglądarki Edge.
W zeszłym roku zespół ds. przeglądarki Edge dodał obsługę wartości z ustawienia ClearType w prosto w Chromium. Dzięki temu użytkownicy przeglądarek opartych na Chromium mogli kontrolować kontrast tekstu i ustawienia gamma w systemie Windows. Był to znaczący krok we właściwym kierunku, ale większość użytkowników nie zmienia ustawień kontrastu tekstu i gamy w całym systemie. W koleśnym etapie tego procesu poważnie rozważaliśmy dostosowanie domyślnych ustawień kontrastu i gamma tekstu zarówno w przypadku treści w interfejsie witryny, jak i interfejsu przeglądarki.
Zmiana wyglądu tekstu w internecie to duże przedsięwzięcie. Internet zawsze zawierał dużo tekstu, dlatego potrzebny jest wysokiej jakości mechanizm tekstowy. Było oczywiste, że wartość kontrastu tekstu musi wzrosnąć, ale potrzebne były dane, aby określić, o ile należy ją zwiększyć.
Zespół Edge zaczął eksperymentować z różnymi wartościami kontrastu tekstu w 2021 roku. Po przeprowadzeniu wielu badań dotyczących użytkowników członkowie zespołów Edge i Chromium stwierdzili, że wartość kontrastu 1,0 jest zbliżona do renderowania tekstu w wersji Edge sprzed Chromium i wygląda spójnie w porównaniu z innymi natywnymi aplikacjami Windows.
Uważamy, że nasze badania i eksperymenty mogą być przydatne całej społeczności Chromium w Windows, dlatego udostępniliśmy nasze wyniki zespołowi Chrome w Google, który potwierdził je własnymi eksperymentami. Następnie włączyliśmy nową wartość kontrastu domyślnie w wersjach na Windowsa, począwszy od Chrome 132.
Obecnie wszyscy użytkownicy przeglądarek opartych na Chromium na Windows mogą korzystać z wyników naszych wspólnych badań, eksperymentów i wdrożeń z ostatnich lat.
Szczególne podziękowania dla Iana Presta, Daniela Libby’ego i Alison Maher z Microsoft oraz Dominika Röttschesa, Davida Yeunga, Bena Wagnera i Briana Osmana z Google za ich wkład w ten projekt.