Большая просьба к пользователям MS Vista проверить следующее.
Заходим в Display Properties -> Settings -> Advanced -> General -> DPI Setting -> Custom Setting (ну или что там в Висте соответствует этому). Далее плавно меняем DPI в процентах и смотрим, насколько славно меняется длина тестовой строки внизу. В XP творится форменное безобразие — например, изменение со 120% до 121% делает следующее:
Есть надежда, что в XP это сделано правильно. "Правильно" означает, что правая граница строки должна быть жестко привязана к делениям на шкале с точностью до пиксела и не скакать. Итак, есть ли у нас надежда?
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>Большая просьба к пользователям MS Vista проверить следующее. MS>Заходим в Display Properties -> Settings -> Advanced -> General -> DPI Setting -> Custom Setting (ну или что там в Висте соответствует этому). Далее плавно меняем DPI в процентах и смотрим, насколько славно меняется длина тестовой строки внизу. В XP творится форменное безобразие — например, изменение со 120% до 121% делает следующее:
MS>
MS>
MS>Есть надежда, что в XP это сделано правильно. "Правильно" означает, что правая граница строки должна быть жестко привязана к делениям на шкале с точностью до пиксела и не скакать. Итак, есть ли у нас надежда?
Только я что-то не понял — и это при отключенном "XP Style DPI Scaling"?! Ну и ну. А чем же он тогда отличается от включенного "XP Style"? Что-то не верится — ну не должно быть настолько плохо.
Вот еще статья, из которой вроде-как следует, что с масштабированием текста в висте должно быть все в порядке. http://www.mathies.com/weblog/?p=908
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, 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–.
Щелкните здесь, чтобы открыть «Личные настройки».
В левой области выберите Изменение размера шрифтов (DPI). Введите пароль администратора или подтверждение пароля, если появится соответствующий запрос.
В диалоговом окне Масштабирование щелкните Особый масштаб.
Установите флажок Использовать масштабы в стиле Windows XP и нажмите кнопку ОК.
Здравствуйте, Дьяченко Александр, Вы писали:
ДА>Честно говоря по умолчанию галочка стояла, но я вроде подергал результата не заметил. Возможно надо снять потом применить и перегрузится? В справке вот что пишут:
Да, скорее всего надо перегрузиться. Изменение типа масштабирования может быть слишком серьёзной операцией, чтобы сделать это на лету. При правильном масштабировании правая граница строки должна быть жестко привязана к делениям линейки, а сама строка дожна уметь слегка "дышать" как баян в пределах одной фактической пиксельной высоты.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
ДА>>Честно говоря по умолчанию галочка стояла, но я вроде подергал результата не заметил. Возможно надо снять потом применить и перегрузится? В справке вот что пишут: MS>Да, скорее всего надо перегрузиться. Изменение типа масштабирования может быть слишком серьёзной операцией, чтобы сделать это на лету. При правильном масштабировании правая граница строки должна быть жестко привязана к делениям линейки, а сама строка дожна уметь слегка "дышать" как баян в пределах одной фактической пиксельной высоты.
На работе Висты нету, так что попробую только вечером потом отпишусь... Интересно а почему тогда по умолчанию эта галочка стояла?
Ну чё так сразу — плохо? Смотря какая задача стоит. Я думаю в MS решали не задачу соответствия линейке, а задачу красивого начертания шрифта. АФАИК в шрифте указываются желаемые размеры, вот и выбрал был ближайший.
А тебе шашечки или ехать? По мне, так пусть будет ошибка в пару пикселей, если от этого заместно красивее.
Здравствуйте, 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>
Здравствуйте, McSeem2, Вы писали:
ДА>>Честно говоря по умолчанию галочка стояла, но я вроде подергал результата не заметил. Возможно надо снять потом применить и перегрузится? В справке вот что пишут: MS>Да, скорее всего надо перегрузиться. Изменение типа масштабирования может быть слишком серьёзной операцией, чтобы сделать это на лету. При правильном масштабировании правая граница строки должна быть жестко привязана к делениям линейки, а сама строка дожна уметь слегка "дышать" как баян в пределах одной фактической пиксельной высоты.
Снял галачку Windows потребовала перегрузиться — перегрузился. Эффекта нет совсем. Почему не знаю.
Здравствуйте, Дьяченко Александр, Вы писали:
ДА>Снял галачку Windows потребовала перегрузиться — перегрузился. Эффекта нет совсем. Почему не знаю.
Спасибо. То есть, это, похоже опять некий задел на будущее. Вот когда все приложения будут использовать только WPF и все остальное будет запрещено в законодательном порядке, вот только тогда и наступят светлые времена произвольного масштабирования и высоких разрешений.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали: MS>вот только тогда и наступят светлые времена произвольного масштабирования и высоких разрешений.
Угу, жду — не дождусь... Немного оффтопик, но скажу У меня XP. Разрешение 1680*1050. 96dpi мне показалось ужасно мало, поставил 120dpi. Специально взял из существующего выпадающего списка, т.к. на остальных было просто ужасно. Да и на 120dpi постоянно проблемы: то в инсталляторах съезжают кнопки "Далее"-"Назад", то надписи уезжают, даже в Ворде — полно недочетов! И только при 96dpi все выглядит как задумывалось. В браузере (Опера), к тому же, увеличил шрифты, некоторые сайты, и РСДН в том числе, безбожно раскорячивает. Вообщем, дело дрянь, я думаю. Хочу, что бы ничего не съезжало! (вопль вникуда )
Здравствуйте, oziro, Вы писали:
O> И только при 96dpi все выглядит как задумывалось. В браузере (Опера), к тому же, увеличил шрифты, некоторые сайты, и РСДН в том числе, безбожно раскорячивает. Вообщем, дело дрянь, я думаю. Хочу, что бы ничего не съезжало! (вопль вникуда )
В висте, если выключить XP Style Scaling, и поставить 120dpi, то получается следующая картина. Все программы, пользующиеся двойной буферизацией с последующим BitBlt масштабируются как битмапы с соответствующими последствиями — мутный текст и вся прочая графика. Acrobat Reader становится мутным-мутным. Не уверен, можно ли в таких условиях программно добиться pixel-exact результата, должно быть как-то можно. Но текст в виндовых диалогах все равно продолжает масштабироваться по-старому, то есть, с "наездами" и "отъездами".
Пока что, единственное применение родному режиму масштабирования в висте — это сделать, чтобы "было все большое" на проекторе или телевизоре.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>Здравствуйте, oziro, Вы писали:
O>> И только при 96dpi все выглядит как задумывалось. В браузере (Опера), к тому же, увеличил шрифты, некоторые сайты, и РСДН в том числе, безбожно раскорячивает. Вообщем, дело дрянь, я думаю. Хочу, что бы ничего не съезжало! (вопль вникуда )
MS>В висте, если выключить XP Style Scaling, и поставить 120dpi, то получается следующая картина. Все программы, пользующиеся двойной буферизацией с последующим BitBlt масштабируются как битмапы с соответствующими последствиями — мутный текст и вся прочая графика.
Что то не смог этого добиться, всё нормально у меня отображается. Наверно ребята из Adobe что то напутали с DPtoLP