MacでWindowsのゲームを動かす話を、このブログでは何回か書いてきました。Whisky亡きあと、Macで無料でどこまで遊べるのか、Apple純正のGame Porting Toolkitを使い倒す、Whiskyの代わりに何を使うか、仮想マシンでWindowsゲームは動くのか。そして2026年版・MacでWindowsゲームを無料で遊ぶで、手段の選び方を一度まとめました。

ただ、実際にやってみると分かるのですが、失敗の仕方には型があります。真っ黒、真っ白、文字が □ になる、起動した瞬間に消える。そのたびに毎回ゼロから悩むのは、正直かなりつらいです😅

そこで今回は、これまでの回で踏んだ失敗を「症状から引ける形」に組み替えました。新しい検証というより、手順書です。芯にあるのはひとつだけで、症状は「どの層で止まったか」の合図だという見方です。層が分かれば、見る場所も、直せるかどうかも決まります。

クラッシュレポートの読み方だけは、記事のためにわざと落とすプログラムを書いて実演しました。読み方を言葉で説明されるより、実物を1枚見るほうが早いからです。

【前置き】「動かない」は5つの関門のどこかで止まっている

スポンサーリンク

Macでゲームを起動したとき、実際には多くの関門が順番に通過されています。ダウンロードしたファイルが信用されるか、実行が許可されるか、CPUがそのまま実行できるか、絵を描く仕組みに繋がるか。そして最後に、運営側のルールに触れていないか。

大事なのは、どの関門で止まったかによって、出てくる症状が違うことです。逆に言えば、症状を見れば止まった場所がかなり絞れます。

この記事の使い方
上から順に読む必要はありません。早見表(4章)で自分の症状を探し、その章だけ読めば足ります。章タイトルに【互換レイヤー】と付いている症状は、Whisky・Wine・Game Porting Toolkitのように「Windowsのふり」をさせて動かしているときにだけ出るものです。Mac版のゲームでは起きません。

用語集

この記事に出てくる言葉を先に片付けておきます。

用語平たく言うとなぜそれが効くのか
互換レイヤーWindows用のソフトに対して「ここはWindowsですよ」と振る舞って動かす仕組み。Wine、Whisky、Game Porting Toolkit(GPTK)などWindows本体は無い。読み替えられない機能に当たると、そこで止まる
Rosetta 2Intel(x86_64)向けのアプリを、Apple SiliconのMacで動かすための翻訳の仕組み動くが遅くなる。★ネイティブ版があるのに翻訳側で動いていることがある
arm64 / arm64eどちらもApple Silicon向けのネイティブ。e はポインタ認証という保護が付いた版★arm64eを「ネイティブではない」と数えると集計が壊れる(あとで実話が出てきます)
隔離属性
(quarantine)
インターネットから落としたファイルに、macOSが付ける「よそから来た」という印この印が付いていると、初回起動で確認を求められる。ここで止まる症状がある
Gatekeeper署名や公証(Appleによる確認)を見て、起動してよいかを判定する仕組み「開発元を検証できません」の出どころ
クラッシュレポートアプリが落ちたときにmacOSが自動で書き残す記録。.ips という拡張子★落ちた理由はほぼここに書いてある。この記事の主役
CEF
(Chromium Embedded Framework)
アプリの中に埋め込まれた小さなブラウザ。SteamやゲームランチャーのUIはこれで作られていることが多い★互換レイヤー上でいちばん動かない部品。真っ白の正体
D3DMetalWindowsのDirectXの命令を、AppleのMetalへ読み替える部品(GPTKの中核)ここに繋がっていれば速い。繋がらないと別の経路に落ちる
wined3dDirectXをOpenGLで実装した、Wine側の受け皿★ここに落ちるとMacでは絵が壊れる。真っ黒の主犯のひとつ
アンチチート不正行為を検出するためにゲームに組み込まれる仕組み。EAC、BattlEyeなど★仮想化や互換レイヤーを「不正」と判定することがある。いちばん怖い関門

【全体像】ゲームが遊べるまでに通る5つの関門

まず全体像です。ゲームが実際に遊べるまでに、次の5つを順番に通ります。

