Re[5]: [WPF] Можно ли улучшить отображение шрифтов?
От: Кирилл Осенков Украина
Дата: 07.11.09 00:10
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А загрузка ускорилась?

Да, почти как 2008 стало.

VD>Кстати, закинь (если есть такая возможность) мысль, о том, что МС сам подрывает доверие к WPF поставляя в составе виндовс сильно деоптимизированные 3D-дрова. Давиче мне один товарищ жаловался на неприемлемую производительность прокрутки в 2010-ой студии. После некоторого разбирательства и скачивания дров для видюхи с сайта Интела все вроде бы как нормализовалось.

Хорошо, постараюсь.

VD>Понятно, что в одночасье МС не начнет поставлять в составе виндовс быстрые дрова, но хотя бы написать в блогах и рейдми об этом надо.

Да мы вроде и пишем: http://beta.blogs.msdn.com/ddperf/default.aspx
Надо больше писать, я знаю Можешь кстати на этот блог сам написать, это один из главных чуваков по VS performance (David Berg), его смотрят внимательно. Тебя даже больше слушать будут, чем если я изнутри жаловаться буду.
Re: [WPF] Можно ли улучшить отображение шрифтов?
От: c-smile Канада http://terrainformatica.com
Дата: 08.11.09 07:27
Оценка: 42 (1) +1
Здравствуйте, VladD2, Вы писали:

VD>Можно ли как-то улучшить отображение шрифтов в WPF?


VD>Пытаюсь прикрутить к интеграции Nemerle с VS 2008 хинты на основе WPF.


VD>При отображении шрифтов тех же размеров, что в обычных хинтах текст читается очень плохо. Даже увеличенный шрифт (Arial 14) выглядит не очень здорово (и при этом занимает намного больше места на экране). Все смазано и причем весьма криво.


Влад, не занимайся ерундой. htmlayout или sciter твой UI на ура нарисует.
И справильными шрифтами учитывающими предпочтения юзера.
Re[2]: [WPF] Можно ли улучшить отображение шрифтов?
От: Кирилл Осенков Украина
Дата: 08.11.09 19:11
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Влад, не занимайся ерундой. htmlayout или sciter твой UI на ура нарисует.

CS>И справильными шрифтами учитывающими предпочтения юзера.

Или хотя бы возьми свой собственный Rsdn.Editor, который такое тоже отлично нарисует.
Re[2]: [WPF] Можно ли улучшить отображение шрифтов?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.11.09 00:09
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Влад, не занимайся ерундой. htmlayout или sciter твой UI на ура нарисует.

CS>И справильными шрифтами учитывающими предпочтения юзера.

Благодаря этому совету
Автор: Vladek
Дата: 30.10.09
качество отображения стал приемлемым. Правда шрифты чуть увеличены, но так как хинт стал многоуровневым, то это не является проблемой.

Так что единственная проблема — это тормоза при первом показе.

При этом то что ты предлагаешь — это нэйтив-длл-и для который еще придется писать обертки и реализовывать функциональность многоуровневости для хинтов (вряд ли она там есть по умолчанию). Так что объем работы получается внушительным, а выходы сомнительны. В общем, легаси код. Вот так вот быстро, оказывается, им можно обжиться .

К тому же для управляемого прилоежения наверно лучше будет использовать управляемый-аналог (например, предложенный здесь
Автор:
Дата: 31.10.09
). Но и с ним, думаю, придется повозиться.

Так что огромное спасибо за ссылки, но пока попробуем обойтись WPF-ом. Тем более, что это полезно на будущее. Все равно следующая студия будет иметь на 90% управляемый-АПИ
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [WPF] Можно ли улучшить отображение шрифтов?
От: Sinix  
Дата: 09.11.09 02:06
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Тем более, что это полезно на будущее. Все равно следующая студия будет иметь на 90% управляемый-АПИ


А можно пруфлинк? Обычно рядом с такими заявлениями лежит ещё много новостей по роадмапу — они-то меня и интересуют.
Re[3]: [WPF] Можно ли улучшить отображение шрифтов?
От: c-smile Канада http://terrainformatica.com
Дата: 09.11.09 06:56
Оценка: -1
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, c-smile, Вы писали:


CS>>Влад, не занимайся ерундой. htmlayout или sciter твой UI на ура нарисует.

CS>>И справильными шрифтами учитывающими предпочтения юзера.

VD>Благодаря этому совету
Автор: Vladek
Дата: 30.10.09
качество отображения стал приемлемым. Правда шрифты чуть увеличены, но так как хинт стал многоуровневым, то это не является проблемой.


Какая-то кофейная гущща, право слово. И забавный способ определения значения points:
var fontSize = 10.0d * (96d / 72d); // 10 points

это еще чего такое?

VD>Так что единственная проблема — это тормоза при первом показе.


