Правильно ли Виста масштабирует текст?
От: McSeem2 США http://www.antigrain.com
Дата: 08.07.07 15:08
Оценка: 2 (1)
Большая просьба к пользователям MS Vista проверить следующее.
Заходим в Display Properties -> Settings -> Advanced -> General -> DPI Setting -> Custom Setting (ну или что там в Висте соответствует этому). Далее плавно меняем DPI в процентах и смотрим, насколько славно меняется длина тестовой строки внизу. В XP творится форменное безобразие — например, изменение со 120% до 121% делает следующее:





Есть надежда, что в XP это сделано правильно. "Правильно" означает, что правая граница строки должна быть жестко привязана к делениям на шкале с точностью до пиксела и не скакать. Итак, есть ли у нас надежда?
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re: Правильно ли Виста масштабирует текст?
От: Дьяченко Александр Россия  
Дата: 08.07.07 16:31
Оценка: 15 (1)
Здравствуйте, McSeem2, Вы писали:

MS>Большая просьба к пользователям MS Vista проверить следующее.

MS>Заходим в Display Properties -> Settings -> Advanced -> General -> DPI Setting -> Custom Setting (ну или что там в Висте соответствует этому). Далее плавно меняем DPI в процентах и смотрим, насколько славно меняется длина тестовой строки внизу. В XP творится форменное безобразие — например, изменение со 120% до 121% делает следующее:

MS>


MS>


MS>Есть надежда, что в XP это сделано правильно. "Правильно" означает, что правая граница строки должна быть жестко привязана к делениям на шкале с точностью до пиксела и не скакать. Итак, есть ли у нас надежда?


Нету



... << RSDN@Home 1.2.0 alpha rev. 694>>
Re[2]: Правильно ли Виста масштабирует текст?
От: McSeem2 США http://www.antigrain.com
Дата: 08.07.07 21:00
Оценка: 2 (1)
Здравствуйте, Дьяченко Александр, Вы писали:

ДА>Нету

ДА>http://files.rsdn.ru/42916/Масштаб1.png
ДА>http://files.rsdn.ru/42916/Масштаб2.png

Только я что-то не понял — и это при отключенном "XP Style DPI Scaling"?! Ну и ну. А чем же он тогда отличается от включенного "XP Style"? Что-то не верится — ну не должно быть настолько плохо.
Вот еще статья, из которой вроде-как следует, что с масштабированием текста в висте должно быть все в порядке. http://www.mathies.com/weblog/?p=908
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[3]: Правильно ли Виста масштабирует текст?
От: Дьяченко Александр Россия  
Дата: 08.07.07 21:25
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>Только я что-то не понял — и это при отключенном "XP Style DPI Scaling"?! Ну и ну. А чем же он тогда отличается от включенного "XP Style"? Что-то не верится — ну не должно быть настолько плохо.

MS>Вот еще статья, из которой вроде-как следует, что с масштабированием текста в висте должно быть все в порядке. http://www.mathies.com/weblog/?p=908

Честно говоря по умолчанию галочка стояла, но я вроде подергал результата не заметил. Возможно надо снять потом применить и перегрузится? В справке вот что пишут:

Чтобы сделать текст и другие объекты на экране более четкими в программах, не предназначенных для высокого DPI
Если установить DPI выше 96 при работе в Windows Aero (визуальные эффекты исключительно высокого качества в Windows Vista), текст и другие объекты на экране могут быть нечеткими в некоторых программах, не предназначенных в этой версии Windows для дисплеев с высоким DPI. Этого можно избежать, используя для таких программ масштабирование DPI в стиле Windows XP–.

  1. Щелкните здесь, чтобы открыть «Личные настройки».

  2. В левой области выберите Изменение размера шрифтов (DPI). Введите пароль администратора или подтверждение пароля, если появится соответствующий запрос.

  3. В диалоговом окне Масштабирование щелкните Особый масштаб.

  4. Установите флажок Использовать масштабы в стиле Windows XP и нажмите кнопку ОК.

... << RSDN@Home 1.2.0 alpha rev. 694>>
Re[4]: Правильно ли Виста масштабирует текст?
От: McSeem2 США http://www.antigrain.com
Дата: 09.07.07 01:02
Оценка:
Здравствуйте, Дьяченко Александр, Вы писали:

ДА>Честно говоря по умолчанию галочка стояла, но я вроде подергал результата не заметил. Возможно надо снять потом применить и перегрузится? В справке вот что пишут:


