Chrome, homályos betűk (DirectWrite)

A Google fejlesztőcsapata nemrég eltávolította a DirectWrite tiltásának lehetőségét a Chrome-ból, illetve a Chromium-ból. A módosítás csak a Windows-os verziókat érinti, azokat viszont annál inkább, ugyanis a betűk olvashatatlanabbak és homályosabbak lettek. Akinek frissül a Chrome-ja Windows alatt, már rá lesz kényszerítve az egy fokkal olvashatatlanabb betűkre.

Tette a Chromium két fejlesztője, Ilya Kulshin és Scott Graham mindezt azért, hogy ne törjön le a kezük a GDI (a régebbi font renderelő) további támogatása végett.

Azt hiszem, eleget veszekedtem már különféle hivatalos fejlesztői fórumokon a fejlesztőkkel, akiknek az idealizmusuk fontosabb, mint a százmilliók által használt szoftverük betűinek olvashatósága.

Ha nem értesz egyet a lépéssel, írd alá!

https://www.change.org/p/google-inc-bring-sharp-fonts-back-in-google-chrome-disable-directwrite

Köszi.

Hozzászólások

Hát ér valamit vagy sem, aláírtam. Engem bazira idegesít.

Nem lenne célszerűbb inkább a directwrite fejlesztéséért tüntetni? Vagy állítani a cleartype-on?

--
"In a cult, there is a person at the top who knows it's a scam. In a religion, that person is dead."

Tüntetni a DirectWrite fejlesztéséért? Sajnos ennyire nem vagyok fejlődésmániás.

Volt valami, ami jól működött és semmi baj nem volt vele felhasználói oldalon. Most kiszórják, mert van jobb újabb és lusták karbantartani a régit.

Én pedig úgy gondolom, hogy ha valamit lecserélnek egy másik valamire, akkor addig marhára nem kéne ezt megtenni, amíg az a másik valami nem rendelkezik azonos képességekkel az elsődleges célt illetően. Mert mi egy megjelenített szöveg elsődleges célja, ha nem az olvashatósága?

ClearType: kösz, nem. Egyébként is, a Windows kétféle renderelési módot támogat, és ha ki van kapcsolva, a Windows (legalább is a 7) alapból a GDI módszert használja a font-ok renderelésére. Ha pedig olyan font-ot választasz, ami rendesen van hint-elve (pl. Arial, Tahoma, Verdana), akkor szép, olvasható lesz. A Chrome-ban ez már nem igaz, amint láthatod a csatolt példákon (a petícióban).

Szerintem pedig nem jobb.

Itt viszont pont arról van szó, hogy meghagyjuk a felhasználónak a szabadságot kiválasztani a renderelési módot kettő - a Microsoft által is támogatott - közül, vagy pedig ráerőltetjük mindenkire azt, ami a fejlesztő milliós bikagépén 4K FULL HD monitoron jól néz ki, ám a standard PPI monitorokon meg olvashatatlan, szemkifolyató hányás.

Mert míg pl. Linuxon szanszét hákolhatod az xorg.conf -ot a font rendereléssel kapcsolatban és olyan módot állítasz be (akár minden font-hoz külön külön), amilyet akarsz, Windows-on egyetlen lehetőséged, hogy szórakozhatsz a ClearType-pal, ami nem is minden monitoron kalibrálható normálisan. Ha pedig nem kapcsolod be és grayscale renderelsz, gyakorlatilag semmiféle lehetőséged nincsen finomhangolni a DirectWrite-ot.

