一、选择合适的字体是总要的算法
WPF4.0中同时针对东亚字体的渲染进行了优化,如今它支持点阵字体了,而开启这个新特性十分简单,只需为FontFamily设置一种点阵字体就能够了性能优化
如下是一张推荐设置表 LanguageFontless
Language性能 |
Font字体 |
Traditional Chinese优化 |
MingLiu动画 |
Simplified Chinesespa |
SimSunorm |
Japaneseci |
MS Gothic |
Korean |
Gulium |
Korean |
Batang |
二、
WPF4字体改善
WPF4对字体渲染作了很大的改善,增长了TextOptions属性,该属性能够设置TextFormattingMode,TextRenderingMode,TextHintingMode
1).TextFormattingMode
它提供了两种设置:
· Ideal —— WPF4以前的模式
· Display —— 新的模式,能够使字体显示更清晰
(通常将TextFormattingMode设置为Display,能够提升字体显示的清晰度)
2).TextRenderingMode
设置渲染模式,能够有如下设置:
Auto – This mode will use ClearType unless system settings have been set to specifically disable ClearType on the machine.
Aliased – No antialiasing will be used to draw text.
Grayscale – Grayscale antialiasing will be used to draw text.
ClearType – ClearType antialising will be used to draw text.
(通常用ClearType渲染出来的字体会比较平滑)
3.TextHintingMode
获取或设置一个值,该值影响文本元素的呈现行为,这是一种性能优化方式,当您对文本元素的任何文本属性进行动画处理时,能够使用此方式。
此属性的值采用如下两种可能的值:
Animated 经过使用一个更高效、但视觉精确降低的平滑算法来针对动画进行优化。(文本仍然是可读的;精度损失并不严重。)
Fixed(默认值)使用的算法针对视觉上精确的字体平滑效果进行了优化,但当将动画应用于字体元素的属性时,可能致使性能问题以及抖动,尤为是对于 FontSize 或转换/定位/投影。
(在须要对字体作一些动态效果,例如将字体缩放时,使用Animated能获取较高的性能,但同时也影响了其显示的清晰度)