[HN Gopher] Too many fonts in Windows 10 can cause slow applicat...
___________________________________________________________________
Too many fonts in Windows 10 can cause slow application starts
Author : todsacerdoti
Score : 102 points
Date : 2023-08-17 17:22 UTC (5 hours ago)
(HTM) web link (bigdanzblog.wordpress.com)
(TXT) w3m dump (bigdanzblog.wordpress.com)
| naikrovek wrote:
| ah I love it when people complain about windows when the problem
| is actually their specific use.
|
| Windows implements many stupid ideas, don't get me wrong. it is
| not a perfect OS.
|
| every day at work I help people with problems on Windows and in
| about 19/20 cases the cause is self-inflicted. the things they
| used to do in Windows XP or Windows 7 just don't work the same
| way anymore, and often cause problems.
|
| but they just say "Windows sucks" anyway and no one challenges
| what they're doing until they come needing help with something.
| WesolyKubeczek wrote:
| I would like some brave soul, a Lennart Pottering's spiritual
| successor of sorts, to write a drop-in, ABI-compatible
| replacement for fontconfig/libfontconfig, maybe some kind of a
| "fontd", that would enumerate fonts in the system once (maybe per
| login) and applications wouldn't have to reinitialize all the
| crap all over again each time they start, but instead connect
| over a socket and get the information from a centralized place.
|
| It would also solve the problem that half of your applications
| need to be restarted whenever you install a new font, or they
| just won't see it appear. And where they have hacks implemented
| to overcome that, that _every_ bloody application has to query
| available fonts again, which makes it quite tedious for the
| system once you have lots of fonts and lots of applications open,
| even if your machine is beefy enough.
|
| It wouldn't solve a problem of pathetic whiners who desperately
| cling to the old ways who will come in droves to complain on HN
| and LWN, but then again, nothing is ever new under the sun.
| nottorp wrote:
| >It wouldn't solve a problem of pathetic whiners who
| desperately cling to the old ways who will come in droves to
| complain on HN and LWN, but then again, nothing is ever new
| under the sun.
|
| Thank you for this cue.
|
| I doubt it would be a library, maybe 5 different daemons
| working together to complicate things.
| tempodox wrote:
| I'd fully believe you if you said that an inopportune moon phase
| can cause something in Windows. Or my cat passing my desk in
| opposition to the Earth's magnetic field. I don't want to know
| what happens when both coincide.
| idonotknowwhy wrote:
| There's the thing where you can make certain monitors lose the
| signal by sitting down on certain gas lift chairs with
| unshielded hdmi or dp cables.
| mrguyorama wrote:
| Which has zero to do with Windows? Yeah, Windows is also
| vulnerable to being smashed with a hammer, stupid microsoft.
| causi wrote:
| I truly don't understand why anyone would write a program that
| needs to read any font in your system other than the one(s) it
| actually uses. The number of times I've stared in utter fucking
| bewilderment as VLC or some other video program churns for a full
| minute over what cannot be more than a few megabytes of data to
| build a font cache is outrageous.
| sedatk wrote:
| The title is a bit misleading; Windows had nothing to do with
| this. This is just an application (Quicken) doing a slow thing at
| startup getting slower when the number of things that it does the
| thing on increases. That's just a slow app.
|
| An app should never go over all fonts on a system in a blocking
| fashion.
|
| The number of fonts on the system should never affect app
| performance.
| FirmwareBurner wrote:
| _> Windows had nothing to do with this. _
|
| But then how would the title clickbait itself to the top of HN?
| hyperman1 wrote:
| Idk if still true, but in XP or 7 you could temporarily install a
| font by opening it in the font preview with double click.
|
| Even if in the wrong folder, every newly started application used
| the font as if it was installed correctly. Close the preview and
| the font disappeared again.
| cosmotic wrote:
| This is not a Windows problem, this is an application problem,
| specifically Quicken. The software is likely pre-rendering all
| the font previews so the dropdown that shows the fonts opens
| instantly. This is probably something that Quicken has done for
| decades and no one thought 'hey, no one changes fonts, this is
| pointless to do on startup'.
| arsome wrote:
| Anyone try running a profiler on this yet? Seems like something
| that could be patched by a 3rd party tool even.
| crazygringo wrote:
| [deleted, never mind -- I think cloud fonts are already more
| popular than I thought]
| jhardy54 wrote:
| /s?
| jwells89 wrote:
| For that to work with paid fonts DRM would likely be involved
| though, and more DRM is never a good thing. Doubly so if app
| vendors aren't happy using the OS provided facilities, instead
| wanting users to use their own, and decide to embed said DRM in
| your personal documents.
|
| There are also situations where fonts might be needed while
| offline, which despite the seemingly ubiquitous nature internet
| connections today is more common than one might think. It'd
| also mean forced decommissioning of the various ancient
| machines still hanging around in places like print shops that
| handle newly made TrueType fonts just fine.
| gumballindie wrote:
| Yeah best way to solve this issue is to install linux. It's
| simply amazing how stable it is, and well suited for desktop use.
| If you absolutely must use windows, then install it inside a VM
| for office tools. Can't believe how much better the UI looks in
| linux (kde in my case, but so do other WMs), stable the overall
| system is, and how good it feels to finally not pay a corporation
| to spy on me.
| yoyopa wrote:
| there are things called applications people use to do stuff...
| many of which are not available on linux
| notatoad wrote:
| and one of those applications that isn't available for linux
| is quicken.
|
| if you're having a problem with an app, switching to an
| operating system that doesn't support that app at all is
| certainly one way to solve it.
| gumballindie wrote:
| Interesting, two people raising issues with quicken in the
| same thread. What are the odds. If you absolutely must run
| that app then use windows for that app. No one's saying you
| shouldnt use the best tool for the task at hand, quite the
| contrary. Although i am curious if quicken would run well
| in wine. It would def run well inside a vm.
| ddtaylor wrote:
| I have done this on Linux where my different WINE prefixes
| (like the ones managed by Bottles) can have different
| configurations. My gaming profile for example has none of the
| libraries or fonts needed to run Photoshop, etc.
| zer8k wrote:
| Linux DISTRIBUTIONS have their own set of problems. There are a
| lot of reasons to run Windows that aren't games. For example,
| the level of support you get for server-based stuff is very
| nice as a corporation. It's also more consistent. No, I don't
| mean "correct" all the time. I mean with Windows things fail
| consistently (well...except for drivers) and things work
| consistently. It's far more polished.
|
| As a Linux daily driver it's not hard to see the benefits of
| Windows over a popular Linux distribution. You may be able to
| close the gap with a (rather expensive) support contract but at
| that point you also may have been better off with Windows.
| Using a Linux distribution is often a time commitment and
| change of philosophy. I, like you, are willing to make the
| trade.
|
| I notice this opinion (that Windows is terrible) to be
| particularly pervasive among the tech literate but
| inexperienced. There is an entire contingent of the US alone
| (probably 80%) that is completely and fully served by a simple,
| easy to manage, easy to use Windows installation. If you've
| never tried to get your parents to use Linux even Ubuntu is
| often asking too much (though its getting better). That's not
| their fault. Once again, switching to the Linux Way (TM) is a
| _lifestyle_. Just your example alone (the UI is cleaner) can
| diverge into something almost worth an entire collegiate
| degree. It 's only recently with snaps that Ubuntu and Co. have
| approached a degree of usability that might constitute 0.5% or
| less more uptake.
|
| Perhaps for your use case Windows sucks. But having recently
| ported off Ubuntu LTS to the latest and greatest I can tell you
| that it was _miserable_. There 's nothing quite like repeatedly
| crashing to a tty and having to parse boot logs to figure out
| what screwed up. It's a suffering I am willing to do both for
| the philosophy of Linux and the benefits I get. The further
| away from "consumer" Linux distributions you get the graph of
| difficulty goes hockey-stick real fast.
|
| Let's not pretend Windows is useless spyware. It is nasty stuff
| for privacy but it is certainly not pointless.
| gumballindie wrote:
| Using windows for servers is plain wrong and usually reserved
| for the inexperienced, and you stating the opposite is just a
| projection. The only issue in linux is with proprietary
| software that microsoft intentionally limits to its own os.
| mrguyorama wrote:
| Lol, I put Windows Server 2012 on an old laptop over a
| decade ago and basically never had to touch it until it
| goes EOL soon. Remote management was RDP.
|
| Windows Server is great if you don't want a second job as a
| SysAdmin
|
| >The only issue in linux is with proprietary software that
| microsoft intentionally limits to its own os.
|
| Ah yes, quicken is Windows only because Microsoft is paying
| them under the table, and has nothing to do with the six
| users you will have on a linux system bitching and moaning
| about every product decision you have made because it
| doesn't work in their extremely niche windowing manager
| that they swear by because they want to look like a
| hollywood hacker. Meanwhile the only stable API on linux
| for enterprise software is Win32, because expecting every
| user who's just trying to do their damn job learn how to
| administrate a Linux system that still pretends we live in
| the 60s and text only terminals are the way of the future
| is absurd.
| gumballindie wrote:
| Sorry, but this makes absolutely no sense.
| Dwedit wrote:
| Some programs (such as WordPad) use a fancy combo box to select
| fonts. They draw each font name in the font itself. That requires
| loading and rendering with each font just so it can be displayed
| for the preview. WordPad isn't preloading fonts at boot time
| though. It does the slow thing where it loads up every font when
| you open the combobox.
| nitwit005 wrote:
| I was wondering why they would load all the fonts, and this
| seems like a reasonable answer.
| layer8 wrote:
| In principle, this could be implemented by only fully loading
| the font once you scroll to it in the combobox's viewport.
|
| Partial preprocessing might be needed, however, in order to
| extract the proper font names for sorting and autocomplete.
| smileybarry wrote:
| That's pretty much what Office does anyway; it doesn't pre-
| render previews for the whole list but does that when fonts
| scroll into view.
| themodelplumber wrote:
| I seem to remember that both LO and Inkscape and possibly GIMP
| had bugs (since resolved IIRC) that involved this exact thing.
| bena wrote:
| To be fair, that's how they should be displayed. I don't select
| a font based on its name, I select it based on its look.
| _jal wrote:
| Professional designers, on the other hand, need to care not
| just about typeface and foundry, but also about the exact
| version of fonts.
|
| Back when magazines weren't nearly dead, I did production for
| a few years. The very first issue I worked on, I screwed up
| an ad by using a newer version of the font - the leading
| tables were different and a text block wrapped when it
| shouldn't have, so the advertiser got a couple free runs.
|
| Always turned off rendering in lists and menus where I could,
| because it was not useful, slow, and harder to read.
| dylan604 wrote:
| I think this update to the fonts list was from some PHB
| instead of being requests from users. Some manager decided
| that the UI needed to be updated and tweaked because it was
| working, and we can't just let that happen
| kstrauser wrote:
| Same, but the software could:
|
| 1. Optimize for rendering the on-screen fonts first, then
| fill in the rest after the user's starting looking at them.
|
| 2. Cache the preview. If it takes longer to render the sample
| text than to load a png, save the rendering so you can load
| it again next time.
| Clamchop wrote:
| I think for this to be generally effective for Windows
| software, developers on the whole not being consistent or
| wanting to invest the effort in little bits of polish like
| that, they would need an API into a system-wide
| implementation.
|
| Which they could do, but it would take forever to see
| adoption in Windows culture, and Microsoft evidently
| cannot, just cannot, get their UI shit together.
| dclowd9901 wrote:
| It's such a common idiom that fonts should have some kind
| of optimized "header" or something that can make it
| previewable but quick
| dylan604 wrote:
| To be fair, I don't care what the name of the font looks like
| in the font itself. I want to see the text I have selected
| updated with the font selected in the list.
| bena wrote:
| Ultimately, yes, that's what I want to see. But "Garamond"
| in the blind tells me nothing about how that will make my
| text look. So if I can see it before rendering all of my
| text in it, that's not unwelcome.
| m2fkxy wrote:
| well it also works this way.
| dylan604 wrote:
| well, this is how it should work. this "new" showing the
| name of the font in the font in the list is reeks from
| someone that had an idea, developed, tested on a system
| with standard fonts installed, AKA a small number of
| fonts, compared to someone that has a long list of fonts.
| Some PHB accepted it, and it got deployed only to be met
| by the crushing realities of users large set of installed
| fonts.
| layer8 wrote:
| Two problems are that (1) the font name isn't always very
| suitable to give a good impression of the font, and (2) for
| some fonts (symbol fonts, very ornate fonts, very small
| fonts) it can make the font name unreadable.
|
| A better solution for the use-case of selecting fonts by
| looks is a dedicated font selection dialog that shows both
| the font name and a customizable example text in the font,
| and also lets you control the font size and variant (bold,
| italic). Some applications do exactly that.
| greentext wrote:
| How do people still use Windows?
|
| Windows 7 was great, but after that it felt like someone scraped
| together bloat, telemetry and spyware and called it "Windows".
| vb6sp6 wrote:
| [dead]
| quietbritishjim wrote:
| Given that Windows 3.1 and Windows 95 suffered from this exact
| problem, I doubt that Windows 7 was some Utopia where it
| briefly disappeared.
| caiomassan wrote:
| games and poker.
| Narishma wrote:
| Why poker?
| Minor49er wrote:
| Because he forgot the name Solitaire
| partiallypro wrote:
| For starters, this has nothing to do with Windows. Windows 10
| and 11 are both objectively better than 7. Even Mac people
| clamor for certain older versions of MacOS, but if they were
| actually forced to go back would immediately balk.
| RajT88 wrote:
| I quite like Win10 actually. It was what got me to finally
| switch off 7.
|
| 11 I hated, until it fixed its weird breakages and
| compatibility issues. And of course after switching everything
| around to look and function just like 10.
|
| But Windows apps (let's be clear this is more an app problem
| than an OS problem) are filled with dumb shit like this. I have
| had many app performance issues where ProcMon shows a high
| number of IO operations against files, folders, registry, etc.
| Part of this is due to Windows Installer advertisement, which
| can inject this behavior into an application!
|
| https://learn.microsoft.com/en-us/windows/win32/msi/platform...
|
| (How does this happen? When an advertised entrypoint is invoked
| - shortcut, COM interface, file extension association, a few
| other things), there's 'Darwin Code' injected into the registry
| which causes an evaluation of *.msi packages installed which
| have that advertised entrypoint registered. It checks to see if
| any components are broken by checking the keypaths (keypaths
| could be files, folders, registry entries).
|
| If you have an application invoking COM Interfaces many times a
| second, it's going to inject a bunch of IO ops to each time
| check all the components installed. I've seen apps when
| repackaged from an *.exe install into an *.msi slow down to a
| crawl (until you rebuild them with self-registration instead of
| using the MSI advertised tables).
| mrguyorama wrote:
| It's also because Windows after 8ish seem to just assume
| everyone has an SSD and small file ops are "fast enough" to
| not care about and sure just throw blocking IO into the hot
| loop nobody cares. NTFS isn't even fast on many small file
| IOPs but MS don't care, because all their machines have big
| SSDs and they fired their QA anyway.
|
| What are you going to do, install linux? Then you get to
| enjoy your package manager deleting your windowing
| environment when you try to install Steam because of some
| stupid overlooked thing. You can't even click a single button
| to roll back your install to a previous known good condition,
| like Windows has had since like 2000.
| RajT88 wrote:
| > It's also because Windows after 8ish seem to just assume
| everyone has an SSD and small file ops are "fast enough" to
| not care about and sure just throw blocking IO into the hot
| loop nobody cares.
|
| I haven't had this issue, strangely. These days all my OS's
| are on SSD's though. But that was not the case when I first
| moved over to Win10 for my gaming PC and work both.
|
| The shenanigans with windows updates though... I am
| convinced that there's something in the OS to intentionally
| cause strange behavior when updates are pending as a way of
| incentivizing you to reboot. This didn't used to happen. I
| haven't yet made the time to properly study it, because
| it's always at a moment where I have more important things
| to do.
| jdthedisciple wrote:
| Just tells you how much the freedom to do anything you want (in
| a _non-convulted_ way) is worth.
| rqtwteye wrote:
| A lot of apps run only on Windows (and maybe Mac if you are
| lucky).
| forrestthewoods wrote:
| I use Windows every day at home and work. It's far from
| perfect.
|
| Linux, in my personal experience, requires faaaaaaar more
| debugging and tinkering and configuring. A full order of
| magnitude more time spent at least. This time is reduced if
| you've been using and configuring Linux boxes for 20 years.
| YMMV.
|
| Now if you _want_ to configure every little thing maybe that's
| a good thing. If you want your computer to work consistently
| and without tinkering it's maybe a bad thing.
|
| And Windows + Visual Studio is still the best debugging
| experience for native code.
| 3836293648 wrote:
| I have never heard anyone say anything good about the Visual
| Studio debugger before. Now, I'm not a Windows person but I'm
| not gonna argue for gdb or lldb here. RemedyBG and x64dbg are
| the two debuggers I've heard good things about though I've
| never used them because, again, not a Windows person.
|
| [1] https://remedybg.handmade.network/
|
| [2] https://x64dbg.com/
| not_alexb wrote:
| I've been using Linux for around 20 years, but I hate
| configuring things these days. It's possible to buy machines
| that require zero configuration on the user's part; most of
| my thinkpads over the past 5 or 7 years didn't need an iota
| of configuration
| unsignedint wrote:
| From my perspective, Linux works wonderfully when everything
| runs smoothly, especially for desktop use. However, when
| issues arise, I often find myself delving into extensive
| documentation. I frequently encounter minor usability issues,
| which might be amplified for me since I use Japanese input,
| which has its quirks. Additionally, I've faced more
| significant problems with nearly every major upgrade.
|
| While Windows isn't without its flaws and has had its share
| of problematic updates, it generally feels more stable during
| routine updates compared to Linux.
|
| Linux does offer better recovery options when things go awry.
| In contrast, troubleshooting on Windows can be challenging.
| Nonetheless, I find the recent versions of Windows to be more
| user-friendly than Linux desktops. Plus, with the addition of
| WSL, I can run Linux applications -- including those with a
| GUI -- when needed.
| npteljes wrote:
| Well, I just use it and that's it. I need it for my multiplayer
| games for their anti-cheat. I also make compromises in other
| areas of life.
| ErneX wrote:
| Designers use font managers not only to help them organise the
| fonts per project, find duplicates etc. But also for performance
| by only activating the ones you need.
| themodelplumber wrote:
| Wild to think that these have been a thing since at least the
| '90s. And fonts keep getting so much more complex, so there's
| basically always a reason to use one, if you use different
| fonts for your daily work for example.
|
| Even so, desktop font management tools seem like they've always
| been these third-party tools; you don't have closer integration
| in the desktop space of memory-saving features even close to
| what browser devs work on. Like more clearly managing browser
| tab (font) resources dynamically when not in use / not likely
| to be used anytime soon.
| ErneX wrote:
| macOS comes with Font Book, it's not as sophisticated as the
| 3rd party ones but it's usable.
| cptskippy wrote:
| Windows 10 allows you to install Fonts per user or system wide.
| That local directory is what's being identified in this blog
| post. It's a non-sequitur.
|
| Having too many fonts can cause performance regressions in
| software but it's not Window's fault. Those apps generate a font
| cache for their UI to make it easier to select a font. Depending
| on how that's implemented it can be slow to generate.
|
| I don't see anything in this blog post to indicate the offending
| Apps are using a native Windows UI for displaying fonts that is
| performing poorly.
|
| This is like complaining that searching is slow when you have too
| many files on your HDD.
| babypuncher wrote:
| Perhaps they should consider saving that font cache to the disk
| so you only need to add new fonts to it on startup.
| cptskippy wrote:
| Again, that's application specific implementation details and
| not a Windows problem.
| SushiHippie wrote:
| Windows could provide an API that has a font cache, which
| other programs can use to quickly get all fonts if they
| need to.
|
| Linux for example has fontconfig with a metadata cache "fc-
| cache" https://man.archlinux.org/man/fc-cache.1.en
| jwells89 wrote:
| Furthermore, ideally shouldn't font caching be offloaded to a
| background thread and performed _after_ startup? That seems
| like the best way to handle the issue with the only user impact
| being a briefly disabled font chooser.
|
| That said I could totally see tangled balls of mud and
| spaghetti like Photoshop requiring synchronous font caching to
| function.
| gwern wrote:
| 900 fonts doesn't sound like a lot to do any kind of processing
| on - certainly not anything that should drive you berserk and
| spend man-weeks debugging and working around. So that suggests
| there's something 'accidentally quadratic' going on.
| KerrAvon wrote:
| Fonts are not trivial to parse; 900 fonts also isn't a lot in a
| professional environment. If you're looking at every font every
| app launch it's definitely a problem in itself.
| chazeon wrote:
| Back in the day, VLC or LaTeX used to use fc-cache to rebuild its
| font catalog when you installed some new font, and it could take
| quite some time if you have a lot of fonts installed. I wonder if
| Quicken uses something similar.
| Dwedit wrote:
| Gimp also used to rebuild the font cache every time you started
| it. They eventually fixed it.
| jsmith99 wrote:
| If you have lots of fonts I recommend a font manager. FontBase is
| free and a great app. Instead of installing your fonts you just
| activate them in FontBase when you want them. Most professional
| programs will recognise them immediately without needing a
| restart.
| 1-6 wrote:
| Working at a sign shop out of college in the 2000's, Corel Draw,
| Photoshop, or Illustrator would take enormous amounts of time to
| start.
|
| After a while, I used a font utility to selectively choose which
| fonts to load up and hide the rest from the OS. I would have
| thought MS would have fixed this by now.
| c0nsumer wrote:
| This isn't a Windows problem. This is an app problem, and in
| this post's case, Quicken. Quicken is looking to where Windows
| keeps fonts and, on every startup, accessing all of them.
|
| Windows doesn't tell the app to do this, the app is choosing to
| do so. And if not fonts, it could be something else. (I've seen
| a homegrown enterprise app that would go weird if there was too
| much stuff in C:\Temp because it used it and scanned the WHOLE
| THING on startup for its stuff. Again, even though C:\Temp is a
| Windows folder, this is an app issue.)
| oktwtf wrote:
| This was absolutely an issue back as far as XP with apps like 3D
| Studio Max. I remember starting to use Font management software
| to keep the installed system lean and manageable.
|
| I'm also talking about a few thousand font types/variants. I did
| typesetting and required many for compatibility with ingesting
| content.
| timcobb wrote:
| Came here to say this. Maybe even 98 or ME... having lots of
| fonts installed really stalled a lot of UI interactions...
| Gualdrapo wrote:
| Fontconfig in Linux (and maybe in everything that uses it) lets
| you do some cool things as _disabling_ fonts, rather than
| uninstall them. I found this trick somewhere several years ago
| (and shared it the other day on reddit) but am still using
| against the Noto font family that is required by some programs,
| so they won 't show up nor clog the font selection dialogs.
|
| Just putting something like
|
| <?xml version='1.0'?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
| <selectfont> <rejectfont> <glob>/usr/share/fonts/noto/*</glob>
| </rejectfont> </selectfont>
|
| in any new file under /etc/fonts/conf.d/ will do the trick.
| jraph wrote:
| I'm curious, why do you block the Noto fonts?
| [deleted]
| chazeon wrote:
| Back in the day, VLC or LaTeX used to use fc-cache to rebuild its
| font catalog when you installed some new font, and it could take
| quite some time if you have a lot of fonts installed. I wonder if
| Quicken does something similar.
| CodesInChaos wrote:
| I never understood why a media player needs to enumerate all
| fonts and cache information about them.
| magios wrote:
| iirc, to utilize the fontconfig font name matching system to
| determine if a particular font for say, subtitles, matches.
| notorandit wrote:
| Yes, because in the XXI century we are still loading in memory
| all the "needed"(tm) assets, as CPU and disks are really slow...
| shove wrote:
| "In Windows 10" lol Go ask your favorite graphic designer if this
| sounds familiar regardless of OS platform or version.
| [deleted]
| bitwize wrote:
| Ah, the problems of Mac users in the 90s, biting us fresh on the
| ass today! Didn't products like Extensis Suitcase help with
| issues like this?
___________________________________________________________________
(page generated 2023-08-17 23:02 UTC)