Мда... студия и так не шеволится нонче... А тут ты еще со своим WPF...

VD>При этом то что ты предлагаешь — это нэйтив-длл-и для который еще придется писать обертки и реализовывать функциональность многоуровневости для хинтов (вряд ли она там есть по умолчанию). Так что объем работы получается внушительным, а выходы сомнительны. В общем, легаси код. Вот так вот быстро, оказывается, им можно обжиться .


Мммм... а это вот Nabu.Forms.Html из http://code.google.com/p/nabu-library/ чем не устраивает-то?
Или вот это вот: http://code.google.com/p/expemerent/

VD>К тому же для управляемого прилоежения наверно лучше будет использовать управляемый-аналог (например, предложенный здесь
Автор:
Дата: 31.10.09
). Но и с ним, думаю, придется повозиться.


Это какое-то заблуждение у тебя. В ситуациях когда есть managed/non-managed код (а в UI это всегда так)
выигрывать будет решение у которого меньшее количество переходов (вызовов) managed -> non-managed код.
В случае с htmlayout ты оперируешь десятком вызовов высокоуровневых методов. Вместо потока вызовов CreateBrush, FillRect и пр.
Каждый такой вызов как я понимаю чего-то да стоит.
Re[4]: [WPF] Можно ли улучшить отображение шрифтов?
От: Vladek Россия Github
Дата: 09.11.09 07:41
Оценка:
Здравствуйте, c-smile, Вы писали:

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


VD>>Здравствуйте, c-smile, Вы писали:


CS>>>Влад, не занимайся ерундой. htmlayout или sciter твой UI на ура нарисует.

CS>>>И справильными шрифтами учитывающими предпочтения юзера.

VD>>Благодаря этому совету
Автор: Vladek
Дата: 30.10.09
качество отображения стал приемлемым. Правда шрифты чуть увеличены, но так как хинт стал многоуровневым, то это не является проблемой.


CS>Какая-то кофейная гущща, право слово. И забавный способ определения значения points:

CS>
CS>var fontSize = 10.0d * (96d / 72d); // 10 points 
CS>

CS>это еще чего такое?

В WPF вечные 96 DPI. Мониторы с разными DPI будут показывать этот шрифт одинаковым размером.
Everything is an object
Re[3]: [WPF] Можно ли улучшить отображение шрифтов?
От: Vladek Россия Github
Дата: 09.11.09 07:51
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Так что единственная проблема — это тормоза при первом показе.


Есть один способ убрать тормоза, может поможет.
Everything is an object
Re[4]: [WPF] Можно ли улучшить отображение шрифтов?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.11.09 08:01
Оценка:
Здравствуйте, Sinix, Вы писали:

VD>>Тем более, что это полезно на будущее. Все равно следующая студия будет иметь на 90% управляемый-АПИ


S>А можно пруфлинк? Обычно рядом с такими заявлениями лежит ещё много новостей по роадмапу — они-то меня и интересуют.


Да это и не заявление в общем-то. Все кому надо об этом уже давно знают. Тут рядом Кирил Осенков был. Он может по части ссылок будет более качественным источником. А вообще, кому надо может просто воспользоваться гуглем. Например, VS 2010 WPF.
В VS 2010 управляемым станет почти половина GUI. Ну, и главное управляемым станет редактор кода.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: [WPF] Можно ли улучшить отображение шрифтов?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.11.09 09:14
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Какая-то кофейная гущща, право слово. И забавный способ определения значения points:

CS>
CS>var fontSize = 10.0d * (96d / 72d); // 10 points 
CS>

CS>это еще чего такое?

На самом деле самым важным здесь является именно подбор шрифта. Он меньше обычных, то что его можно задавать большим кеглем, что приводит к улучшению качества отображения. Ну, и возможно он просто чем-то лучше подходит для WPF. Повозившись с моноширными шрифтами я сделал вывод, что лучше всего на экране выглядит Consolas (шрифт идущий в поставке с VS).

VD>>Так что единственная проблема — это тормоза при первом показе.


CS>Мда... студия и так не шеволится нонче... А тут ты еще со своим WPF...


Говорят VS 2010 beta 2 работает уже на уровне 2008-ой. Меня это устроило бы (правда верится в это с трудом).

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

А WPF... Дык не перевели бы на него студию, то он так и прозябал бы в черт знает каком состоянии еще долгие годы. А так, доведут до ума технологию, плюс IDE будет намного более расширяемой. Уже приводили пример плагинов которые превращали DOC-коментарии в эдакие навороченные балуны с удобным форматированием и хорошо читаемым текстом.

VD>>При этом то что ты предлагаешь — это нэйтив-длл-и для который еще придется писать обертки и реализовывать функциональность многоуровневости для хинтов (вряд ли она там есть по умолчанию). Так что объем работы получается внушительным, а выходы сомнительны. В общем, легаси код. Вот так вот быстро, оказывается, им можно обжиться .