ゲームが遊べるまでに通る5つの関門 どこで止まったかによって、出る症状が違う ① 入手・配置 隔離属性 / Gatekeeper 開発元を検証できません 壊れているため開けません ② 実行 署名 / 依存ライブラリ 起動直後に消える Killed: 9 ③ CPU ネイティブ / Rosetta 動くが妙に重い ファンが回り続ける ④ 描画 Metal / D3DMetal / OpenGL 真っ黒・真っ白 音だけ出る ⑤ 運営のルール アンチチート / 規約 遊べるのに アカウントが消える Mac版のゲームは ①②③ しか通らない 互換レイヤー(Whisky / Wine / GPTK)や仮想マシンを使うと、④の中身が長くなり、⑤も効いてくる。 つまり「難しい症状」は、だいたい④と⑤に集まっている。 切り分けの原則:音が出ているかどうかを最初に見る 音が出ている=①②③は通過していて、プロセスも生きている=④だけの問題。 音も出ない=もっと手前で止まっている。この一問だけで、見る場所が半分に減る。

この図の右のほうほど、自分では直せない領域になります。①②はほぼ手元の操作で解決できますが、④は「そもそも実装されていない」ことが原因になりやすく、⑤に至っては踏んでしまってからでは手遅れです。

【使い方】症状から引く早見表

自分の症状を探して、該当する章へ飛んでください。

症状止まっている関門まず見る場所直せるか
起動した瞬間に消える/「予期しない理由で終了しました」②実行クラッシュレポート理由による
「開発元を検証できません」
「壊れているため開けません」
①入手隔離属性と署名◎ 直せる
遊べるが妙に重い/ファンが回り続ける③CPURosettaで動いていないか○ 直ることがある
画面が真っ黒/音だけ出る④描画どの描画経路に落ちたか△ 難しい
ランチャーの枠は出るが中身が真っ白④描画ブラウザ製UI(CEF)× 打つ手なし
文字が全部 □ になる④描画フォント◎ コピー1回で直る
普通に遊べていたのに、突然ログインできなくなった⑤ルールアンチチート× 手遅れ

【症状A】起動直後に終了する ── まずクラッシュレポートを開く

いちばん多くて、いちばん情報が取りやすいのがこれです。アイコンが跳ねて、消える。あるいは「〜は予期しない理由で終了しました」というダイアログが出る。

このとき、macOSは落ちた理由を必ずファイルに書き残しています。場所はここです。

~/Library/Logs/DiagnosticReports/

拡張子は .ips。GUIで見るなら コンソール.app を開いて、左のサイドバーの「クラッシュレポート」を選びます。ファイル名は アプリ名-年月日-時刻.ips なので、落ちた直後のものを開けば当たりです。

中身はJSONです。1行目がヘッダ、2行目以降が本体という、少し変わった形をしています。全部読む必要はありません。見るのは4か所だけです。

見る場所何が分かるか
exception の type と signal★落ち方の種類。ここでだいたい決まる
termination の indicator「Segmentation fault: 11」のような、人間向けの一言
asiライブラリが残した最後のメッセージ(あることが多い)
faultingThread のスレッドの先頭フレーム★どこで落ちたか。自分のアプリ名が出ていれば、原因はそのアプリの中

【承前・実演】わざと落として、レポートの読み方を確かめる

説明だけだと分かりにくいので、確実に落ちるプログラムを書いて、実際のレポートを並べます。用意したのはこれだけです。

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) {
    if (argc > 1 && argv[1][0] == 'a') { abort(); }   // 異常終了
    int *p = NULL; *p = 1;                             // 無いアドレスに書き込む
    return 0;
}

2つの落ち方を用意したのには理由があります。この2つは、レポートの見た目がはっきり違うからです。

① 無いアドレスを触って落ちた場合

exception:
  type    : EXC_BAD_ACCESS
  signal  : SIGSEGV
  subtype : KERN_INVALID_ADDRESS at 0x0000000000000000
termination:
  indicator: Segmentation fault: 11
faultingThread のフレーム:
  crashdemo   main
  dyld        start

EXC_BAD_ACCESS は「触ってはいけない場所を触った」という意味です。at 0x0000000000000000、つまりアドレス0を触っています。プログラムを書く側から見れば典型的な不具合ですが、遊ぶ側から見ると「そのアプリ自身の中身の問題」という切り分けになります。設定を変えても直りません。

② プログラム自身が「もう無理だ」と判断して終わった場合

exception:
  type    : EXC_CRASH
  signal  : SIGABRT
termination:
  indicator: Abort trap: 6
asi:
  libsystem_c.dylib : abort() called
faultingThread のフレーム:
  libsystem_kernel.dylib   __pthread_kill
  libsystem_pthread.dylib  pthread_kill
  libsystem_c.dylib        abort
  crashdemo                main

