【簡易レビュー】「シンプル・イズ・ベスト」なゲーミングマウス「PAWN」

「日本発のゲーマー向け製品ブランド」を掲げる「Ray」から第1弾となるワイヤードマウス「PAWN」(ポーン)が発売されました。

今回はこちらのレビューを実施したいと思います。


製品仕様

--------------------------------------------------------------------------------------------------------------------
搭載センサーPixArt Imaging PMW3360
ボタン構成・左右メイン
・センタークリック付きスクロールホイール
・左サイド×2
・DPI 変更×2
トラッキング解像度400/800/1600/2400/3200/12000 DPI
ポーリングレート(USBレポートレート)125/500/1000 Hz
LEDイルミネーション6色(※常時周期点滅)
本体重量106g(※ケーブル含む)
ケーブル長1.8m
保証期間1年間
価格¥4,980(税込)



上記画像からも見てわかるように、Xtrfyの「M2」と同じODM元の製品となります。

ただし、センサーは「M2」とは違いPMW3360を利用しています。
PMW3360は5,000円以上のゲーミングマウスに搭載されることが多い高性能センサーです。
そのセンサーが載った製品を4,000円台の製品として出せてしまうのは素直に驚きです。
(まあ「税☆金」が載らない分ね…)

ボタン構成もシンプルにメイン2つ、ホイールとサイド2つです。
また、DPI変更のボタンがマウスホイール下にあります。
「無駄なボタンはつけない」という意思が感じられる構成です。

ポーリングレートの切り替えスイッチは裏面にあるようです。


外観・中身

外箱です。灰色+白文字のシンプルな構成で、ここでもコストカットを明確にしています。

外箱裏面。公式ページにかかれている文言がそのまま載っています。



表面は開きます。表面裏に書いてある文字も、公式ページそのままの文言です。



内容物は以下です。

  • マウス本体
  • 交換用マウスソール
  • 保証書 兼 説明書

ドライバレスなマウスなので、最小限です。



表面に控えめな主張の「Ray」ロゴ。
裏面には製品名・型番・ロゴ及びポーリングレート切り替えスイッチがあります。



LEDの光り方はこんな感じです。

LEDの色がDPIの設定値と連動しています。

  • 赤:400 DPI
  • 青:800 DPI
  • 黄:1600 DPI
  • 橙:2400 DPI
  • 緑:3200 DPI
  • 紫:12000 DPI

となります。



実際、持った感想としては、サイドの溝がなかなかいい具合に滑り止めの役割を果たしています。 自分は手汗が結構出るので、このようにグリップ力が高い製品が良いですね。

左サイドのボタンは割と「カチッ」と音がなり、人によっては気になるかもしれません。
メインボタンに関してはオムロン製スイッチなので、まあ安定です。

重さも気になるところですが、ワイヤードマウスなので非常に軽いです。
(本体だけだと80g台でしょうか)

錘については付いていました。

ですが不要と判断しましたのでPAWNについては非搭載となっております。

https://twitter.com/Raygamingjp/status/1010025614235930624

錘の不要化判断は間違っていなかったと思います。


センサー性能検証

MouseTester を用いて、センサー性能を検証してみます。

<使い方>

  1. cpi値に現在設定しているDPI値を入れます。
  2. [MouseData]-[Collect]ボタンを押します。
  3. マウス左ボタンをクリック&ホールドしたまま円をすばやく描きます。
  4. マウス左ボタンを放します(ホールドを解除します)
  5. [MouseData]-[Plot]ボタンを押すと、グラフが描画されます。



非常に安定した挙動と言えるでしょう。 センサーが良くてもセンサーの調整次第では良くも悪くもなりますが、PAWNは「良い調整」で間違いないです。

因みに、いくつか点が飛んでいるように見えますが、拡大率のせいなので、下図のように部分拡大してみれば正確なのがよくわかります。


総評

ゲーミングマウス入門機としては文句なし
コスパお化け

はい、文句なしです。
5,000円クラスのゲーミングマウス鉄板機で間違いないでしょう。

「既存のガワ」と「良いセンサー」を組み合わせただけかもしれませんが、それをうまく製品化し、かつコストパフォーマンスに優れたものになっています。

ゲーミングマウス入門機として、最初の1台として、申し分ない製品です。





あ、でも欲を言えば 1200 DPI 設定が欲しかったかなー…