CS>Мммм... а это вот Nabu.Forms.Html из http://code.google.com/p/nabu-library/ чем не устраивает-то?

CS>Или вот это вот: http://code.google.com/p/expemerent/

А черт его знает. Я об их существовании только от тебя узнал. Причем в этот всем еще разобраться нужно.

VD>>К тому же для управляемого прилоежения наверно лучше будет использовать управляемый-аналог (например, предложенный здесь
Автор:
Дата: 31.10.09
). Но и с ним, думаю, придется повозиться.


CS>Это какое-то заблуждение у тебя. В ситуациях когда есть managed/non-managed код (а в UI это всегда так)

CS>выигрывать будет решение у которого меньшее количество переходов (вызовов) managed -> non-managed код.
CS>В случае с htmlayout ты оперируешь десятком вызовов высокоуровневых методов. Вместо потока вызовов CreateBrush, FillRect и пр.

Заблуждение скорее у тебя. Ты очень странно смотришь на выигрыш. Для меня выигрыш не упирается в быстродействие. Быстродействие, конечно, должно быть приемлемым. Но не более того. Кроме того очень важны такие аспекты, как устойчивость, легкость отладки и возможность модификации под свои нужды. Они у управляемого-решения с открытым кодом по любому лучше.
Собственно все пойманные проблемы с WPF-ным контролом были во круг интеропа. Окно студии ведь нэйтивное пока, а стло быть подключиться к нему можно только через перехват очереди окна. Ну, и там без ошибок не обошлось. А результат — вместо исключений переодически вся студия сворачивалась без единого звука. Хорошо что хоть интероп в дотнете написан так, что в присутствии отладчика он выполняет ряд расширенных проверок которые таки выявляют проблемы. Ну, а нэйтив баги без отладчика поймать будет очень сложно. Учитывая, что использование должно быть не очень стандартным (вложенные хинты я досего времени вообще нигде не видел), вероятность их вылезания весьма высока. Так что менеджед-код написанный на коленке может, по совокупности, причин оказаться более приемлемым.

CS>Каждый такой вызов как я понимаю чего-то да стоит.


Фигню он стоит. К тому же управляемое-решение рисует все через дотнетные интрфейсы. Интероп идет не при каждом вызове методов. Вместо этого сначала все вызовы записываются во внуренее представление, а потом накатываются (если я не ошибась). Так что там намного больше зависит от наличия акселерации отрисовки. Когда-то давно она была очень слабенькой для многих видюх. Как сейчас дела обстоят я не знаю. Но по любому для хнинта это не очень актуально. Он ведь весьма статический. Нарисовался и забылся.

Я тебе о другом говорю. Лично мне проще разобраться с менеджед решением, но даже за него браться не очень хочется, так как это время на изучение, на создание самого контрола. Ведь WPF-ное решение, хотя и не лишено недостатков, но он же ведь работает. И работает, в общем, приемлемо. Если бы у меня был штат программистов и много денег, я бы посадил по программисту за каждую альтернативу и приказал им написать по реализации хинта на каждом из API. Ну, а потом выбрал бы лучшего или просто сделал бы их сменяемыми (интерфейс ведь весьма прост).
Вот если бы кто нибудь (например, ты) помог бы реализовать альтернативную версию, то я с удовольствием подключил бы ее и опробовал. Но самому мне этим заниматься просто не когда. Моя основная задача — это доделать интеграцию немерла со студией. WPF-хнит написал один добрый человек (capgoat). Если бы не он, я бы еще очень долго не взялся бы за это дело. Зато теперь хинты в немерловой интеграции куруче паравоза. Отдыхают не только студия, но и разные РеШарперы.

Вот погляди на текущий вариант:
http://www.rsdn.ru/forum/prj.nemerle/3595691.1.aspx
Автор: VladD2
Дата: 09.11.09


Для сравнения старый (штатный для студии) вариант:








Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: [WPF] Visual Studio 2010 beta 2
От: Qbit86 Кипр
Дата: 09.11.09 09:47
Оценка:
Здравствуйте, VladD2, Вы писали:

CS>>Мда... студия и так не шеволится нонче... А тут ты еще со своим WPF...

VD>Говорят VS 2010 beta 2 работает уже на уровне 2008-ой. Меня это устроило бы (правда верится в это с трудом).

Верится с трудом, но оно таки так и есть — по моему субъективному опыту. Пока что столкнулся только с одним обидным тормозом — окно Add reference почему-то очень медленно отрисовывает список сборок. В остальном Студия работает либо не медленнее, либо заметно быстрее.

CS>>Это какое-то заблуждение у тебя. В ситуациях когда есть managed/non-managed код (а в UI это всегда так)

