Astara Posted March 15, 2019 Share Posted March 15, 2019 I just timed it -- just starting up Affinity Photo -- almost all the time spent in reading fonts took 2minutes and 30 seconds. I don't know how photoshop managed to come up in less than 20 seconds and still have a font list ready to present, but certainly fonts aren't usually the first thing needed in editing photos. I have a relatively fast machine -- 8 cores (hyperthreading disabled), 96G of 2666Mz memory, all running off a RAID0 of 4 SSD's -- oh, and with a GTX 1080, yet it still took over 2 minutes just to read my fonts (have about 10k font files, Some are variations in a family some _MAY_ even be duplicates, though Windows weeds those out in presenting the fonts. Less useful might be only loading the fonts when one goes to access them -- the least disruptive would be them loading in a separate thread in background. When I was drawing, I tended to work in short spurts, but starting/stopping photoshop often because I might want to do some other memory intensive task and it would take (configurable) about 70G with history states and such. My larger drawings, I worked at around 7000x12000 and wouldshrink them down for sharing , but that allowed me to get finer detail. Anyway, the font stuff prevents me from using affinity much cuz by the time it has loaded the fonts, I'm on to something else. (sigh).... thanks... Astara Quote Link to comment Share on other sites More sharing options...
Staff Gabe Posted March 15, 2019 Staff Share Posted March 15, 2019 Hi @Astara, Welcome to the forums. I have moved this to feature requests as this is not a bug. Currently, we do not have a font manager. You might want to look into a 3rd party font manager if you're not using all those 10k fonts. Thanks, Gabe. Alfred 1 Quote Link to comment Share on other sites More sharing options...
Astara Posted March 15, 2019 Author Share Posted March 15, 2019 Um...I'm not using a font program for any thing else to function normally and read fonts in <30 seconds. That's the problem: most programs take less than 15 seconds to read in the font list and they only do it when I want to change the font -- not at program startup. Vim takes about 20 seconds, Windows < 10sec on Win7SP1x64. That Affinity Photo takes over 7 times longer than any other program and does it every time at startup, blocks use of the product. Anything that blocks using the product is a high severity bug. If other programs took that long, I would probably think I had too many font files, but the last time I had programs take that long on my fonts was under Windows XP over 15 years ago. Your attitude toward your customers is unfortunate. Quote Link to comment Share on other sites More sharing options...
Astara Posted February 22, 2021 Author Share Posted February 22, 2021 I noted in reviewing a trace @ startup due to another problem, that in reading in the fonts, 1) many or most were read in more than once, some more than 2 times. I don't know exactly why this is the case, I thought I knew, and thought man were links to others with one being a short name and another being a long name, but in examining the files more closely, out of 11082 files in the win font dir, 10353 were unique (729 files were links to another file). One source of many fonts -- many fonts come in different styles, as well as supporting different locales (most of those from pre unicode days). Windows will group those together which brings the total down to about 3900. 2) a file-system stat is done when each font is read in -- the fonts are on the same filesystem -- it only needs to be read once and the information could be cached. 3) the delay gets really bad when you start more than one serif/affinity at the same time (like designer and photo). 4) Isn't it possible to cache the font information in a more easily read format and update the cache if there are any new fonts or changes that have a more recent modification time than those in the cache? If all the font information was in 1 or a few large files, this would allow reading in all font information in very few I/O operations with the limiting factor being the storage device. 5) all fonts are read in sequentially. Even though reading the fonts is a cpu-bound activity, multiple CPUs idle while the fonts are processed one at a time. The highest I/O rate was 2MB/s on an SSD easily capable of over 400MB/s. Since font-processing time is heavily cpu bound, using multiple cores could really help. Combine parallel processing with doing it in background and the possibility of using a cached copy when fonts are unchanged, the potential for speedup is large. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.