GPUベンチマーク「Basemark GPU」を試す

フィンランドを拠点とするBasemark社が新しいGPUベンチマークであるBasemark GPUを公開しました。 Basemark社は主にAR/VR用エンジンRocksolid Engineの開発を行っています。


概要

Basemark GPU Enables Objective Comparisons Between Vulkan, OpenGL and OpenGL ES Graphics Performance Across Multiple Operating Systems

Basemark GPUにより、複数のオペレーティングシステム間でのVulkan、OpenGLおよびOpenGL ESグラフィックスのパフォーマンスの客観的な比較が可能。

Helsinki, Finland, June 19, 2018 – Basemark launched today Basemark GPU, a new graphics performance evaluation tool for systems with Vulkan 1.0, OpenGL 4.5 or OpenGL ES 3.1 graphics APIs. This tool enables the industry to objectively and reliably quantify and compare graphics performance of next generation mobile, automotive and desktop processors.

ヘルシンキ、フィンランド、2018年6月19日 - Basemarkは本日、Vulkan 1.0、OpenGL 4.5またはOpenGL ES 3.1グラフィックスAPIを搭載したシステム用の新しいグラフィックス性能評価ツールBasemark GPUを発表しました。 このツールにより、業界では、次世代のモバイル、自動車、デスクトッププロセッサのグラフィックス性能を客観的かつ確実に数値化し、比較することができます。

(プレスリリースより一部抜粋)



対応OSは Android, Windows(7/8/10), Linux(Debian, Ubuntu)です。
無料版と、有料(Corporate)版が存在し、無料版では3DMarkのように機能制限がかかっています。
内容は下記のとおりです。

FreeCorporate
GPU Score (Native and Offscreen) : スコア表示YesYes
Test Score Details : スコア詳細表示NoYes
Select Test : テスト選択NoYes
Forced result submit : (オンラインへの)結果の送信YesNo
Internet Connection Required : 常時オンラインYesNo
Custom Configurations : テスト詳細設定YesYes
Test Automation : オートテストNoYes
Ability to render arbitrary screen(s) : 任意の画面レンダリングNoYes
Data Export : テスト結果のエクスポートNoYes



テストはHigh-Quality modeMedium Quality modeの2種類があります。

Basemark®GPU - 高品質モードは、高解像度のテクスチャ、高度なエフェクト、オブジェクトの数の増加、および今日のAAA PCゲーム規格に基づく厳しいジオメトリを使用するデスクトップシステムを対象としています。

オフスクリーン解像度Max Triangles Per Frameテクスチャ解像度最大要求メモリDrawCall
3840×2160~2 M4096×40964 GB~10k



Basemark®GPU - 中品質モードは、今日のAAA Mobileゲーム規格に基づいてモバイルシステムをターゲットにしています。 中品質モードは、減少したテクスチャ解像度、オブジェクトの数、幾何学的形状の量および限定された効果に関する高品質モードのサブセットです。

オフスクリーン解像度Max Triangles Per Frameテクスチャ解像度最大要求メモリDrawCall
1920×1080~0.7 M2048×20481 GB~2000

ベンチマークを試す

今回はサクッと「Official Test」を試してみます。

「Run Official Test」ボタンを押すだけです。

テスト中はこんな感じ。上の緑のバーは進捗バーです。右端に行ったら終了。
テスト自体は1分ほどで意外とかかりません。

テスト結果

無料版ではテスト結果を送信できると、テスト結果が表示されます。
テスト結果は Basemark Power Boardに送信されます。
送信できないと、テスト結果は表示されません。
回線不良、送信先サーバー落ちの場合、テストしても意味がありません…
(実際、配信直後はサーバー落ちのため、テストをまわしても意味がありませんでした…)



GTX 1080 (Vulkan)

https://powerboard.basemark.com/hwsubmit/17011/result



GTX 1080 (OpenGL)

https://powerboard.basemark.com/hwsubmit/17059/result



RX Vega 64 (Vulkan)

ドライバ18.6.1でクラッシュ。
ドライバ18.5.11だと動くらしいが入れ直すのめんどくさかった…



RX Vega 64 (OpenGL)

https://powerboard.basemark.com/hwsubmit/17115/result

低すぎるような気がする…



因みに、GTX 1080Tiだと9000点ほど出るようです。


感想

