首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AddFontResource()在Win10周年纪念更新时速度较慢

AddFontResource()在Win10周年纪念更新时速度较慢
EN

Stack Overflow用户
提问于 2016-09-01 03:07:00
回答 2查看 652关注 0票数 1

我正在从事.NET 3.5应用程序的维护工作。在应用程序启动期间,将从工作目录中读取许多字体并将其注册到Windows中。我们使用pinvoke调用每个字体文件的AddFontResource(string lpFileName) (Gdi32.dll)。

代码一直都很快,直到我升级到Win10周年纪念更新(在此之前,Win10没有问题)。现在一次调用可能需要半秒,这使得启动时间增加了90秒。

你知道是什么导致了这个问题吗?以及如何修复它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-17 02:13:54

我也观察到了这个问题,但在我们的例子中,我找到了一个解决方案:调用AddFontResourceEx()

我们代码中的完整更改是:

代码语言:javascript
复制
// from this
AddFontResource(pFont);

// to this
AddFontResourceEx(pFont, FR_PRIVATE, 0);

这至少解决了我个人测试过的一台机器的速度慢的问题。

票数 1
EN

Stack Overflow用户

发布于 2016-10-06 00:26:34

Windows 10周年纪念更新破坏了AddFontResource和RemoveFontResource API的性能。我们现在正在PortableApps.com处理它的余波。在应用周年纪念更新后,这只是Windows10的一个问题。这是如此糟糕,我的旧的缓慢华硕T100可转换运行代码从USB驱动器比我的i7台式机从内部固态硬盘。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39257243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档