directwrite nem tamogatja a claertype-ot... :(

az indoklas az volt, hogy van oled meg egyeb display es azon nem mukodne ezert szopjon mindenki
viszont talan igy most mar jobban elterjednek a hidpi eszkozok a consumer szegmensben,
mert minden mason otvar ronda lesz a windows

--
NetBSD - Simplicity is prerequisite for reliability

Magyarul: volt egy módszer (GDI), amivel viszonylag szépek, élesek voltak a betűk évtizedekig az alacsony DPI-s eszközökön is. Viszont egy-két fejlesztő kezéről leesne az arangyűrű, ha kéne támogatni ehhez a kódbázist. Tehát a megoldás a problémára az, hogy kivesszük ezt a megoldást, majd vetetünk az emberekkel új hardvert, mert lusták/barmok/leszaromok voltunk, hogy támogassuk a GDI-t. Ha pedig bárki ajvékol, akkor megmondjuk, hogy "ja dehát kérem, a Chrome ingyenes, ezért fogjátok be és ne követelőzzetek".

most hogy jobban nézem, a windows általános fontjai is tré módon néznek ki. firefox alatt nem minden oldal, de elég sok szarabbul néz ki. cleartype ki van kapcsolva. visual studio-ban is szar lett,remek. akkor most wtf?

Lassan, de biztosan a változtatás elérte a Windows-os Chrome felhasználóközönség nagy részét, így igencsak megszaporodtak a kommentek a Google hivatalos támogatói fórumán (Google Product Forums).

Jelen pillanatban azon jár az agyam, vajon melyik lett volna több emberi erőforrás? Továbbra is támogatni a GDI renderelést vagy minden egyes kommentet megválaszolgatni és kitörölni minden egyes panaszkodó júzer fenekét mindenféle cleartype hákokkal és workaround-okkal. Panaszokból pedig csak egyre több lesz, ahogy elnézem.

Ötleteket várnék arra vonatkozólag, milyen tech magazinoknak kéne felhívni a figyelmét, hogy eljuthasson a petíció mindazokhoz, akiket érint a dolog és esetleg még egyet is érthetnek vele. A Wired szerkesztőségének már ment egy e-mail, várom a reakciójukat (már ha egyálatlán lesz).

Eddig 1500 a petíció látogatottsága, nagyjából 150-en írták alá, tehát a DirectWrite-ot ellenzők nem reprezentatív aránya 10%. Ez az egymilliárd Chrome usert tekintve akár százmillió is lehetne (persze nyilván kevesebb, már csak azért is, mert nem mindenki Windows-on használja és aki nem Windows-on használja, az nem is érintett).

Chrome: 52.0.2743.116m
felbontás: 1600 x 900
Átmérő: 14"
DPI: 96 (elvileg)
os: win 7
Cleartype: engedélyezve van ha errre gondolsz
screen:

===============================================================================
// Hocus Pocus, grab the focus
winSetFocus(...)

http://c2.com/cgi/wiki?FunnyThingsSeenInSourceCodeAndDocumentation

Köszi.

Nos, egy 1600x900-as felbontás 14"-es kijelzőn annyi, mint 131 PPI (pixel/inch), avagy gyakorlatilag 131 DPI (és nem 96). A standard monitorok 80-100 PPI között mozognak. Az enyémen (1680x1050 @ 22" = 90 PPI) például a screenshot-odon (natív felbontásra hozva, tehát nem belenagyítva, vagy kicsinyítve) a szöveg tele van color fringe-dzsel (színes körvonalak a betűk körül), halvány és homályos. Minél kisebbek a pixel-ek, annál inkább elfedik ezeket a hatásokat. Ugyanakkor kipróbáltam a DirectWrite-os Chrome-ot egy 1920x1080-as, 14"-es kijelzőn (157 PPI), egy Dell Latitude E5450-en és (a Grayscale renderelése) még azon is láthatóan homályosabb. Bár tény, hogy kevésbé zavaró és elviselhető.

A Google döntése azért felháborító, mert rengetegen operálnak olyan monitorral, amin egyszerűen leheteten normálisan használni a ClearType-ot, illetve nincs elég pixelsűrűsége ahhoz, hogy a grayscale rendering is zavartalan legyen, a DirectWrite idealista, a pixel-re való hint-elést magasról leszaró, hányadék renderelésével.

"A Google döntése azért felháborító, mert rengetegen operálnak olyan monitorral, amin egyszerűen leheteten normálisan használni a ClearType-ot, illetve nincs elég pixelsűrűsége ahhoz, hogy a grayscale rendering is zavartalan legyen, a DirectWrite idealista, a pixel-re való hint-elést magasról leszaró, hányadék renderelésével."
És akkor mit szóljanak a Mac userek, akik 15 éve így élnek?