現段階では未完成と言わざるを得ません。
AMDGPUは事実上計測できてませんし…
特に無料版の制限「スコア送信できないと結果見せない」は致命的です。
サーバー落ちが全く考慮されていないのはいかがなものかと…

テストツール本体のサイズ(展開前ファイル)は約3GBですが、3DMark(3.7GB)より少し少ない程度なのでこんなものでしょう。

良い点は、テスト自体は早い、ぐらいですかねぇ…

うーん、今後に期待、かな?

MinIRはどのように作られたか

はじめに

beatorajaの認知度が高まっていくに連れて、IRがない という声を多く目にするようになりました。
正確に言えばIRがないというのは誤りで、Chroma IRが存在していましたが、広く公開されているIRではありませんでした。

というわけで、「ないなら作ればいい」のノリで作成したのが現在稼働中のMinIRです。
本記事では、このMinIRがどのようにして作られたかを解説します。


やることはそんなに多くない

さて、そもそもIRはどのような仕組みなのでしょうか。

やることは「データを送り、保存する」「データを取得し、表示する」の2つです。

必要なのは

  • IRのデータの受け口
  • IRのデータを保存するための場所
  • IRデータの送信機構
  • IRデータの表示機構

の4つです。
そんなに多くありません。


必要なものを具体的に

必要な「機能」を抽出したところで、具体的に何が必要かを考えていきます。

IRのデータの受け口

データを受け取る「サーバー」が必要です。

IRのデータを保存するための場所

保存箇所である「データベース」が必要です。

IRデータの送信機構

同じく、データ取得命令を処理する「サーバー」が必要です。

IRデータの表示機構

表示用に「Webページ」が必要です。

こうしてみると、レンタルサーバを借りて、内部にデータベースとWebページ機構を組み込めば良さそうですが…


サーバーレスという選択 - Amazon Web Service

レンタルサーバを借りてどうこうするのは、意外と管理・維持が面倒です。
死活監視やリソース監視、パッチの適用など、サーバーを正常に動作させ続けるためにさまざまな作業が必要です。

そのため、MinIRでは、「サーバーレスアーキテクチャ」を採用しています。

サーバーレスアーキテクチャ

サーバを自前で用意せず、サーバーを持つ事業者が提供するサービスを活用してシステムを構築します。

MinIRでは「サーバーを持つ事業者」はAmazon、「サーバーを持つ事業者が提供するサービス」はAmazon Web Serviceです。

Amazon Web Service (AWS)

アマゾン ウェブ サービスでは、コンピューティング、ストレージ、データベース、分析、ネットワーキング、モバイル、開発者用ツール、管理ツール、IoT、セキュリティ、エンタープライズアプリケーションなど、グローバルなクラウドベース製品を幅広く利用できます。これらのサービスを使用すると、企業や組織はより迅速かつ低い IT コストでスケールすることができます。AWS は最大規模の企業と注目を集めている新興企業から信頼されており、ウェブアプリケーション、モバイルアプリケーション、ゲーム開発、データ処理、データウェアハウス、ストレージ、アーカイブなど多様なワークロードを支援しています。