こちらは EXC_CRASH / SIGABRT。プログラム自身が異常を検知して、自分から終了したときの形です。①との違いは大きくて、②は「何かが足りない・条件が合わない」と気づいて止まったケースが多いです。ファイルが見つからない、必要な機能が無い、設定が壊れている。つまり②のほうが、手元で直せる見込みがあります。

おまけ:同じレポートでRosettaかどうかも分かる
クラッシュレポートには translated と cpuType という項目もあります。今回の実演ではどちらも translated: false / cpuType: ARM-64 でした。落ちた原因を調べに行ったのに、ついでに「翻訳されて動いていたのか」まで分かるわけです(症状Cで使います)。

もうひとつ、覚えておくと得な形があります。クラッシュレポートが1件も残っていないのに落ちている場合です。これは「アプリが落ちた」のではなく、OSに殺された可能性が高い。次の章がそれです。

【症状B】「壊れているため開けません」── 署名と隔離属性

ダウンロードしてきたアプリが開けない。この症状は、原因が2つに分かれます。「よそから来た印」が付いているだけなのか、署名そのものが通らないのか。前者は簡単に直り、後者は基本的に直りません。

「よそから来た印」を確認する

インターネットから落としたファイルには、macOSが隔離属性という印を付けます。実際に手元のファイルで見てみます。

$ xattr -p com.apple.quarantine ~/Downloads/Game_Porting_Toolkit_4.0_beta_2.dmg
0281;6a6b266f;Chrome;6C318D72-81CD-43D3-8F40-AAF4F932A339

セミコロン区切りで、フラグ・日時・どのアプリが落としてきたか(ここでは Chrome)・識別子が入っています。この印が付いていると、初回起動時に確認を求められます。

印を外すなら次のコマンドですが、これは「このファイルは信用する」という宣言です。配布元がはっきりしているとき以外は使わないでください。

xattr -d com.apple.quarantine /Applications/○○.app

Gatekeeperの判定を直接聞く

そもそも起動が許可される状態なのかは、spctl で確認できます。手元の2つを見てみます。

$ spctl -a -vv /Applications/Whisky.app
/Applications/Whisky.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Isaac Marovitz (92S3SG4PTH)

$ spctl -a -vv /Applications/Steam.app
/Applications/Steam.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Valve Corporation (MXGJJ98X76)

どちらも accepted、つまり通ります。origin に開発元の名前が出ているのが大事な点で、これが期待した会社の名前でなければ、そのファイルは疑ってよいということでもあります。

比較のために、自分で作った署名なしの .app を同じように聞いてみると、こうなります。

$ spctl -a -vv Demo.app
Demo.app: rejected

★ファイルを1バイト書き換えると、どうなるか

ここが今回いちばん実演したかった部分です。ゲームのフォルダの中身を差し替えたり、パッチを当てたりすると起動しなくなることがあります。その正体を見ます。

先ほどのプログラムをコピーして、真ん中の1バイトだけ反転させました。すると署名の検証が通らなくなります。

$ codesign -v tampered
tampered: invalid signature (code or signature have been modified)
In architecture: arm64

さらに、署名を完全に取り除いた場合はもっとはっきりします。

$ codesign --remove-signature unsigned
$ ./unsigned
Killed: 9        ← 終了コード 137

Killed: 9。これは実行される前にOSに止められた合図で、クラッシュレポートも残りません(落ちたのではなく、起動させてもらえていないため)。

Apple Siliconでは「署名なし」で実行できない
Intel Macの時代は署名が無くても動きましたが、Apple Siliconでは実行ファイルに必ず署名が要ります(自分で付ける簡易な署名でも可)。
だからゲームのファイルを1つ差し替えただけで、起動しなくなることがあります。これは壊れたのではなく、「中身が変わったので信用できない」と判断されている状態です。元のファイルに戻すのが正解で、こじ開けようとしても意味がありません。

【症状C】遊べるけれど妙に重い ── Rosettaで動いていないか

起動はする。遊べる。でも思ったより重い、ファンが回り続ける。この場合、Intel向けのまま翻訳されて動いている可能性があります。

手順①:そのアプリが何を持っているかを見る

$ lipo -archs /Applications/Steam.app/Contents/MacOS/steam_osx
x86_64 arm64

$ lipo -archs /Applications/Whisky.app/Contents/MacOS/Whisky
arm64

