- 投稿: 2011年09月27日 23:01
- 更新: 2012年07月03日 13:56
- ソフトウェア
gnuplotでグラフを描こうと思ったら,超絶重くて困りました.確か過去にそんなツイートを見たなぁと思いまして・・・.
以前, @marriagetheorem さんだったと記憶しているんですが,gnuplotの初回グラフ描画が遅いのはフォントキャッシュがどうのこうの的なツイートをしていらしたような気がしていて,まさに今,それにはまっているなう.誰か教えてplz.
— 田中実(SCIS2013非公式アカウン)さん (@k4403) 9月 27, 2011
で.その情報を見つけました.
Gnuplotでグラフを出力するのにかなり時間がかかることがときどきある。plot sin(x)のようなものでも数分待たされる。
その理由がやっとわかった。
Gnuplotは、%TEMP%にfontconfigというフォルダを作成する(たとえばWindows 7のデフォルトではC:\Users\username\AppData\Local\Temp)。その中に(おそらくはフォント一覧の)データが残っていればそれを利用するためすぐ描画されるが、ない場合はこれを生成する時間が必要になる。
とのことで,めでたしめでたし.
これでは単なるコピペなので,ここからです.そうはいっても,%TEMP%のゴミは消したいです.特に,デフラグをかける前とかは,綺麗サッパリにしてから,やりたいです.そのためには,%TEMP%に消してはいけないものを置いておくなどという,テンポラリじゃないことはやめたいです.ではどうするか?別の場所にfontconfigは移動願いたい.
方法は比較的簡単です.gnuplot\binary\etc\fonts\fonts.confを開いて設定を変更します.手元の環境で具体例を述べますと,4.4.3の場合,71-74行目に以下のようなことが書かれています.
<!-- Font cache directory list --> <cachedir>WINDOWSTEMPDIR_FONTCONFIG_CACHE</cachedir> <cachedir>~/.fontconfig</cachedir>
推測ですが,複数書いてあると,上から順に検索して,見つけたキャッシュを使うんだと思います.んで,なければ最上位に作るんじゃないかと思います.ですので,%TEMP%じゃない場所に作られれば,僕は満足なので,2行を入れ替えるだけにしておきました.そうすることで,C:\Users\username\.fontconfig\が作成されるようになります.これを削除しなければ,表題の問題は起こらなくなります.よかったよかった.
- Newer: 放送大学5年生に進級しました
- Older: 北の丸公園の気象庁観測点