文章目录
- WPF界面模糊闪屏花屏,竟是外星人惹的祸
-
- 一 问题现象复现
- 二 解决办法
-
- 2.1 卸载外星人相关系列的软件
- 2.2 NahimicOSD.dll
- 2.3 软渲染(无奈之举)
- 2.4 加入黑名单(需要管理员权限)
WPF界面模糊闪屏花屏,竟是外星人惹的祸
运行一个WPF应用程序,发现渲染的结果很多错误和异常。
运行环境:
一 问题现象复现
- 不同的界面元素大小不一,参差不齐地随处摆放
- 鼠标划过界面各部分时,划过的矩形区域会闪烁,闪成不同的模样
- 虽然渲染杂乱无章,但功能依旧还在,你能在界面本来应该在的部位点击获得本该有的正常的界面功能
我宣布,全部卸载干净了可以解决这个问题,确实是有点坑!
2.2 NahimicOSD.dll
重命名计算机内的NahimicOSD.dll动态链接库的名称xxxxx.dll,请检查一下出问题的电脑上是否有 NahimicOSD.dll 这个文件。
另外,这个文件可能有 x86 和 x64 两个版本;可能都需要处理,适用于不同架构的进程。
如果这是一台戴尔电脑,那么它最有可能出现在下面这个路径下:
如果这是其他品牌的电脑,那么他很有可能出现在下面这个路径下(因为插上了外星人耳机或其他外设,自动安装了驱动):
当然,也有其他反馈说在别的路径下的:
同时也存在非戴尔设备的情况:
NahimicOSD 是一个用于在应用程序最终渲染结果上叠加另一个显示层的库,这个库会在应用程序运行时注入进程,并在目标进程调用 DirectX 渲染时将叠加层加入渲染。
2.3 软渲染(无奈之举)
如果你的程序足够简单,那么采用软渲染来规避这个问题也未尝不可。方法是在你第一个窗口显示出来之前,调用一下下面这句话:
如果想避免影响范围太大,还可以判断一下是否存在这个文件:
2.4 加入黑名单(需要管理员权限)
-
Dell明明知道知道NahimicOSD那些东西会导致问题,还不修改,搞了个黑白名单,想你的程序能用你就自己改dat文件。
-
NahimicOSD 有一个黑名单文件 BlackApps.dat,在列表里的程序将不会注入破坏其渲染。
-
路径在:

如有任何疑问,请 与我联系 (468189405@qq.com) 。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!