一、選擇合適的字體是總要的算法
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能獲取較高的性能,但同時也影響了其顯示的清晰度)