$ lipo -archs /System/Applications/Chess.app/Contents/MacOS/Chess
x86_64 arm64e

読み方はこうです。

出力意味
x86_64 arm64両方入っている(ユニバーサル)。ネイティブで動けるはず
arm64 だけApple Silicon専用。翻訳は起きない
x86_64 arm64e★これもユニバーサル。arm64e はれっきとしたネイティブ
x86_64 だけIntel専用。★Rosettaでしか動かない

★ここで一度やらかしました
p971で手元のアプリを全部数えたとき、arm64e を「arm64ではない」と判定してしまい、Safari・メール・計算機まで「Intel専用」に分類されました。87本中48本=55%がIntel専用という、明らかにおかしい結果です。判定を直したら実際はIntel専用は2本(2.3%)でした。macOSのシステムアプリはほとんどが arm64e なので、ここを間違えると集計が丸ごと壊れます。

手順②:実際に「今どちらで動いているか」を見る

持っているものと、実際に選ばれたものは別です。動いているプロセスに直接聞きます。

$ vmmap <プロセスID> | grep "Code Type"
Code Type:       ARM64          ← ネイティブ
                 X86-64 (translated)  ← Rosettaで翻訳中

アクティビティモニタの「種類」列でも同じことが分かります(Apple/Intel と表示されます)。ターミナル自身が翻訳されているかは、次の一行で分かります。

$ sysctl -n sysctl.proc_translated
0        ← 0=ネイティブ、1=Rosetta

★ネイティブ版があるのに、翻訳側で動いていることがある

p971で実際に踏んだ話です。ユニバーサルバイナリを配っているゲームなのに、Steamから起動するとRosettaで動いていました。

起動方法動いていたものタイトル画面で40秒放置したときのCPU時間(3回平均)
Steamから起動X86-64 (translated)8.78秒
.appを直接起動ARM646.08秒
差★1.44倍

同じ絵を出すのに、CPUの仕事が約1.44倍かかっていたことになります。対処は単純で、steamapps/common/ の中の .app を直接起動するだけです。ただしプレイ時間の記録やオーバーレイが効かなくなる可能性があるので、そこは好みで判断してください。

【症状D・互換レイヤー】画面が真っ黒/音だけ出る

ここから先は、互換レイヤー(Whisky・Wine・GPTK)で遊ぶときの症状です。

音は鳴っているのに絵が出ない——この状態は、実はかなり情報量があります。音が出ているということは、プロセスは生きていて、ゲーム自体は進行している。つまり①②③は通過していて、④の描画だけが失敗していると断定できます。

まず「どの経路で描こうとしているか」を確かめる

p967で分かったことですが、32bitと64bitでは、通る経路がまったく別です。

経路DirectXの受け皿最終的にどこへ
64bit106,496バイトの薄い部品→ D3DMetal → Metal(速い)
32bit454,656バイト(wined3d.dll 同梱)→ OpenGL(Macでは壊れやすい)

ログを見れば、どちらに落ちたかが一発で分かります。wined3d.dll が読み込まれていたら、D3DMetalは通っていません。

Loaded L"C:\windows\system32\wined3d.dll": builtin
wined3d_guess_card_vendor Received unrecognized GL_VENDOR "Apple".
        Returning HW_VENDOR_NVIDIA.
err:d3d:wined3d_check_gl_call GL_INVALID_FRAMEBUFFER_OPERATION (0x506)
        from glClear
                              ※長い行はここで折り返しています

3行目が実際のエラーです。画面を消す処理の時点で失敗しているので、その後どれだけ描いても出てきません。これが真っ黒の中身です。2行目も味わい深くて、GPUの製造元が「Apple」だと認識できず、NVIDIAだと思い込んでいます😳

逆に、Metalに繋がっている証拠の取り方

環境変数を1つ足すと、画面の隅にMetalの状況が出ます。

MTL_HUD_ENABLED=1 で起動すると、こう表示される:

M4 / Rosetta x86_64 / 1280x720 / Metal: 1.66GB   D3D11  Composited
FPS            48.27
GPU            20.73ms
Game Porting Toolkit 3.0

この表示自体が「Game Porting Toolkit 3.0」「D3D11」と自己申告してくれるので、証拠として使いやすいです。

「動いた」と「意図した経路で動いた」は別
p967では、32bitのベンチマークが動いてしまったために、危うくD3DMetalを通っていない数字を載せるところでした。絵が出たかどうかではなく、ログで経路を確かめる。切り分けでも計測でも、ここは同じです。

