zoukankan      html  css  js  c++  java
  • WPF杂难解 中文字体显示模糊

    问题来源:

    问题比较普遍,界面上的独句中文,模糊偶现,中英文混排的话,模糊必现。 

    解决思路一:

    问题刚刚出现时当时还在wpf3.5,百度+谷歌都没有太多的信息,倒是在微软的社区里有人提问,但没有好的解决方案。初步尝试关闭硬件加速功能。

    关闭硬件加速有两种办法,一是设置注册表值。

    即新建HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration项,设置为1关闭加速。但注册表是系统全局设置,尝试软件设置。

    即在软件运行开始判断系统图形能力,设置是否开启加速:

      switch (RenderCapability.Tier){

                        case Partical:
                        case SoftOnly:
                            RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
                            break;
                        case Full:
                            RenderOptions.ProcessRenderMode = RenderMode.Default;
                            break;
                    }

    这里有一个微调,即使系统认为能部分开启硬件加速条件也使其关闭。其中注册表设置优先于程序设置,也就是注册表设置了关闭,软件中是开启不来的。 

    尝试后问题没有解决,倒是测试提的几个界面错乱或者穿过软件显示桌面的bug没有再现了。是因为测试的机器显卡都比较烂,大多又没有装好正确的显卡驱动,关闭硬件加速后界面正常。

    解决思路二:

    wpf4推出后,解决了东亚字体的显示问题,即加入:

    TextOptions.TextFormattingMode="display" 

     问题解决。

  • 相关阅读:
    控制反转和依赖注入
    共识机制是什么?
    实用拜占庭容错算法PBFT
    三种框架对比react vue 和Angular对比
    go语言学习笔记
    激活方法总结
    钱包助记词
    简历中存在的问题的处理
    why we use Symbols in Hash
    compact过滤数组中的nil
  • 原文地址:https://www.cnblogs.com/shen6041/p/2392353.html
Copyright © 2011-2022 走看看