2020/10/01 20:03

x360ce Ver.4 をビルドしてデバッグ実行する方法

x360ce Ver.4 を実行するとCPU使用率が高くなったため、その原因を特定するために x360ce Ver.4 をデバッグ実行して調べました。 調べた結果、設定を変更することで、CPU使用率を下げられることが分かりましたので、その手順をご紹介します。


目次


x360ce Ver.4 でCPU使用率が高くなる

x360ce Ver.4 はPCのゲームを switchのプロコンなどで遊べるようにできる便利なツールです。

ただ、 x360ce Ver.4 の設定を変更しないで実行するとCPUの負荷が上がります。

私のPCでは x360ce を実行するだけでCPU使用率 が 10%以上あがります。

そこで Process Explorer というツールを使用して、x360ce.exe の状態を確認し、CPU使用率が高い処理を特定します。


Process Explorer で x360ceのCPU使用率が高い処理を特定する

Process Explorer は以下のサイトから ProcessExplorer.zip をダウンロードします。

https://docs.microsoft.com/
en-us/sysinternals/downloads
/process-explorer


Process Explorer は、ダウンロードした ProcessExplorer.zip を展開して procexp.exe を実行します。

Process Explorer の実行画面で、x360ce.exe を選択し、右クリックメニューの Properties を実行します。

x360ce.exe の Properties 画面で Theads タブを表示すると、CPU使用率が高いスレッドがあることが分かります。このスレッドを選択してダブルクリックし、スレッドの詳細画面を表示します。


スレッドの詳細画面では、x360ce.exe が呼び出しされている部分がありました。

この x360ce.exe が呼び出しされている部分には、x360ce.App.DInput.
DInputHelper.ThreadAction という情報があり、この内容から x360ce のDirectInput用の処理と推測できます。


以上のことから x360ce.exe の x360ce.App.DInput.
DInputHelper.ThreadAction の処理でCPU使用率が高い原因を調べるために、x360ce をビルドしてデバッグ実行して確認します。


x360ce のビルド環境の準備

x360ce のビルドには以下のツールをインストールして使用しました。すべて無料です。

