snowie2000 / mactype

Better font rendering for Windows.
https://mactype.net
GNU General Public License v3.0
10.09k stars 443 forks source link

MacType rendering is super slow? #914

Open LoganDark opened 1 year ago

LoganDark commented 1 year ago

Without MacType installed, scrolling lists in apps like Task Manager or Explorer is super fast. But with it installed, scrolling lists becomes super slow!

Here is a video demonstration:

https://user-images.githubusercontent.com/4723091/211162680-0884002f-8843-4ed1-85a1-502bb3eb40b2.mp4

LoganDark commented 1 year ago

Some programs have it worse than others. RealWorld Paint is extremely slow and flickery, and it's just a simple Win32 app from over a decade ago. It has no business being this slow given the fact that it was designed for Windows 2000.

Without MacType:

https://user-images.githubusercontent.com/4723091/214996470-5a191f52-c36c-4a7e-b0cd-a484ee42e5f0.mp4

With MacType:

https://user-images.githubusercontent.com/4723091/214996453-e1571e5a-5106-4b0c-b4bb-4f4fc4d4114e.mp4

Without MacType:

https://user-images.githubusercontent.com/4723091/214996786-a7a486b3-fedb-4de8-a93c-4c9fdbaeac2e.mp4

With MacType:

https://user-images.githubusercontent.com/4723091/214997004-73285999-bbd1-45d7-82ae-90c9c0b2f893.mp4

This is insane. do you know why MacType is so much slower than the vanilla Windows rendering? is there any way to make it faster?

snowie2000 commented 1 year ago

I think it's that the application is loading all types of fonts for preview purposes and it will lag because mactype(freetype) needs to load that font as well along with Windows. Other than that, I didn't see any problem.

https://user-images.githubusercontent.com/11767189/215253333-22489861-0c95-4d32-8f0d-a2908d8531f6.mp4

LoganDark commented 1 year ago

I think it's that the application is loading all types of fonts for preview purposes and it will lag because mactype(freetype) needs to load that font as well along with Windows. Other than that, I didn't see any problem.

The text tool isn't even selected in the first two recordings, in the second two, the rest of the app still has terrible lag and slowness, so this is not "loading".

Unless mactype loads a font from scratch every time it is asked to draw something (?!?!)

snowie2000 commented 1 year ago

Mactype only loads font on demand, and one font will be loaded only once per-app-run.

It's weird that the fonts in your recording look even worse with mactype...

LoganDark commented 1 year ago

It's weird that the fonts in your recording look even worse with mactype...

There's a font substitution (Inter), but this same issue occurs on my other computer without the substitution

snowie2000 commented 1 year ago

The only thing that your system differs from mine is that you're using an HiDPI monitor.

Maybe you could try to put ClipBoxFix=0 under the experimental section?

LoganDark commented 1 year ago

The only thing that your system differs from mine is that you're using an HiDPI monitor.

Maybe you could try to put ClipBoxFix=0 under the experimental section?

This doesn't affect performance at all (just tested it)

snowie2000 commented 1 year ago

Then my only hypothesis is that you have installed a font/some fonts which are somewhat incompatible with freetype and render super slowly. When you do something with the realworld paint, it loads the font in the background for some reason and slow down the whole program.

snowie2000 commented 1 year ago

As you can see, on my system, RWPaint is quite clean. It only loads very basic and common fonts on canvas creation and everything is just smooth without hiccups.

https://user-images.githubusercontent.com/11767189/215376569-9ac96936-986c-4cdd-ad6e-6b259cba5db7.mp4

ghost commented 1 year ago

I love MacType abd this, just broke down my heart Situation is terrible in emacs

LoganDark commented 1 year ago

As you can see, on my system, RWPaint is quite clean. It only loads very basic and common fonts on canvas creation and everything is just smooth without hiccups.

This is weird, how in the world is yours so fast?

What installation method are you using?