CS>>выигрывать будет решение у которого меньшее количество переходов (вызовов) managed -> non-managed код.
CS>>В случае с htmlayout ты оперируешь десятком вызовов высокоуровневых методов. Вместо потока вызовов CreateBrush, FillRect и пр.
CS>>Каждый такой вызов как я понимаю чего-то да стоит.

VD>Заблуждение скорее у тебя.


Согласен. В коде на WPF вообще не будет GDI-шных CreateBrush'ей и FillRect'ов. Там аппаратно ускоряемый DirectDraw.

VD>Ты очень странно смотришь на выигрыш. Для меня выигрыш не упирается в быстродействие. Быстродействие, конечно, должно быть приемлемым. Но не более того. Кроме того очень важны такие аспекты, как устойчивость, легкость отладки и возможность модификации под свои нужды. Они у управляемого-решения с открытым кодом по любому лучше.


В этом аспекте тоже согласен. Код на WPF легче писать/поддерживать, чем код на WinForms/WinApi.
Глаза у меня добрые, но рубашка — смирительная!
Re[4]: [WPF] Можно ли улучшить отображение шрифтов?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.11.09 10:02
Оценка:
Здравствуйте, Vladek, Вы писали:

V>Есть один способ убрать тормоза, может поможет.


Вряд ли. Там предлагается не пользоваться XAML-ом. В хинте и так его почти нет (только базовая часть). А тормоза явно связаны с загрузкой PresentationFramework.Aero.dll.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: [WPF] Visual Studio 2010 beta 2
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.11.09 10:06
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Согласен. В коде на WPF вообще не будет GDI-шных CreateBrush'ей и FillRect'ов. Там аппаратно ускоряемый DirectDraw.


Тут речь шла об управляемом аналоге Htmplayout-а. Он производит отрисовку через GDI+.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: [WPF] Можно ли улучшить отображение шрифтов?
От: Sinix  
Дата: 10.11.09 01:16
Оценка:
Здравствуйте, VladD2!


VD>Да это и не заявление в общем-то. Все кому надо об этом уже давно знают.

Спс. Про это в курсе. Но окромя UI в студии есть дофига и больше кода, не имеющего managed api — типа SCC, или работающего ч/з ком врапперы (shell, envDTE). Переписывание — очень много-много работы.

Что-то я сомневаюсь что в этом релизе они успеют
Re[6]: [WPF] Можно ли улучшить отображение шрифтов?
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.11.09 05:13
Оценка: 12 (1)
Здравствуйте, Sinix, Вы писали:

S>Спс. Про это в курсе. Но окромя UI в студии есть дофига и больше кода, не имеющего managed api — типа SCC, или работающего ч/з ком врапперы (shell, envDTE). Переписывание — очень много-много работы.


Я не говрил, что все переписано. Но IDE — это и есть на 90% UI. SCC это не так много кода и он далеко не всем нужен. Мне, например, не нужен.

S>Что-то я сомневаюсь что в этом релизе они успеют


Никто и не планировал все переписать. Переписан GUI включая редактор кода, тулбары и т.п. По крайней мере в 1-й бете так было.
Дерево проектов, насколько мене известно, осталось неуправляемым.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: [WPF] Можно ли улучшить отображение шрифтов?
От: Sinix  
Дата: 10.11.09 06:03
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Я не говрил, что все переписано.

Все равно следующая студия будет иметь на 90% управляемый-АПИ

Всё ясно, не так вас понял

VD>Но IDE — это и есть на 90% UI.

Повторюсь, UI — далеко не весь апи.

VD>SCC это не так много кода и он далеко не всем нужен. Мне, например, не нужен.

Мне тоже. Но вот перспектива "поменяем апи — проблемы у всех разработчиков дополнений" меня абсолютно не втыкает. Очевидно, не втыкает и VSX Team — в EnvDTE не так уж и много изменений.

P.S. А вообще надо уже собраться и поставить... время-время
Re[8]: [WPF] Можно ли улучшить отображение шрифтов?
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.11.09 12:11
Оценка: +1
Здравствуйте, Sinix, Вы писали:

S>Но вот перспектива "поменяем апи — проблемы у всех разработчиков дополнений" меня абсолютно не втыкает. Очевидно, не втыкает и VSX Team — в EnvDTE не так уж и много изменений.


На сколько я понимаю сап по себе API (как публичный интерфейс) пытаются сохранить для обеспечения совместимости с предыдущими вресиями. Но полной совместимости нет. Тот же ДжетБрэйнс довольно много сил тратит на интеграцию с новой версией.

К слову, в старом АПИ было попросту много не документированного. В новой оно становится документированным, но при этом полностью другим. Примером тому может служить АПИ по работе со смарт-тегами.

S>P.S. А вообще надо уже собраться и поставить... время-время


Согласен. Бэту 1 я поставил и посмотрел, а на вторую как-то времени не хватает. Старею, видимо .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.