Да, скорее всего надо перегрузиться. Изменение типа масштабирования может быть слишком серьёзной операцией, чтобы сделать это на лету. При правильном масштабировании правая граница строки должна быть жестко привязана к делениям линейки, а сама строка дожна уметь слегка "дышать" как баян в пределах одной фактической пиксельной высоты.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[5]: Правильно ли Виста масштабирует текст?
От: Дьяченко Александр Россия  
Дата: 09.07.07 06:53
Оценка:
Здравствуйте, McSeem2, Вы писали:

ДА>>Честно говоря по умолчанию галочка стояла, но я вроде подергал результата не заметил. Возможно надо снять потом применить и перегрузится? В справке вот что пишут:

MS>Да, скорее всего надо перегрузиться. Изменение типа масштабирования может быть слишком серьёзной операцией, чтобы сделать это на лету. При правильном масштабировании правая граница строки должна быть жестко привязана к делениям линейки, а сама строка дожна уметь слегка "дышать" как баян в пределах одной фактической пиксельной высоты.

На работе Висты нету, так что попробую только вечером потом отпишусь... Интересно а почему тогда по умолчанию эта галочка стояла?
... << RSDN@Home 1.2.0 alpha rev. 696>>
Re: Правильно ли Виста масштабирует текст?
От: adontz Грузия http://adontz.wordpress.com/
Дата: 09.07.07 09:47
Оценка:
Здравствуйте, McSeem2, Вы писали:

Ну чё так сразу — плохо? Смотря какая задача стоит. Я думаю в MS решали не задачу соответствия линейке, а задачу красивого начертания шрифта. АФАИК в шрифте указываются желаемые размеры, вот и выбрал был ближайший.

А тебе шашечки или ехать? По мне, так пусть будет ошибка в пару пикселей, если от этого заместно красивее.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Правильно ли Виста масштабирует текст?
От: McSeem2 США http://www.antigrain.com
Дата: 09.07.07 16:29
Оценка:
Здравствуйте, adontz, Вы писали:

A>Ну чё так сразу — плохо?


На самом деле не плохо. В WPF, по крайней мере, все в порядке.

A>Смотря какая задача стоит. Я думаю в MS решали не задачу соответствия линейке, а задачу красивого начертания шрифта. АФАИК в шрифте указываются желаемые размеры, вот и выбрал был ближайший.


A>А тебе шашечки или ехать? По мне, так пусть будет ошибка в пару пикселей, если от этого заместно красивее.


Ага, щазз. Пару пикселов... Это в WPF — пару пикселов, а в XP — десятки пикселов. Попробуй в XP, через стандарный WinAPI повторить вот это — запаришься (синтаксис прозрачен) :
<Canvas
xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'><Border BorderThickness='1' BorderBrush='Black'><StackPanel >
<DockPanel>
<TextBlock Width='0.33'/>
<TextBlock FontSize="10.10"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='0.66'/>
<TextBlock FontSize="10.15"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='1'/>
<TextBlock FontSize="10.20"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='1.33'/>
<TextBlock FontSize="10.25"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='1.66'/>
<TextBlock FontSize="10.35"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='2.00'/>
<TextBlock FontSize="10.40"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='2.33'/>
<TextBlock FontSize="10.45"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='2.66'/>
<TextBlock FontSize="10.50"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='3.00'/>
<TextBlock FontSize="10.55"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='3.33'/>
<TextBlock FontSize="10.60"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='3.66'/>
<TextBlock FontSize="10.65"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='4.00'/>
<TextBlock FontSize="10.70"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='4.33'/>
<TextBlock FontSize="10.75"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='4.66'/>
<TextBlock FontSize="10.80"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
<DockPanel>
<TextBlock Width='5.00'/>
<TextBlock FontSize="10.85"> A single pixel on a color LCD is made of three colored elements ordered... </TextBlock>
</DockPanel>
</StackPanel></Border></Canvas>


Вот что должно получиться:
http://antigrain.com/stuff/subpixel_wpf_agg.png

Тут тебе и субпиксельное позиционирование и текст выглядит нормально (что размер и вертикальные интервалы неровные, так это неизбежно).
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[5]: Правильно ли Виста масштабирует текст?
От: Дьяченко Александр Россия  
Дата: 10.07.07 16:51
Оценка:
Здравствуйте, McSeem2, Вы писали:

