Jeroblo
RSS

Mamba vs Imperator vs Naga センサー編

2010 年 8 月 8 日 16:47 4 コメント 8,515 views

この比較企画も2回目になりました。今回は全てのマウスに搭載されている「3.5G Laser Sensor」の挙動について調べていきます。センサー編を読む前段階として、今回の検証に使用した各マウスのファームウェアとドライバのバージョンを紹介しておきます。なお、全ての検証において使用したマウスパッドは同じRazerの「Goliathus Speed Edition」になります。

ファームウェア ドライバ 設定値
Mamba 1.06 1.07 DPI 1000 Rate all
Naga 1.13 2.03 DPI 1000 Rate all
Imperator 1.13 / 1.04 1.01 DPI 1000 Rate all

DynamicDPIScaling

Razerの「3.5G Laser Sensor」搭載マウスは、高いDPIが強みのひとつとなっていますが、そのおかげで逆に細かい動きを検出しすぎてしまうという問題があります。その問題を改善するため、最新のファームウェアでは「DynamicDPIScaling」(以下DPIスケーリング)というアルゴリズムが採用されてていて、これは簡単に言うと、動き出しにおいてマウスがキャッチした細かい動きをマスクするというようなもので、これにより、クリックなどでマウスを動かすつもりがないのに微動してしまう現象を防いでいます。

一見、なかなか良いアルゴリズムにも思えるのですが、よく良く考えてみると、センサーの移動検出をマスクしてしまうということは、物理的に同じ移動量であっても、状況によってはセンサーが移動を検出する量が違うということです。これは普段加速を切ってプレイしているプレイヤーにとっては致命的な問題と成り得ます。

以上のことを念頭に置きつつ、各マウスを見ていきたいと思います。

DPIスケーリング採用or非採用

それでは、実際に各マウスのファームウェアがDPIスケーリングを採用しているのか否かの調査結果を示します。

52ea7c74-8fe1-4e7e-8e27-bf5e07ab03a6

画像だけ見ても何が何だかわからないと思いますので、この測定の方法と趣旨を説明します。(全てDPI1000/Rate500Hzでの結果です)

まず、赤い線画基準線と考えてください。そこにうまくポインタを合わせます。次に、低速で右に、物理的に1cm動かします(マウスパッドの柄で判断しているのでほぼ全て同じ移動量です)。そして、通常用途程の速度で開始点に戻します。普通であれば、物理的な移動量は変わりませんので、赤い基準線のそばまで戻るはずですね。

結果は一目瞭然ですが、Naga、ImperatorについてはDPIスケーリング採用のファームウェアということが言えます。明らかに往路と復路に移動差が発生しています。センサーの検出量で言うと低速時は約半分に落ちています。ついでに言うと、Naga、Imperatorの復路の移動検出距離と、Mambaの往復の移動距離がそれぞれほぼ等しい長さですので、復路については問題ないことが確認できますね。

ここで忘れてはならないことが1つ。Mambaも同じバージョン1.13のファームウェアはDPIスケーリングを搭載しています。ですから私は1.06からファームウェアを更新していないのですが、それでは、Naga、Imperatorも過去のファームウェアであれば非搭載なのではないかと思いますよね。なので早速試してみました。Imperatorについては1.04、Nagaについてはオフィシャルでは既に1.13しか配布していないので手に入れることができませんでした。

f8a9b943-634e-4043-9b1f-44a2223dc5c4

2本とも同じ測定方法でのImperator1.04での結果です。Imperatorの場合、なんと1.04においてもDPIスケーリングを搭載しているような挙動を示しました。要するに、NagaとImperatorは現在のところDPIスケーリングを採用したファームウェアでしか利用できないということです。これは大きな欠点です。NagaやImperatorはMambaとは形状面でうまく住み分けが出来ているだけに、非常に残念な結果となりました。

クリックぶれ

先の結果により、NagaとImperatorはDPIスケーリング搭載ということがわかりました。ではその恩恵はあるのか?という調査をするにはクリックぶれを確かめるのが一番良いでしょう。

dot

上の画像は、ペイントにて1×1の鉛筆ツールを選択し、各マウスで100回クリックした結果を4倍にしたものです。確かにMambaと比べるとブレが少なくなっていますが0ではありません。各点を数えるとわかりますが、Mambaが30倍、Nagaが4倍、Imperatorが5倍の微動範囲という結果が得られました。確かにDPIスケーリングの恩恵はあるようです。

Nagaのソールの出来が良いので、是非、DPIスケーリング非搭載のファームウェアにて、ぶれの比較検証を行ないたかったのですが、非搭載のファームウェアを手に入れることができないため、今回は検証しておりません。

ポーリングレート

ポーリングレートは、センサーというよりマウス自体の挙動に入る部類のお話ですが、面白い結果が得られましたのでここで紹介したいと思います。

