「Pocket Mapple Digital Ver.10」の注意点

ここで泣かされていた新しい「Pocket Mapple Digital」ですが、なんとか解決しました(^.^)

症状は「激遅」で、半端な遅さではありませんでした。調べたところをまとめると、

1.軽量版、標準版、詳細版のどれもが遅い。容量にはあんまり関係しない。
2.荒い縮尺は問題無いが、細かい縮尺(青いやつ)で発生する。
3.放置すれば動くのでハングアップとは違うようだが、タイマーなども動かなくなる。

でした。3番はシステムコール内で遅くなっていると考えると理解できます。再インストールとか高速なSDにするとか、色々試しましたが、全く改善する気配がありませんでした。

アドエスでもエムワンでも発生するのだから深刻なバグに思えます。一方、WEBを探しても「激遅」らしい報告が無いし、開発側もこんなことを放置するとは思えません。しばらくはお手上げ状態だったんですが...

そのうちにふと気付いたのが、地図フォルダのファイル数が50000を超えていることです。最も細かい縮尺だけでも超えているようです。最初は「えらく多いなあ(*_*)」ぐらいだったんですけどね(^^ゞ

これと、システムコールが遅いみたいなことで思い出したのが、かめ吉が知っているファイルシステムは、ファイル数が多い時にファイルをオープンするのに時間がかかることです。

CP/MやFAT、LINUXのEFSなぞは、オープンするファイルを見つけるためにフォルダ内で先頭から丹念にファイル名サーチをします。EFS系統はまだましですが、FATは1エントリが32バイトで、これを次々に探さなければなりません。50000を超えると、読み込む容量は2MB近くになるでしょう。

地図ソフトなので、いくつもファイルをオープンすると思います。特に細かい場合はそうです。オープンするたびにほぼ2MBのファイルアクセスが発生します。また、このように先頭から探すような連続的なファイルアクセスだと、半端なキャッシュは全く役に立ちません。フォルダ全体がキャッシュに入らないとだめです。

かめ吉の設定ではファイルキャッシュをアドエスもエムワンも2MBにしていました。これが元凶です。貧乏性なのでRAMを惜しんだのでしょう(-_-;)

Ver.9からVer.10でファイル数が増え、ファイルキャッシュが2MBでは足りなくなったんでしょう。そもそもが微妙だったわけです(^^ゞ

今までの経験からRAMにはまだまだ余裕があります。なのでアドエスは8MBに、エムワンは地図専用機でもかまわないつもりで16MBに設定しました。

このおかげではるかに快適になりました。一番縮尺が細かいものでもGPSトラックが可能になりました。Ver.9より遅い気もしますが、詳細版には、なんと、かめ吉の自宅やかめ子の実家、かめ吉の実家まで判別できます。とても気に入ってます(^.^)

実は自宅を登録する時に路地を一本間違えて、別の家になっているのを昨日かめ子にデモしていて気がついたんですけどね。使う側がこうでは宝の持ち腐れですね(^^ゞ