ДА>>Честно говоря по умолчанию галочка стояла, но я вроде подергал результата не заметил. Возможно надо снять потом применить и перегрузится? В справке вот что пишут:

MS>Да, скорее всего надо перегрузиться. Изменение типа масштабирования может быть слишком серьёзной операцией, чтобы сделать это на лету. При правильном масштабировании правая граница строки должна быть жестко привязана к делениям линейки, а сама строка дожна уметь слегка "дышать" как баян в пределах одной фактической пиксельной высоты.

Снял галачку Windows потребовала перегрузиться — перегрузился. Эффекта нет совсем. Почему не знаю.
... << RSDN@Home 1.2.0 alpha rev. 694>>
Re[6]: Правильно ли Виста масштабирует текст?
От: McSeem2 США http://www.antigrain.com
Дата: 10.07.07 17:01
Оценка:
Здравствуйте, Дьяченко Александр, Вы писали:

ДА>Снял галачку Windows потребовала перегрузиться — перегрузился. Эффекта нет совсем. Почему не знаю.


Спасибо. То есть, это, похоже опять некий задел на будущее. Вот когда все приложения будут использовать только WPF и все остальное будет запрещено в законодательном порядке, вот только тогда и наступят светлые времена произвольного масштабирования и высоких разрешений.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[7]: Правильно ли Виста масштабирует текст?
От: oziro Нигерия  
Дата: 17.07.07 19:46
Оценка: +1
Здравствуйте, McSeem2, Вы писали:
MS>вот только тогда и наступят светлые времена произвольного масштабирования и высоких разрешений.

Угу, жду — не дождусь... Немного оффтопик, но скажу У меня XP. Разрешение 1680*1050. 96dpi мне показалось ужасно мало, поставил 120dpi. Специально взял из существующего выпадающего списка, т.к. на остальных было просто ужасно. Да и на 120dpi постоянно проблемы: то в инсталляторах съезжают кнопки "Далее"-"Назад", то надписи уезжают, даже в Ворде — полно недочетов! И только при 96dpi все выглядит как задумывалось. В браузере (Опера), к тому же, увеличил шрифты, некоторые сайты, и РСДН в том числе, безбожно раскорячивает. Вообщем, дело дрянь, я думаю. Хочу, что бы ничего не съезжало! (вопль вникуда )
Re[8]: Правильно ли Виста масштабирует текст?
От: McSeem2 США http://www.antigrain.com
Дата: 18.07.07 16:08
Оценка: 4 (2) +1
Здравствуйте, oziro, Вы писали:

O> И только при 96dpi все выглядит как задумывалось. В браузере (Опера), к тому же, увеличил шрифты, некоторые сайты, и РСДН в том числе, безбожно раскорячивает. Вообщем, дело дрянь, я думаю. Хочу, что бы ничего не съезжало! (вопль вникуда )


В висте, если выключить XP Style Scaling, и поставить 120dpi, то получается следующая картина. Все программы, пользующиеся двойной буферизацией с последующим BitBlt масштабируются как битмапы с соответствующими последствиями — мутный текст и вся прочая графика. Acrobat Reader становится мутным-мутным. Не уверен, можно ли в таких условиях программно добиться pixel-exact результата, должно быть как-то можно. Но текст в виндовых диалогах все равно продолжает масштабироваться по-старому, то есть, с "наездами" и "отъездами".

Пока что, единственное применение родному режиму масштабирования в висте — это сделать, чтобы "было все большое" на проекторе или телевизоре.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[9]: Правильно ли Виста масштабирует текст?
От: korzh.pavel Россия  
Дата: 20.07.07 11:35
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>Здравствуйте, oziro, Вы писали:


O>> И только при 96dpi все выглядит как задумывалось. В браузере (Опера), к тому же, увеличил шрифты, некоторые сайты, и РСДН в том числе, безбожно раскорячивает. Вообщем, дело дрянь, я думаю. Хочу, что бы ничего не съезжало! (вопль вникуда )


MS>В висте, если выключить XP Style Scaling, и поставить 120dpi, то получается следующая картина. Все программы, пользующиеся двойной буферизацией с последующим BitBlt масштабируются как битмапы с соответствующими последствиями — мутный текст и вся прочая графика.


Что то не смог этого добиться, всё нормально у меня отображается. Наверно ребята из Adobe что то напутали с DPtoLP
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.