Amúgy nálam egy 22"-es FullHD monitorom van, ez 100 PPI-s. És tökéletesen jó minden. Nem láttam még olyan környezetet, ahol a DirectWrite-tal gond lenne. Konfiguráld a ClearType-ot, főleg a display pixeleinek RGB sorrendisége a nem mindegy.

Mac a legrosszabb példa, amit felhozhatsz, hiszen ...

  • A Mac nem csak operációs rendszert és szoftvert jelent, hanem hozzá való hardvert is. Ebből pedig máris következik az alábbi.
  • A Mac nyilván olyan monitorokkal jön, amiken normálisan néz ki a saját subpixel render-elésük. Itt se az a baj, hogy az idealista, leszaromtablettás Ilya Kulshin monitorán szarul néz ki a DirectWrite. Arról van szó, hogy másik több ezer (vagy több millió) ember monitorán szarul néz ki a DirectWrite.
  • Attól még, hogy a Mac-esek számára az a menő, hogy mindent tud helyettük a gép (vagy az Apple) és alig van felhasználói szabadságuk, nem kéne ezt minden platform-on elterjeszteni.
  • Ők döntöttek amellett, hogy megveszik 3x annyiért a Mac-et. Ha valakit zavar a subpixel rendering, az nem vesz Mac-et. Ki lehet próbálni az üzletben és mivel dedikált hardverrel jön, ezért kvázi garanciát kapsz arra, hogy ugyanúgy fog kinézni a Mac-es monitorodon is.
  • A Mac így működik 15 éve és így fejlesztették az alkalmazásokat is. A Windows verziókban még mindig hivatalosan támogatott a GDI. Mindemellett egy felhasználói szoftver arrogáns, ex-Microsoft-os fejlesztője pedig úgy döntött, hogy ő majd megmutatja, hogy ennek ellenére rá lehet erőltetni a bizonyos feladatokat sokkal szarabbul teljesítő DirectWrite-ot a nagyérdeműre. Remélem érzed a különbséget.

Kipróbáltam elég sok beállítást, köztük az RGB-BGR stb. kombókat is és felraktam külön a ClearType Switch-et is, azzal is szórakoztam. Nos, nem csak a PPI jelenthet problémát, hanem az is, hogy vannak olyan monitorok, amiknek a kontrasztaránya, színhűsége stb. nem olyan, hogy a ClearType zavartalan legyen rajta. Nem beszélve arról, hogy ami fehér háttéren jól néz ki ClearType-pal (bár ilyet még nem láttam), az nem biztos, hogy fekete háttéren jól niz ki (ilyet már láttam). Van olyan is, hogy egyéni érzékenység és a DirectWrite által élsimított betűk egyértelműen homályosabbak. Valakinél ez azt jelenti, hogy jobban fárasztja a szemét. Engem egyszerűen idegesít. Már csak azért is, mert a ClearType alapvetően egy HÁK. Olyan pixeleket használsz élsimításra, amiket színkeverésre kéne használnod. Mindezt fejlesztették ki azért, hogy a rózsaszín ködben élő, idealista betűtípus designer-eknek ne essék le az arangyűrű az ujjukról, amikor pixel-es hinting-et kell hozzáadni a betűtípusokhoz. Ez lett a vége. Ennek ellenére, a GDI mindig is sokkal élesebben le tudta render-elni mindenféle subpixel mágia nélkül a betűket, ellentétben a DirectWrite-tal.

Ha pedig azt hiszed, hogy csak én rinyálok, akkor nézzél fel a Google Product Forum-ra, hányan panaszkodnak erről.

"A Mac nyilván olyan monitorokkal jön, amiken normálisan néz ki a saját subpixel render-elésük. "
Haha, nem. Nézz meg egy 5 évvel ezelőtti Macet. 13+, 1280x720-as felbontás és csá.
Az Apple sem gyárt LCD panelt, ők is felvásárolják a Samsung, Philips, Sony társaságtól.
Másrészt Mac minire olyan displayt kötsz, amilyet akarsz és tudsz.
Ugyanígy egy Mac prora is.

