Stellarium 不具合対策

フリーのプラネタリウムソフトである Stellarium 0.10.0 beta を使っているのですが、ちょっと、いや、シビアな不具合があって困っていました。それは、

  • CPU を占有しすぎて、タスクマネージャの操作すら困難になる
  • フルスクリーンモードで動かすと、Ctrl-Tab によるタスク切替がおかしくなる

というものです。これらの対策を考えました。
前者に関しては、プロセスの Base Priority を下げれば良いのですが、起動時に初めからプライオリティを設定する方法が不明です。一度立ち上がってから変更しようとすると、タスクマネージャすら重くてまともに操作できないので、困難な作業になります。つまり、Unix でいうところの nice コマンドが欲しいのですが、ネットでいろいろ調べても、renice の方法は見つかるのに、nice が分かりませんでした。しようがないので、Cygwin の nice コマンドを拝借することにしました。
まず、こんなバッチファイルを書きます。

c:
cd "\Program Files\Stellarium"
c:\cygwin\bin\nice -18 stellarium.exe --full-screen no

ドライブ名やパス名は、御自分の環境に合わせて変更してください。これを、hogehoge.bat としたとき、スタートメニューから実行されるエイリアスで、このバッチファイル hogehoge.bat を起動するように設定すれば OK です。ついでに、DOS 窓ウィンドウのサイズを Minimized (最小化)にしておけば、マッチベターです。
もう一つの問題は、Stellarium をフルスクリーンで起動すると、Ctrl-Tab によるタスク切替がおかしくなることです。どうも、Stellarium の FAQ にも記述されている問題に該当すると思われるのですが、Windows XP のバグに原因があるということだけ説明して、問題から逃げているように思います。確かに XP のバグなのかも知れませんが、ちょっと対応を間違えているような気がします。
このワークアラウンド(回避策)ですが、一番確実なのはフルスクリーンモードを使わないことです。上記バッチファイルでは、コマンドオプションでこれに対応しています。しかし、人にプレゼンテーションとして見せるときなど、フルスクリーンモードを使いたいのが人情です。以下に経験則を、いわゆる TIPS としてまとめておきます。

  1. フルスクリーンモードでは、Ctrl-Tab を操作しない :)
  2. 万が一 Ctrl-Tab で画面がおかしくなってしまった場合は、慌てずにマウスカーソルをタスクバー(通常、画面の最下部)に持っていきます。そうすると、時折、画面点滅の中に Stellarium のタスク表示が現れるのが見つかるでしょう。これが 2つみえる場合は、大抵後者(右側)のほうです。見えたら、それをクリックすると、制御が Stellarium に戻ってきます。そしたら、Ctrl-Q で終了するか、あるいは慌てずに F11 キーでウィンドウモードに切り替えれば、制御を取り戻せます。

これで(少し)安心して、Stellarium を使うことができるようになりました。もしかすると、ノート PC の液晶モニタ固有の問題なのかも知れませんが、ThinkPad T42 でも Dell Latitude D610 でも発生する問題なので、同様の問題に困っている方の参考になれば幸いです。