【症状E・互換レイヤー】ランチャーが真っ白

ウィンドウは出る。枠も、閉じるボタンも、ドロップダウンも描かれている。なのに中身だけが真っ白。これはかなり特徴的な症状で、原因はほぼ1つに絞れます。CEF、つまりアプリに埋め込まれたブラウザです。

互換レイヤー上でゲームランチャーを起動したところ。ウィンドウの枠や言語選択のドロップダウンは描かれているが、中身が真っ白のまま

p970で撮ったものです。Wineが自前で描いている部品(枠・ドロップダウン・ダイアログ)は正しく出ているのに、CEFが描くはずの領域だけが白い。層がきれいに分かれているのが見て取れます。

Steamの場合は、白ではなくエラーとして出ます。

互換レイヤー上のSteamで「Steamwebhelperが応答していません」というダイアログが表示され、しかも日本語が四角い記号になっている

「Steamwebhelperが応答していません」。ログには10秒おきに同じ行が並びます。

[ERROR:check.cc(376)] Check failed: false.
   ↑ 約10秒おきに繰り返す=内部で落ちては再起動している

効かなかった対処(全部書いておきます)

p956とp970で試して、ひとつも効かなかったものです。同じ道を辿らずに済むように残しておきます。

試したこと結果
GPUを使わせない設定(-cef-disable-gpu)❌ 変わらず
プロセスを分けない(-cef-single-process)❌ 変わらず
GPU処理を同じプロセスで(-cef-in-process-gpu)❌ 変わらず
ランチャー側のGPU設定をオフ(レジストリ)❌ 設定は反映されるが、落ち方は同じ
キャッシュ削除/仮想デスクトップ❌ 変わらず
DXMT(Metal向けの描画部品)を導入❌ 変わらず=描画部品の問題ではない

★Wineのバージョンで結果が逆転する

そして、この症状でいちばん覚えておく価値があるのはこれです。p970で、同じゲームの同じランチャーを、Wineのバージョンだけ変えて起動しました。

Wine結果
7.7(GPTK同梱)❌ 即クラッシュ(スタックオーバーフロー)
11.13✅ 落ちない。通信も成功。ただし中身は白いまま
11.14❌ 一般保護違反。毎秒クラッシュを繰り返す

★11.13と11.14は10日違いのリリースです。それで結果が逆転します。新しいほうが良いとは限らないので、うまく動いている組み合わせを見つけたら、そのバージョンを控えておくのが唯一の防衛策です。

直せるか、という問いへの答えは残念ながら「今のところ打つ手なし」です。ここは互換レイヤー側が対応するのを待つしかありません。ランチャーを経由しない起動方法があるなら、そちらのほうが現実的です。

【症状F・互換レイヤー】文字が □ になる

逆に、いちばん簡単に直るのがこれです。日本語がすべて □(豆腐と呼ばれます)になる症状。

互換レイヤー上のランチャーの言語選択。対処前は四角い記号だが、対処後は「日本語」と正しく表示されている

原因は単純で、Windowsのふりをしている環境の中に、日本語の字が入ったフォントが1つも無いだけです。文字を出す仕組みは動いているので、フォントを置けば直ります。

macOSに標準で入っている Arial Unicode.ttf(23.3MB)を、環境の Fonts フォルダにコピーし、代替フォントの設定を入れる。追加のダウンロードは要りません。

つまずきポイント2つ
① ヒラギノでは直りません。.ttc という複数の書体をまとめた形式は、この用途では読まれませんでした。単体の .ttf を使うのが確実です。
② 環境を作り直すたびに再発します。フォントは環境ごとに持つものなので、新しく作ったら毎回入れることになります。

ちなみにこの症状、画像を作るときにも普通に踏みます。この記事のヒーロー画像を作ったとき、等幅フォント(Menlo)で日本語を書こうとして最初は全部 □ になりました。原因も対処も、まったく同じです😅

【症状G・全環境】動く。ただしアカウントが消えることがある

最後は、症状というより警告です。そしてこの記事でいちばん伝えたい部分でもあります。

p982で仮想マシンの検証をしていたとき、ゲームのアカウントが停止されました。しかも解除は2035年という扱いです。異議申し立てをしていますが、結果はまだ出ていません。