製品ページより引用 (https://aws.amazon.com/jp/products/)

簡単言えば いろんなサービスがあるから、それらをうまく組み合わせて活用してね! でしょうか。
実際、その通りなので、MinIRで利用しているサービスを解説します。


MinIRで利用するAWSサービス

MinIRで利用するサービスは主に下記の3つです。

  • AWS Lambda (lambda)
  • Amazon DynamoDB (DynamoDB)
  • Amazon Cognito (Cognito)

AWS Lambda

(「ラムダ」って読みます)
イベントに対してコードを実行するサービスです。
「データを受け取る」「データ要求に対して送信する」の2つの役割に対してこのサービスを使います。

具体的には

  • データを受け取る
    • 受け取ったスコア・譜面データをDynamoDBに保存する
  • データ要求に対して送信する
    • 要求に沿う形でスコア・譜面データをDynamoDBから取得し、返却する

を行います。

コードはNode.jsJavaC#GoPythonが選択できますが、MinIRではNode.jsを採用しています。 (Node.jsの説明はこの辺とかかな?)

ひと月あたり

  • 1,000,000回(100万回)の呼び出し
  • メモリを400,000GB(40万GB)秒利用する
    • 例1:256MBの処理を4秒で1GB秒
    • 例2:1GBの処理を0.5秒で0.5GB秒

を満たすまでは無料です。

(AWS Lambda 料金)

Amazon DynamoDB

(「ダイナモDB」って読みます)
データベースサービスですが、一般的なリレーショナルデータベース (RDB)ではありません。
NoSQL データベース (NoSQL)と呼ばれる非リレーショナルデータベースです。

NoSQL データベースとは一意キーの単純な組み合わせを格納したデータベースです。
以下は簡単な例です。

一意キー
ユーザーID + 譜面IDスコア、記録日時 …
譜面IDタイトル、BPM、総ノーツ数 …
ユーザーIDbio、ライバル情報 …

※MinIRが上記の例の通りに作られているわけではありません

キーと値のペアのため、RDBとは違ったメリット、デメリットが存在します。

RDBNoSQL
データ参照複数の表と関係性を持ち、SQLを用いて、高度な条件でのデータを取得できる他のデータとの関係性がないため、複雑な参照には不向き
トランザクションデータの不整合は起こらない結果整合性を持つ(即座にデータの変更が反映されるとは限らない)
処理速度強固なトランザクション処理を行うため、それほど速くはない大量のデータを扱うサービスで参照や追加処理が主な処理である場合、高速

上記だけ見ると、IRのようなデータ保存・更新サービスではNoSQLは不向きなのでは?と思われると思います。
その通りです。
ユーザー・スコア・譜面 など、リレーショナルなデータ参照があるのでRDBのほうが向いているのですが…。

残念ながら、RDBは無料で運用できません。

AWSにもAmazon Relational Database Service (RDS)というサービスがありますが、無料で利用することはできません。
Amazon以外のサービスも同様です。

DynamoDBは料金体系が複雑ですが、IRのような単純なWebサービス構築ならば無料で運用できるはずです。

  • 25 GB の保管は無料
  • 読み込み/書き込み容量が少なければ無料

(Amazon DynamoDB 料金)

MinIRでは前述したlambdaと連携して、データの書き込み、読み込みを行います。

Amazon Cognito

(「コグニト」って読みます)
ユーザー認証や情報を取り扱うサービスです。

  • パスワードや個人情報の管理
  • (自前でやろうとすると大変な)2段階認証
  • 自前の認証サービス

と、ユーザー管理・運用に最低限必要なのが揃ってます。めっちゃ楽です。
(やろうと思えばtwitterでのログインも実装できますが、MinIRでは採用してません。)

同じく、lambdaと連携して、ログイン処理、ユーザーデータの追加・取得を行います。

ひと月あたり5万ユーザーまでは無料です。
(AWS Cognito 料金)


サービスを組み合わせる

上記で紹介したAWSサービスを組み合わせるとこんな感じになります

  • ログイン処理
    1. lambdaにログイン情報送信
    2. lambdaからCognitoに情報問い合せ
    3. Cognitoからlambdaに結果返却
    4. lambdaから結果返却
  • スコア送信処理
    1. lambdaにスコア情報送信
    2. lambdaからDynamoDBに書き込み
    3. (必要なら)lambdaから処理結果を返却

なんとかうまくいきそうです。
残りは保存されたスコアを表示するIRページの作成です。


Webページも無料で作る -Github Pages-

GitHub Pages とは、GitHubによる、静的サイトのホスティングサービスです。
GitHubのアカウントがあればすぐに公開できるので、非常に手軽です。

  • 静的サイト (HTML や CSS, 画像など) を公開できます
  • JavaScriptが動作します
  • 独自ドメインOK
  • 無料

htmlをうまーく配置すれば、それだけでサイトが公開できます。
データの取得(lambdaの呼び出し)にはjavascriptを用います。

サイトのソースコードはこちらです。
静的サイトなので、基本全公開です。

MinIRのデザインにはMaterial Design Lite、テンプレートエンジンにはReactを利用しています。
(詳細情報は各公式ページへ。)

というわけで、スコアビューワーもできました。


まとめ(システム全体像)

こんな感じになりました。
基本的にはlambdaを経由して、データの流れを作ります。


おわりに

というわけで、このような流れがあってMinIRは作られました。
無料でクラウドサービスを利用でき、サービス開発ができるなんていい時代だぁ…
AWS便利だからみんな使おうね!
IRを新しく作るのもいいぞ。