28 September 2011

Бесконечная тема

И снова про рендринг шрифтов. Начну с цитаты отсюда:

"Microsoft сыграли злую шутку со всем остальным миром. Способ растеризации шрифтов в Windows XP представляет собой безвкусицу с полным отсутствием инженерной культуры. Текст в XP выглядит чётко и привлекательно, но при этом совершенно неправильно."

Извините, ребята, но о какой, на хрен, правильности идет речь, и почему я ее должен предпочесть четкости и привлекательности?!...

Правду говорят, старый Microsoft, который завоевал в свое время весь мир ПК, уходит в прошлое, сегодня в этой корпорации группа безруких идиотов просто проедает былые наработки. Тот Microsoft умел всегда находить нужные компромиссы в сложным вопросах, имел в своем фундаменте истинные ценности, вроде обеспечения совместимости и преемственности пользовательского опыта любой ценой... Новый же Microsoft выкатил в массы Windows Vista, в которой перестала работать добрая половина старых приложений. Эти же люди "перезагрузили" Windows Mobile, выплеснув вместе с водой и ребенка, предложив рынку примитивную и совершенно вторичную ОС с тотально не эргономичным интерфейсом. Эти же ребята придумали планшеты с вентиляторами. Этот же народ полностью просрал рынок веб браузеров и изуродовал риббон интерфейсом массу своих приложений.
Так держать!

Вчера поставил на свой рабочий ПК Windows 7 x64. На машине наконец-то появилось приличное количество мозгов, и 32-х разрядная ОС не может получить из этого профит (кстати, железо через PAE позволяет работать с объемами RAM больше чем 4 Gb, ограничение в WinXP ввели искусственно, формально из-за совместимости, а скорее всего из соображений сглаживания конкуренции с собственными продуктами). Первое же, что бросается в глаза в новой ОС -- качество рендринга шрифтов, от которого глаза становятся раком буквально через пару минут работы. Ебаное сглаживание!! Сто раз писал уже об этом! Ну не нужно оно, от него только вред и потери в производительности. Почему? Да потому, что если пиксель на устройстве отображения крупный, то глаз, вместо сглаживания, видит вместо четких шрифтов какую-то ужасную разноцветную неконтрастную мазню. А если пиксель мелкий, то все шрифты и без всякого сглаживания выглядят просто отлично!

И ладно Microsoft, взять тот же Apple. Много раз писал про iPad -- читать книжки на нем это просто какое-то наказание, т.к. буквы пляшут и на мозг постоянно идет нагрузка по адаптации. Пиксель на устройстве очень крупный (плотность всего лишь 130 dpi), и постоянно меняющаяся толщина линий бросается в глаза.

Аналогичную картину увидел вчера и в "семерке". Полез копать что можно с этим сделать. Да, сглаживание шрифтов можно отключить, но только для тех приложений, которые берут настройки рендринга шрифтов из системы, т.е. используют шрифт по умолчанию (подробнее). Все системные окна в ОС, диалоги и меню рисуются со сглаживанием, хоть кол на голове чеши.
К чему это приводит? Смотрим



Текст в программе резкий и красивый. Текст в всплывающем меню и меню программы выглядит как какашки с разноцветным конфетти (кстати, ClearType в системе выключен!), и чем крупнее зерно у вашего устройства отображения, тем более ужасный вид приобретает эта картина. На 19" 1280x1024 смотреть на это без слез, сидя за столом с монитором, просто нельзя.

Сама же Microsoft проводила исследования, где людям давали возможность выбрать, какой текст им больше нравится -- сглаженный или нет. Во-первых, эксперимент проводили на лэптопах, где экран обычно имеет гораздо более высокий dpi, чем на stand alone мониторах. А во-вторых, целый 5% предпочитают олдскульный рендринг, без всякой мазни. Сколько десятков миллионов человек среди армии пользователей Windows эти жалкие 5% собой представляют можете себе легко представить. Так какого же хуя не дать возможность этим людям избавиться от этой мазни на их экранах?!

На самом деле, есть соображения чисто технического характера для рендринга со сглаживанием. В случае, когда у вас низкая точность рендринга шрифтов (кратная одному пикселу), у вас есть проблемы с точностью отображения текста. Грубо говоря, шаг отображения у вас дискретный и задача "подбери мне такой размер шрифта, чтобы вот это слово влезло ровно в 310 пикселей" часто не имеет решения. Проблема ли это? На самом деле нет, потому что разработчики живут с этой проблемой уже так много лет, что уже давно придуманы пути ее обхода и в приложениях типа текстового процессора или браузера, и в диалогах обычных приложений.



Мораль? Сглаживание шрифтов (рендринг с дискретностью выше пикселя) -- гавно. И лично я, выбирая между текстом, которые выглядит правильно, и текстом, который удобнее читать, всегда выберу второе. И страшное анальное проклятие всем тем, кто решил, что пора в Windows убрать возможность тотального отключения сглаживания шрифтов!

зы. Один из немногих примеров того, как люди безуспешно пытаются выключить эту дрянь в системе. Многие из-за этой проблемы возвращаются обратно в XP.

No comments:

Post a Comment