image 今回、ポーリングレートやセンサーからの移動量を調べるにあたって、調度良いソフトが無かったので、DirectInputからのイベントを取得し、ログに残せる「MouseTracker」というショボイなソフトを作ってみました(3時間程度なので本当にちょこっとした機能しかありません)。よく見かけるポーリングレート測定ソフトは、イベントの発生間隔からその時々のポーリングレートを(1msならば1000Hz、2msならば500Hzといった具合に)計算する(論理レート)か、1秒毎に発生したイベントの総数を取得する(実レート)となっています。そのどちらかしか無かったし、ログも取れないのでどっちもできるものを作ってみたという感じです。ちょこっとテストや確認もしましたし、取得した情報は概ね正しいはず。これについては気が向いたらもう少しまともにして公開したいと思います…といっても測定対象がマニアックすぎて需要は無さそうですが。

さて、以上のソフトを使用して取得した、各マウスの1000Hz、500Hz、125Hzでの挙動をまとめてみます(各グラフはクリックすると拡大できます)。

1000hz

500hz

125hz

まず、各マウスがそれぞれMAXレートの時の、先頭100イベントの発生間隔をグラフ化したものです。1000Hzの時は1ms、500Hzの時は2ms、125Hzの時は8msに近ければ近い方が、均等に移動情報を挙げているということが言えます。勘違いしないでもらいたいのですが、全てにおいて実レート(1秒間にイベントが発生した回数)は各レート正しいものが出ているときの情報になります(Mambaのワイヤレス動作で1000Hzの時のみ実レートでも900Hzほどしか出ない)。その1秒内において、偏って情報を挙げているのか、それとも均等に上げ続けているのかが、グラフによってわかる、ということです。

all1000

all500

all125

次に、約1秒間における全てのイベントの発生間隔をグラフ化したものです。当然、1000Hzでは1000、500Hzでは500、125Hzでは125回のイベント情報が取得できます。それでは上記の結果を元に書くマウスでのベストなポーリングレートを考えていきましょう。

Mamba(ワイヤード使用時)

Mambaをワイヤードで使用する場合は全てのレートにおいて非常に安定した数値を出していますので、特にコレといって強調すべきものはありません。自分の好きなレートで使用するのが良いと思います。

Mamba(ワイヤレス使用時)

ワイヤレスの場合は、1000Hzにおいて規定のレートを出すことができません(実レート約900Hz)。大体1msと2msの間を行き来し、たまに飛び抜けて発生が偏る場合が見られます。500Hz、125Hzではワイヤードと同じように安定してイベントを挙げていますので、このどちらかで使用するのが良いでしょう。

Naga

1000Hzは非常に綺麗です。しかし、500Hz、125Hzでは実レートが10%程高く出ているようでした。500Hzでは、基準が2msではなく、1msになっており、たまに大きく遅延させ、結果500Hzに調整しているように見えます(500Hzの250~380あたり)。125Hzでは7msと8msを行き来し、結果平均が7.5ms程になりますので、実レートとして10%程高くなるようです。以上からNagaは1000Hzで使用するとより均等に移動情報を取得できるということになります。

Imperator

グラフを見てわかりますが、Imperatorのポーリングレートは結構暴れるようです。しかし決して、レートが出ないということはなく、あくまでイベントが偏っているだけに過ぎないということです。1000Hz時、ある程度は1msで安定していますが、たまに大きなディレイが発生しています。500Hzは基準が2msとなっていますが、3回に1回ほど1msまで縮まる時があり、それが影響してか実レートも少し高めに出るようです。125Hzはちょっと問題外で、基準は2msのままでかなり大きなディレイにより125Hzに調整しているような挙動が見られます。これはもしかしたら測定をミスしているかもしれませんが、他のレートでも暴れているし、時間もなかったのでそのままのデータを採用させていただきました。結局のところ1000Hzか500Hzで使用するのが良さそうです。

おまけ

実は、ここまで検証してきたこのポーリングレートの結果ですが、Windows7ではこのような結果になりましたが、WindowsXPの場合は総じて1000Hzの結果が思わしくありません。実レートはしっかり出るのですが、0~2msの間をかなりブレてイベントが発生するようです。サンプルとしてWindowsXPにてDeathAdderで取得した結果を紹介しておきます。

image

1000Hz(ave2)というのは2点平均です。2点の平均をとると見事に1msに安定したグラフになります。この辺はOSによるDirectXの実装や挙動の違いなどに起因するのでしょうが、私はそこまで詳しくないので詳細は不明です。結果から見るにXPでは500Hzで使うのが良さそうです。

センサー編総括

センサーそのものの評価というよりか、比較してどうか・アルゴリズムはどうか、という評価になりました。まぁしかし、このセンサー自体はスピードには付いていくけれど繊細すぎるしパッドを選ぶということがずっと言われていますので、今更どうこういうこともないかと思います。じゃあ各マウスでのセンサーの搭載の仕方による差異はどうなの?というところを本当は重点的に見たかったのですが、NagaとImperatorはDPIスケーリング採用ファームしかありませんでしたので、それもできませんでした。ということから、ネタがないので急遽行ったポーリングレート比較では結構面白い結果が得られたのではないかと思います。Mambaは高いだけあってなかなか優秀でしたね。

次回はゲームプレイ編ということで、実際にDPIスケーリングがプレイに及ぼす影響があるのか?プレイしながら各マウスのボタンは有効活用できるのか?といったところを検証していきたいと思います。

関連する記事