Visual Studio Community 2019 の推奨環境は以下のとおりです。

  • 64 ビットを推奨
  • 8 GB以上の RAM
  • 1.8 GHz 以上のプロセッサ。 クアッド コア以上を推奨
  • ストレージはSSDで、20~50 GB以上の空き容量
  • WXGA(1280×768)以上のディスプレイ
    • ※Visual Studio Community 2019 の使用は無料ですが、Microsoftアカウントでサインインが必要なため、Microsoftアカウントが無い場合は作成が必要です。Microsoftアカウントも無料で作成できます。


      今回確認に使用したPC環境は以下のとおりです。

      種類内容
      OSWindows 10 Professional 64bit バージョン 2004
      CPUIntel Core i5 8400
      メモリ32GB(2×16GB DDR4 UDIM 2666Mhz)
      ストレージ480GB SSD
      モニター23.8 インチ 1920×1080


      スポンサーリンク


      Git のインストール

      x360ce のソースは github に公開されているため Git For Windows のサイトからインストーラをダウンロードしてをインストールします。

      https://gitforwindows.org/


      エクスプローラーからgitを操作可能にするために、Tortoise Git のサイトからインストーラをダウンロードしてをインストールします。OSが64bitのため、64bit版をインストールします。

      https://tortoisegit.org
      /download/


      Visual Studio Community 2019 のインストール

      x360ce をビルドするために、 Visual Studio Community 2019 のサイトからインストーラをダウンロードしてをインストールします。

      https://visualstudio.microsoft
      .com/ja/vs/community/


      Visual Studio Community 2019 のインストールでは、x360ce をビルドするために必要なコンポーネントを選択しました。

      まず、「ワークロード」タブの選択画面で 以下の6つを選択します。

      • .NET デスクトップ開発
      • C++ によるデスクトップ開発
      • ユニバーサル Windows プラットフォーム開発
      • .NET によるモバイル開発
      • C++ によるモバイル開発
      • C++ によるゲーム開発


      次に「個別のコンポーネント」タブの選択画面で 以下の3つを選択してインストールします。

      • Windows 10 SDK (10.0.17134.0)
      • v141 ビルド ツール用 C++ ATL (x86 および x64)
      • v141 ビルド ツール用 C++ MFC (x86 および x64)

      ※Windows 10 SDK (10.0.17134.0)は「17134」で検索すると簡単に選択できます。

      ※v141 ビルド ツール用 は「v141」で検索すると簡単に選択できます。

      Visual Studio Community 2019 のインストール後は PCの再起動が必要ですので、忘れずに実施することをオススメします。


      これで x360ce をビルド環境の準備ができました。


      x360ceのソースの取得

      x360ce のソースを格納するフォルダを作成します。ここでは C:\git として進めます。


      x360ce の github のサイトで「Code」ボタンをクリックし、URLの横のアイコンをクリックすると、git clone用のURLがコピーされます。

      https://github.com
      /x360ce/x360ce

      次にエクスプローラーで C:\git を選択し、右クリックメニューを表示して、TortoiseGit の上にある「Git Clone」を実行します。

      git の clone 用の画面が表示されますので、URL に コピーした x360ce の clone用のURLを貼り付けして、「OK」ボタンで clone を実行します。

      clone を実行すると、x360ce のソース取得の進捗画面が表示され、終了すると Success と出力されますので、「Close」ボタンで画面を閉じます。


      ネットワーク接続エラーなどの理由で、x360ce のソース取得に失敗した場合は、C:\git\x360ce フォルダを削除し(存在する場合)、もう一度上記手順を実行するとソースが取得できるかもしれません。


      ソース取得後、エクスプローラーで C:\git\x360ce を選択し、右クリックメニューを表示して、「TortoiseGit」-「Show log」を実行すると、x360ce の修正履歴が確認できます。


      x360ceのビルド

      x360ce には「Xbox 360 Controller Emulator」などのドライバーをインストールする処理があるため、 Visual Studio Community 2019 を管理者権限で実行します。

      スタートメニューの Visual Studio 2019 で、右クリックメニューを表示し、「その他」-「管理者として実行」で実行します。


      Visual Studio Community 2019 のスタート画面が表示されますので、「プロジェクトやソリューションを開く」で、C:\git\x360ce\x360ce.sln を開きます。

      Visual Studio Community 2019 でサインインを求められる場合があります。この場合は、Microsoftアカウントでサインインが必要ですのでサインインします。


      次にx360ce の初回起動では、「Windows SDKバージョン」と「プラットフォームツールセット」のアップグレードの確認が表示されますので、「アップグレードなし」を選択します。アップグレードをしてしまうと、使用しているライブラリの整合性が合わなくなり、ビルドができなくなる可能性があります。

      「アップグレードなし」以外を選択してしまって、やり直ししたい場合は、Tortoise Git でx360ceの各プロジェクトの変更を revertした上で、「C:\git\x360ce\.vs」を削除すると、x360c 起動時に再度アップグレードの確認が行われます。


      x360ce.sln を開くと、いくつかのプロジェクトがありますが、x360ce.App.Beta プロジェクトが x360ce Ver.4 のプロジェクトとなります。

      x360ce.App.Beta プロジェクトは x360ce.Engine プロジェクトを参照しており、ビルドイベントでも使用しているので、x360ce.Engine プロジェクトを最初にビルドします。

      x360ce.Engine プロジェクトを選択して、右クリックメニューの「ビルド」を実行します。

      次に x360ce.App.Beta プロジェクトを選択して、右クリックメニューの「ビルド」を実行します。

      このビルド手順で、コンパイルエラーにならずにビルドが可能です。


      スポンサーリンク


      x360ceのデバッグ実行

      x360ceのビルドができたので、デバッグ実行を行います。

      x360ce.App.Beta プロジェクトを選択して、右クリックメニューの「スタートアップ プロジェクトに設定」を実行します。

      次に、Visual Studio Community 2019 画面の上に表示されている「開始」を実行します。

      x360ce.App.Beta プロジェクトは最初からデバッグ実行の設定になっているため、これでデバッグ実行となります。


      デバッグ実行すると、x360ce Ver.4 の画面が表示されます。

      これで x360ce.App.DInput.
      DInputHelper.ThreadAction の処理が確認可能になります。


      x360ce.App.DInput.
      DInputHelper.ThreadAction は、x360ce.App.Beta/Common
      /DInput/DInputHelper.cs の ThreadAction メソッドのため、この部分を開きます。


      ThreadAction の処理にブレークポイントを設定すると、この部分で処理を止めることができました。

      この処理を確認すると、DirectInputのコントローラーの入力をチェックして XInput形式に変換する処理でした。この処理は、Timerでインターバルに実行されており、インターバルの間隔が短いため、CPU使用率が増えていることが分かりました。


      Timerの処理を確認すると、Timerのインターバルの間隔を設定する、Frequency プロパティがありました。

      この設定は、x360ce画面の「Option」-「Virtual Device」-「Polling Rate」で変更可能でした。この設定を変更することで x360ce のCPU使用率を下げられました。


      これで、x360ce Ver.4 をビルドしてデバッグ実行する方法の紹介は終わりです。この記事を見た方のお役に立てれば幸いです。



      Tips 記事一覧に戻る


      シェアする

      • facebook
      • twitter
      • はてなブックマーク
      • LINE

      スポンサーリンク