You are here

Windows 10 Anniversay Update kills performance of AddFontResource / RemoveFontResource APIs

7 posts / 0 new
Last post
John T. Haller
John T. Haller's picture
Online
Last seen: 2 min 11 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Windows 10 Anniversay Update kills performance of AddFontResource / RemoveFontResource APIs

In testing out performance issues on LibreOffice Portable, I've determined that Windows 10 anniversary update positively kills font API performance. It's to the point that my old ASUS T100 tablet with a Z3735 cpu running Windows 10 pre-anniversary update launches LibreOffice Portable 5.2.1 from a USB3 drive faster than my Dell i7 desktop running Windows 10 anniversay does from an internal Samsung 840 Pro SSD.

This may or may not be related to MS14-045: https://support.microsoft.com/en-us/kb/2982791

As a result of fallout from this issue, I'll likely be removing bundled fonts from apps like LibreOffice and OpenOffice and making them an optional add-on at the platform or app level.

vf2nsr
vf2nsr's picture
Offline
Last seen: 7 years 6 months ago
Developer
Joined: 2010-02-13 17:10
Is it reading

Fonts from the host machine or from the usb? I ask as I remember having an issue like this with Rednotebook and modified a few files to only load the ones included and not the Host computers fonts?

“Be who you are and say what you feel because those who mind don't matter and those who matter don't mind.” Dr. Seuss

John T. Haller
John T. Haller's picture
Online
Last seen: 2 min 11 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
stated above

It takes 15 seconds to load from an internal ssd. External USB is faster pre anniversary.

Sometimes, the impossible can become possible, if you're awesome!

GoD
Offline
Last seen: 1 year 1 month ago
Joined: 2007-02-24 21:31
Do you have sample code how

Do you have sample code how you load the fonts?
I have done a small test and I can load all fonts nearly instant.
But I use AddFontResourceEx

John T. Haller
John T. Haller's picture
Online
Last seen: 2 min 11 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Included

It's in the libreoffice launcher. Within app\appinfo\launcher\custom.nsh. Loading the 83 fonts included is nearly instant on Windows 10 but takes upwards of 15 seconds on Windows 10 anniversary.

Sometimes, the impossible can become possible, if you're awesome!

GoD
Offline
Last seen: 1 year 1 month ago
Joined: 2007-02-24 21:31
Did some more tests

Did some more tests
AddFontResource is slow, AddFontResourceEx is fast.
All done on RS1

John T. Haller
John T. Haller's picture
Online
Last seen: 2 min 11 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Also Slow

After switching all AddFontResource calls to AddFontResourceEx, it still takes about 20 seconds for the launcher to load the 83 fonts when running on Windows 10 Anniversary x64 on an i7-4790 @ 3.6GHz with 24GB of RAM running from a Samsung 840 Pro 256GB SSD.

Be sure you are loading them as ,i0,i0 (aka available to all processes).

I wish it was as easy as switching to Ex as I'd have updated to LibreOffice Portable, OpenOffice Portable, and the PortableApps.com Platform out today.

Sometimes, the impossible can become possible, if you're awesome!

Log in or register to post comments