" Mindemellett egy felhasználói szoftver arrogáns, ex-Microsoft fejlesztője pedig úgy döntött, hogy ő majd megmutatja, hogy ennek ellenére rá lehet erőltetni a bizonyos feladatokat sokkal szarabbul teljesítő DirectWrite-ot a nagyérdeműre."
Egyedül ő döntött? Hát nincs itt project governance? Ugyanmár.
A GDI nem nyújt normális hardvergyorsítást, a DirectWrite meg igen, ezért van egyre több alkalmazásban DirectWrite. A GDI legacy, csak kompatibilitási okok miatt van jelen még az API-ban.

"hogy vannak olyan monitorok, amiknek a kontrasztaránya, színhűsége stb. nem olyan, hogy a ClearType zavartalan legyen rajta"
A monitorodhoz tartozó ICC profilt telepítetted? Alapvető dolog, ha értelmes képet akarsz.

" Már csak azért is, mert a ClearType alapvetően egy HÁK. Olyan pixeleket használsz élsimításra, amiket színkeverésre kéne használnod."
Az élsimítás is színkeverés, nem is értem, itt mire gondolsz. A ClearType nem hák. Mert akkor mindenféle élsimítás is hák :D

A képek alapján: nem használsz te véletlenül fals DPI scalinget? Az okozhat ilyen csúnyaságokat.
Amúgy a képeid alapján (ha a fileneveknek hinni lehet), a DirectWrite-os kép sokkal olvashatóbb és szebb, az x_gdi.png egyszerűen ronda.

A ClearType hák, mert alpixeleket használsz élsimításra és nem az alpixelekből felépülő pixeleket. Ezzel megsérted a színteret és a színhűségből is veszítesz. Nem segít az ICC profil.

Project governance az annyi, hogy az egyik fejlődésmániás idealista barom kitalál valamit, a másik meg rábólint, aztán legyártják maguknak az elméleteket, miért szar (értsd: miért lusták) legacy API-t támogatni.

Nem lenne baj a DirectWrite-tal, amennyiben tudna ugyanúgy render-elni, mint a GDI. Lehet, hogy legacy, de attól még bizonyos esetekben (pl. grayscale élsimítás) szebben renderel és amennyiben nincs hardvergyorsítás, gyorsabb is, mint a DirectWrite. Ja persze, tudom, vegyek "normális" videókártyát.

Nem használok fals DPI scaling-et és a lényegen nem változtat.

Látom a product forumon a sok összehasonlítást a Firefoxszal. Az ugye megvan, hogy a Firefox is DirecWrite-ot használt régóta?
És az egésznek a ClearType beállításokhoz van köze:
https://blog.mozilla.org/nattokirai/2011/08/11/directwrite-text-renderi…

Az Edge és az IE is DirectWrite-ot használ, és sokkal szebb a szövegrenderelés így, mint GDI-vel. Igen, még alacsony DPI-n is.

Nem tűnik úgy, hogy ~200 aláíróval a Google bármit is fog kezdeni ezzel, így összegyűjtöttem az alternatívákat azoknak, akik nem szeretnék kifolyatni a szemüket vagy új monitort venni azért, mert szoftver"fejlesztő"ék annyira menők akarnak lenni, hogy ők bizony csak a legcsilibb-legvilibb technológiákra verik, miközben a használhatóságra köpnek. A szöveg angol, nem volt kedvem magam lefordítani.

Én most áttértem Cent Browser-re (mondjuk volt bennem kis para, hogy kik ezek, megbízhatóak-e?) és egész kellemeset csalódtam. Chrome-hoz képest kiegészítették pár funkcióval. Eddig tetszik bár érzésre kicsit lassabb szerintem mint egy chrome, de ez lehet csak pszichológia :)
Imádom, hogy van benne directwrite disable. Neked pedig köszi, hogy megpróbáltad a lehetetlent, talán hamarosan feltűnik a probléma magasabb körökben is.