★アンチチート入りのゲームを、仮想マシンや互換レイヤーで起動しない
不正行為をしたわけではありません。「仮想化された環境で動いている」こと自体が検出対象になり得ます。
そして怖いのは、この症状には前触れが無いことです。普通に起動し、普通に遊べて、あとからアカウントが止まる。気づいたときには手遅れです。

事前に確かめる2つの軸

この失敗から学んだのは、規約を2つの軸で読む必要があるということです。

軸見るところ見落とすとどうなるか
① 収益化してよいか広告のあるサイトで扱ってよいか記事に書けなくなる
② 仮想化環境で動かしてよいかアンチチートの有無と、その扱い★アカウントが飛ぶ

今回は①だけを確認して、②を確認していませんでした。2つは別の話です。

タイトルごとの状況を調べる方法

Heroic Games Launcher には、アンチチートの対応状況をまとめた表(1,166本分)が同梱されています。中身の内訳はこうでした。

状態本数割合
Broken(動かない)64355.1%
Unknown(不明)26722.9%
Denied(開発元が明確に不許可)25622.0%

★出てくる状態はこの3つだけです。つまりこれは「動くタイトルの一覧」ではなく、問題があるタイトルの警告リストです。ここに名前があったら、素直に諦めるのが安全です。Unknown も安全という意味ではありません——今回止まったタイトルは Unknown でした。

【ここから整理】直せるもの/打つ手がないもの

ここまでの症状を、手間と見込みで並べ直します。

直せる順に並べ替える 上に行くほど手数が少なく、下に行くほど自分では動かせない ◎ 文字が □ になる フォントを1つコピーするだけ。ただし環境を作り直すたびに再発する 手数:1 ◎ 開発元を検証できません 隔離属性を外す。⚠ 配布元が確かなときだけ 手数:1 ○ 遊べるが重い(Rosetta) 起動方法を変えると直ることがある。ネイティブ版が無ければ打つ手なし 手数:2〜3 △ 起動直後に落ちる レポートの落ち方次第。SIGABRT なら望みあり、EXC_BAD_ACCESS なら厳しい 手数:3〜 × 真っ白・真っ黒 層そのものが実装されていない。 待つか、別の手段に乗り換えるか × アカウント停止 起きてからでは戻せない。 ★これだけは事前に避けるしかない

この並びを見ると、手数が少ない症状ほど、原因が単純で層が浅いことが分かります。逆に下の2つは、どちらも「自分の設定の問題ではない」という共通点があります。設定をいじり続けても報われないので、そこを見極める意味でも、症状から層を当てる作業には価値があります。

まとめ

  • 症状は「どの層で止まったか」の合図。5つの関門(入手・実行・CPU・描画・運営のルール)のどこかで止まっている
  • 音が出ているかを最初に見る。音が出ていれば手前3つは通過していて、描画だけの問題だと分かる
  • 落ちた理由は ~/Library/Logs/DiagnosticReports/ に残っている。見るのは4か所だけ。★EXC_BAD_ACCESS はアプリ自身の不具合、SIGABRT は「何かが足りない」の合図で、後者のほうが直せる見込みがある
  • ★クラッシュレポートが1件も無いのに落ちる場合は、OSに止められている。Apple Siliconでは署名の無い実行ファイルは Killed: 9 で殺され、レポートも残らない
  • ★arm64e もネイティブ。ここを間違えると集計が丸ごと壊れる(55%が誤判定になった実績あり)
  • ★ネイティブ版があるのに翻訳側で動くことがある。起動方法を変えるだけでCPU時間が1.44倍違った
  • ★「動いた」と「意図した経路で動いた」は別。ログに wined3d.dll が出ていたら、その数字はD3DMetalのものではない
  • ★Wineは10日違いのバージョンで結果が逆転する。動く組み合わせを見つけたらバージョンを控えておく
  • ★いちばん怖いのは、症状が出ない症状。アンチチート入りのゲームを仮想マシンや互換レイヤーで起動すると、普通に遊べたあとでアカウントが止まる。規約は「収益化の可否」と「仮想化の可否」の2軸で読む

切り分けというのは、結局のところ「自分で直せる範囲かどうかを早めに知るための作業」だと思っています。直せないものに時間を溶かさずに済むだけでも、だいぶ気が楽になります😊

実測した環境
Mac 完結。Apple M4 / メモリ32GB / macOS 26.5.2。計測日は 2026-08-12 です。
この記事の数字は、すべてこの環境で実際に測ったものです。⚠機材や版が変われば結果も変わります。

それでは、今回はここまで。最後までありがとうございました😊