raytrektab RT08WTのCPU負荷が高すぎる不具合

性能の割に遅い

動作が遅いとは聞いていた「raytrektab 8インチモデル RT08WT」ですが、それにしてもどうにも様子がおかしい……。Celeron N4000にメモリ8GB、SSDは128GBと、初代raytrektab DG-D08IWPと比べて多少なりとも性能は良くなっているはずなのですが、その初代よりも動きが遅いのです。

Systemプロセスが3割ほど専有している

ログオン後、動作が落ち着くまでしばらく待った後タスクマネージャーを確認しました。

CPU使用率が常に高い

「System」と「システムの割り込み」が常にCPUを使用している状態となっていました。これは何度再起動しようと、そして何時間放置しても全く変化はありません。

Systemプロセスの内訳を確認する

Process Explorerを使って確認する

「Process Explorer」を使って詳細を確認してみると、「Interruputs」という項目がCPUを使用している事がわかりました。要するに割り込みですね。

Process Explorerの説明には「Hardware Interrupts and DPCs」、つまり「ハードウェア割り込みと遅延プロシージャコール」という内容の事が書いてありましたが、何が割り込んでいるのかまでは分かりません。

Tracelogでログを取る

さて、このTracelog.exeなんですが、Windows Driver Kitを入れるとあるよ~との情報を見かけましたが、WDK単体で拾ってきても見当たりませんでした。Microsoftのドキュメントにあるように、素直にVisual Studio 2019をインストールし、そこからWindows SDKを追加するとようやく入手できました。

Windows Driver Kit (WDK) のダウンロード – Windows drivers | Microsoft Docs

次に、管理者権限で起動したコマンドプロンプトからTracelogを実行してログを収集します。開始コマンドは以下の通り。

tracelog -start -f test01.etl -dpcisr -UsePerfCounter -b 64

例 15 DPC/ISR 時間の測定 – Windows drivers | Microsoft Docs

ログが集まるまで1分ほど待ってから停止コマンドを打ち、レポートを出力します。

tracelog -stop
tracerpt test01.etl -report dpcisr.html -f HTML

出力されたHTMLのログを開き、DPCの欄を確認してみると、「wdf01000.sys」の使用率が高いことが分かりました。Windows Driver Frameworkのコンポーネントみたいですね。WDFを使って作られたドライバが悪さをしているのだろうということは分かりました。うん、うーん?

タッチパネルを無効にしてみる

結局はっきりした情報が得られませんでした。軽く検索してみても、ワイヤレスアダプターが悪いだとか、USB機器の問題だとか、特定のマウスやゲームコントローラーなどの入力デバイスを繋ぐと起こるだとかそういった情報ばかりです。

raytrektabで入力デバイスといったら、タッチパネルとペンと物理ボタン、あとは指紋センサーぐらい……嫌だなぁと思いつつ、タッチパネルである「Goodix Touch HID」を無効にしたところCPUが落ち着きました。

Goodix Touch HID

Goodix Touch HID無効化後

タッチパネル、タッチパネルか……そうか……。

ドライバを替えてもどうにもならない

Goodixのドライバが原因なのだろうと、Microsoft Update カタログからバージョン1.3や1.4のドライバを拾ってきて適用してみましたが、変化はありませんでした。また、TouchSetting.gtを置き換えしないようにアップデートを行っても、初期のドライバ以外はタッチ位置が微妙におかしくなるので試すのは非推奨です。

WDFを利用して作ったドライバではよくあることらしいですが、よくあっても困ります。不具合といっても差し支えないでしょう。修正済みのドライバがあれば改善されるのかもしれませんが、あんまり期待はしてません。

タッチパネルを諦めよう

raytrektab RT08WTはCeleron N4000を搭載ということで、初代raytrektabのAtom x5-Z8350と比べて性能自体は上がっています。コア数は4つから2つに減っていますが、本来ならばシングル性能で2倍、全体でも1.5倍ぐらいの性能アップとなるはずです。しかし、常に割り込みで3割程度CPUを使用している状態となると微妙なところですし、絶対的な性能が低いので動作はかなり酷い感じとなってしまっています。

Goodix Touch HID無効時

Goodix Touch HID有効時

こうなると妥協するしかありません。タブレットとしての魅力は薄れますが、タッチパネルを無効にしてペン操作のみで利用することにしました。

とはいえ、付属の「raytrektab Stylus S2」をブラウジングなどの用途で使うのはペン先が細すぎて少し扱いにくいです。(スクロール操作でペン先をすり減らすのも癪に障りますしね。)raytrektabはWacom feel IT Technology対応のペンであれば利用できますので、Galaxy NoteのSペンや、初代raytrektabを所持しているのであればその付属のペンを流用し、絵を描くとき以外はそれらのペンを使うのが個人的にオススメです。

絵を描くときにキャンバス操作をタッチで行っていると少し不便になりますが、ペイントソフト側のレイアウト変更や、Bluetooth接続の小型コントローラーなどでカバー可能だと思います。

手軽なお絵描きタブレットとしてもっと気楽に使いたかったのですが致し方ありません。ドライバが更新されるか、他の改善策が見つかるまではタッチ無しで運用していこうと思います。

たまにタッチパネルを使いたい場合

→「TouchSwitch」でオン・オフできるようにしておく

あまり使わない音量ボタンを、タッチパネルオン・オフスイッチとして設定します。デバイス指定はGoodix Touch HIDです。

Windowsキーをトグルスイッチとして使用すると若干不便があったので、PowerToysのKeyboard Managerで音量上ボタンに適当なショートカットキー(他と被らないこと)を登録し、同じものをTouchSwitchにも登録しました。

とりあえずこれで、タッチパネルのオン・オフを音量ボタンで行えるようになります。すぐにペンが取り出せないときや、どうしてもタッチパネルで操作したいときなどに一時的にオンにすると良いかと思います。

オン・オフするときにタスクトレイが伸びたり縮んだりする謎の現象に見舞われていますが、まぁ大きな問題ではないです。

2021-06-15:ベンチマークテスト結果を掲載
2021-07-12:TouchSwitchのことを思い出したので追記

タイトルとURLをコピーしました