OXY NOTES

NexusFontが重い場合はWindows Font Cache Serviceを無効にしよう

世の中には魅力的なフォントがたくさんあります。
Windowsで新しくフォントを追加するには、システムにインストールする必要があります。
デザイナーや、フォント好きの方なら、フォントを100や200追加しているという方も多いと思います。
しかしフォントを大量にインストールすると、メモリ消費が多くなり、PCの動作が遅くなります。

そんな場合に最適なのがNexusFontです。
このソフトを使えば、必要なときにだけフォントを有効にすることができます。
ありがたいことに無料で利用できます。(有志による寄付は募っています)
NexusFontnの公式サイトよりダウンロードすることができます。

そんなありがたいNexusFontですが、Windows 10でフォントを読み込む際に時間がかかるという不具合が報告されています。
原因と解決法は確立しているので、簡単に対処できます。

実はダウンロードページに※で記載されているのですが、Windows 10 Anniversary Updateによって有効にされたWindows Font Cache Serviceというサービスが原因です。


Windows Font Cache Serviceの役割と効果

Windows Font Cache Serviceは、あらかじめシステムにインストールされたフォントをキャッシュすることで表示を高速化するサービスです。
通常であればWindows起動時に実行されるので意識しませんが、NexusFontで読込を行うと、1つ1つのフォントを読み込むたびにキャッシュ化処理を行うため、動作が重くなるということのようです。

無効にしたら動作が遅くなるんじゃないの?」と考える方もいるかも知れませんが、私の環境では全くと言っていいほどパフォーマンスの違いは感じられません。
そもそも日本語などの2バイトフォントは1セットだけでも数MBあるので全てのフォントをキャッシュするというのは現実的ではありません。そのため日本語環境下では現実的なサービスではないと思います。

また、今回の件とは直接関係ありませんが、日本語の縦書きを行う際にも不具合があるようです。2バイトフォントの環境とはあまり相性の良くないサービスのようです。


Windows Font Cache Serviceを無効にする方法

タスクバーの検索ボックス(Win + S)で「サービス」と入力すると項目が表示されるのでクリックします。

サービスのウィンドウでWindows Font Cache Service右クリックしてプロパティを選びます。

スタートアップの種類」で「無効」を選んで「OK」をクリック。

これでPCを再起動すれば無事に無効になります。
(サービスで実行中のWindows Font Cache Serviceを停止することもできます)

以上でNexusFontによるフォントの読込みは本来の速度に戻ります。