ホーム > トップページ > 記事閲覧
バグ報告スレッド 14
メンテ
名前 : SmokingWOLF / 日時 : 2024/03/19 00:01

WOLF RPGエディターに関するバグ報告を受け付けるスレッドです。

バグ報告に関しては、以下の情報があると助かります。

・【問題発生箇所】エディター(Editor.exe)ならどのウィンドウか、
  ゲーム動作時(Game.exe)なら何のコマンド(または何の処理)か。

・【具体的な再現手順】または【再現ゲームデータ】
 再現できるゲームデータをアップしてくださる場合は、
 ・サンプルゲームに再現処理を加えたもの
 ・Game.exeなども含めた、解凍してすぐに実験できるデータ
 だと嬉しいです。ゲーム基本設定や、細かいバージョン違いが絡んだ
 バグである可能性もあるからです。
 ★ただしEditorPro.exeは製品データなので絶対に含めないでください。

・【エラー文が出た場合は、その文章をなるべく正確に記述してください】

・【強制終了するエラー】については、原因が不明でも、再現できるデータさえ
  いただければ、バグを特定・修正できる可能性がかなり高いです。強制終了関連のバグは、
  1にも2にも、とにかく完全なデータ[Game.dat、Game.exe等も含めたもの]を
  いただけると助かります。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■
< このスレを全て閲覧する>
>>1-500

 名前 サイトURL
 パスワード (記事メンテ時に使用)  スレッドをトップへソート
 コメント
 添付ファイル


   クッキー保存

Page: 1 | 2 | 3 | 4 | 5 |

No.89   Re: バグ報告スレッド 14
メンテ
 2024/04/29 13:39
 SmokingWOLF
 ID:errreirpL408
引き続きのバグのご報告ありがとうございます!

>>80 イベントの挿入などを選んでコモンセルフ変数を使うと■が付かない
Ver3.330で修正してみました。画面写真ありがとうございます。

>>81 コマンド欄の変数更新タイミングの問題、コモンイベント上で右クリックしただけではフォーカスが移動しない問題
Ver3.330で修正してみました、具体的な手順と再現コマンドありがとうございます。

>>82 画像形式について
Ver3最初頃での画像絡みの問題は少ない色数の画像がDXライブラリで使えなくなっていたことによる問題でした。
今のエディタで半透明の画像を使ったときの問題はMFCというユーザインターフェース作成システムや私のマップ更新最適化処理がうまく作れてない都合というのが今のところ分かっています。

>>85 エミュレータで動作しない
Ver3.330でCPU特有の最適化が行われにくいようにして、動作環境を広げてみました。
こちらが使っている仮想環境では問題が一つ起きなくなりましたが、Exagearの方は何が原因で止まってるのか分からないので、これ以上の対応が難しいです。

>>88 CPUの調査情報
詳しい調査情報ありがとうございます。
こちらでもAVXだけに限らず何かの条件が影響してそうな空気感を感じているのですが、
まだまだはっきりとは原因がよく分かっていない状況です。

おっしゃる通り、どこかに特殊なCPU命令が使われてしまうように最適化されてる可能性がまだあるので、
ひとまず試しにVer3.330のGame.exeで、CPU特有の最適化が行われにくいよう設定を変えてみました。
もしかしたら何か変化があるかもしれません。
いただいた情報も元に、引き続き調べてみます。
No.88   Re: バグ報告スレッド 14
メンテ
 2024/04/27 10:14
 トキワモミジ
 ID:riFrOFrei268
>>76
お世話になっております。対応決定後のご報告になり申し訳ないです。
「Ver3.31〜」で暗号化したVer3.324フルパッケージのゲームデータについて、
手元の2011年頃のパソコンでは起動に失敗し、2013年頃のパソコンでは起動に成功しました。
ただ、Coreinfoから調べた限りではどちらのパソコンのCPUもAVX未対応のようです。


起動失敗(2011年頃のノートPC)
Intel(R) Celeron(R) CPU B820 @ 1.70GHz
Windows 7 Home Premium
イベントログの例外コードは先に検証なさった方と同じ「0xc0000005」でした。
「前回の起動失敗を検知〜「SoftModeFlag=1」に書き換える。」の案内に従ってソフトウェアモードを適用した後も
同じ例外コードで起動に失敗します。
「Game.exe」と「Game_d2Qvec-sse2only.exe」で上記の挙動に違いはないようです。

起動成功(2013年頃のタブレットPC)
Intel(R) Atom(TM) CPU Z3770 @ 1.46GHz
Windows 8.1 Pro
「Game.exe」「Game_d2Qvec-sse2only.exe」ともに起動可能です。


各CPUのAVX対応状況はCoreinfoの以下10項目から判断しました。
項目名に「AVX」とつくものはどちらのCPUもすべて未対応でしたが、確認方法自体が間違っていたらすみません。
( - :未対応/ * :対応)
AVX - Supports AVX instruction extensions
AVX2 - Supports AVX2 instruction extensions
AVX-512-F - Supports AVX-512 Foundation instructions
AVX-512-DQ - Supports AVX-512 double and quadword instructions
AVX-512-IFAMA - Supports AVX-512 integer Fused multiply-add instructions
AVX-512-PF - Supports AVX-512 prefetch instructions
AVX-512-ER - Supports AVX-512 exponential and reciprocal instructions
AVX-512-CD - Supports AVX-512 conflict detection instructions
AVX-512-BW - Supports AVX-512 byte and word instructions
AVX-512-VL - Supports AVX-512 vector length instructions


それと暗号化したゲームデータの起動に関係があるかはわからないのですが、
2つのCPU間でサポート状況が異なる項目が9個あったので差分箇所を以下に記載します。
よろしくお願いいたします。

起動に失敗したパソコン
Intel(R) Celeron(R) CPU B820 @ 1.70GHz
Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
SMEP - Supports Supervisor Mode Execution Prevention
AES - Supports AES extensions
XSAVE * Supports XSAVE/XRSTOR instructions
OSXSAVE * Supports XSETBV/XGETBV instructions
RDRAND - Supports RDRAND instruction
MOVBE - Supports MOVBE instruction
ERMSB - Supports Enhanced REP MOVSB/STOSB
PCID * Supports PCIDs and settable CR4.PCIDE
x2APIC * Supports x2APIC

起動に成功したパソコン
Intel(R) Atom(TM) CPU Z3770 @ 1.46GHz
x86 Family 6 Model 55 Stepping 3, GenuineIntel
SMEP * Supports Supervisor Mode Execution Prevention
AES * Supports AES extensions
XSAVE - Supports XSAVE/XRSTOR instructions
OSXSAVE - Supports XSETBV/XGETBV instructions
RDRAND * Supports RDRAND instruction
MOVBE * Supports MOVBE instruction
ERMSB * Supports Enhanced REP MOVSB/STOSB
PCID - Supports PCIDs and settable CR4.PCIDE
x2APIC - Supports x2APIC
No.87   Re: バグ報告スレッド 14
メンテ
 2024/04/27 00:57
 Masaqq
 ID:reFLiW308
>>86
私が差し出がましく返信したのは
もう少し踏み込んだ有益な情報を期待してのことでした。

誤解されているようですが高度な知識やルールが求めたりしてるわけではなく
簡単に言えば「他ソフトで試したんだったらウディタで試してくれ!」
と文章を読んで思っただけです。

特に誰も怒っても叱ってもいませんので
有益な情報だと思えばどんどん出した方がいいと思います!
(SmorkingWOLFさんが倒れない程度に)
No.86   Re: バグ報告スレッド 14
メンテ
 2024/04/26 23:26
 Ikura
 ID:rLrOL1008
>>83
ありゃ、まさかのレスが。

>推測の話ではなく
ウディタのソースコードは作者さんしか見れないでしょうし、ひょっとしたら程度の思いつきからの報告でしたので…。
バグ報告スレッドにそんな敷居の高いルールやプログラム知識が必要とは思わず、軽い気持ちで報告してしまい申し訳ないです。

>あくまで情報提供だけであるならば
>返信を求めない形で文章を送るとスムーズかと思います。
そのつもりでああいう締めくくり方で書いたのですが「?マーク」付けたのがマズかったかな。誤解させてしまったようですみません。
No.85   Re: バグ報告スレッド 14
メンテ
 2024/04/26 16:47
 hunter
 ID:riFeeLrpi254(海外)(Proxy)
【Exagearシミュレータが動作しない】
PRO版を含むWolfRPGeditor Ver 3.303および以前の旧バージョンでは、暗号化されたゲームは、仮想マシンのようなAndroid側でWindowsをシミュレートするためのツールであるExagearシミュレータで正常に実行できます。

しかし、バージョンVer 3.310以降は、Exagearエミュレータ上でゲームを実行することができず、PC側でしか実行できなくなっています。

もしWOLFゲームがPC側でしかプレイできないのであれば、残念ですが、対応するソリューションを見てください。
添付ファイルあり20240426_1647_49_1.jpg

No.84   Re: バグ報告スレッド 14
メンテ
 2024/04/25 10:20
 m
 ID:rirrLirLO224
検証ありがとうございます。
グラフィックドライバーの最新版をインストールする前にまず、DirecXのバージョンを11→9に変えてみら、例の画像は出ませんでした。
その後グラフィックドライバーを最新版に更新してDirecXのバージョンを11に戻してみると、また例の画像が出てきました。
何にせよこちらのPCに問題があるという事が分かりましたので、まずは環境を整えてみます。お手間をおかけしてすみませんでした。
No.83   Re: バグ報告スレッド 14
メンテ
 2024/04/25 14:01
 Masaqq
 ID:reFLiW308
>> 82
推測の話ではなく
実際にPhotoshopとウディタで試して再現したら
報告する方が良いのではないでしょうか。
(検証する時間や環境があるとは限らないので、できるなら協力した方が良いという話)

あくまで情報提供だけであるならば
返信を求めない形で文章を送るとスムーズかと思います。
No.82   Re: バグ報告スレッド 14
メンテ
 2024/04/24 20:09
 Ikura
 ID:rLrOL1008
バグ報告ではないのですがver.3.324の取説にある素材規格の画像編を読み返していてふと思ったので書き込みに。

以前、Photshopで描いた絵をjpegかpngで出力していくつかのソフトに読み込ませようとした際にエラーを出したり表示がおかしくなることがチラホラありました。これの原因が「レイヤー分けしたまま画像統合せずに出力してしまった画像」や「インターレース有りで出力した画像」なんかがソフトによって不具合になってました。

レイヤー情報を扱えないソフトでレイヤー分けしたままの画像を読み込ませると不完全なレイヤー情報で無理矢理一枚絵として出力された画像がファイル内部データに残ったままなので正常に読み込めないことがあるようです。
同様にプログレッシブ方式のみを扱うよう処理されたソフトでインターレース方式の画像を読み込ませると2枚分の画像を扱う処理機能がないためやはり不具合を起こしやすいようでした。

ウディタはver.3からPNG絡みで起動時に謎のクラッシュ現象が起きたり、アルファブレンドなしや減色されたPNGが正常に表示できないことがあるとのことだったので、もしかしてレイヤー未統合で出力していた自作素材絵なんかをレイヤー処理できない減色ソフトを用いて減色加工したのであれば、その減色済み素材をウディタに読み込ませた際に同様の不具合が起きるのかもしれないと思った次第です。

SmokingWOLFさん的にはこの辺どうでしょう?不具合解消のきづきにでもなれば幸いです。
No.81   Re: バグ報告スレッド 14
メンテ
 2024/04/23 21:29
 YADO
 ID:LerLWW459
ウディタ[3.324]で動作確認。


■一覧が更新されない不具合

先日報告した「条件(文字列)」のセルフ変数の一覧が更新されない症状と同じような症状を複数箇所で確認しました。

▼イベントの挿入「コモンEv名で呼出」
コモンイベントの画面で、コモン0「○アイテム増減」をコピーし、コモン215に貼り付ける。

コモンイベントのイベントコマンドの設定画面を開き、
イベントの挿入の画面の「コモンEv名で呼出」で「○アイテム増減」を選択すると、
設定画面の下に「コモンEv215」が表示されて、コモン215の「○アイテム増減」が選択されている事が分かります。

イベントコマンドの設定画面を閉じて、貼り付けたコモン215を削除し、
イベントコマンドの設定画面を表示して「コモンEv名で呼出」で「○アイテム増減」を再選択すると、
「コモンEv215」が選択された状態がキープされ、設定欄が何も無い状態になります。

またコモン215に「aaa」と言ったコモン名を設定し、
一度「コモンEv名で呼出」の一覧で「aaa」がある事を確認してからイベントコマンドの設定画面を閉じて、
コモン215を削除し、再び「コモンEv名で呼出」の一覧を確認すると「aaa」が残った状態になります。
コモン215の削除後に更新ボタンを押してから「コモンEv名で呼出」の一覧を確認しても「aaa」が残ります。

▼キャラ選択時のマップイベント名
サンプルマップAを表示し、マップイベントかコモンイベントのイベントコマンドの設定画面を開きます。

「変数操作+」の「キャラ」のキャラ選択をクリックして一覧を表示すると、
主人公、仲間の下に、サンプルマップAのマップイベント名が表示されます。

イベントコマンドの設定画面を閉じ、サンプルマップBへ移動して、
再び「変数操作+」のキャラ選択をクリックすると、サンプルマップAのマップイベント名のままになります。

「キャラエフェクト」や「イベントの一時消去」にあるキャラ選択でも同じ症状が発生します。
「場所移動」や「キャラ動作指定」にあるキャラ選択では、
同じ手順を行っても正常に現在のマップのマップイベント名に更新されます。

▼共通する症状
「条件(文字列)」の時と同様に、一覧が更新されないイベントコマンドの設定画面を表示しながら上記作業を行うと、正常に一覧が更新されます。
また一覧が更新されていない状態で、一度イベントコマンド入力ウィンドウ以外をクリックしてから一覧をクリックすると、正常に表示されます。


■コモン010[○経験値・Lv増減]でレベルアップ表示

可変DB[0:主人公ステータス]のウルファールの項目[21:[成長]防御力増加 /1Lv]を「1」にして、
■イベントの挿入[名]: ["○経験値・Lv増減"] <コモンEv 10> / 12:ウルファール / 0:レベル増減 / 5 / 1:有り
WoditorEvCOMMAND_START
[300][6,1]<0>(0,4,12,0,5,1)("○経験値・Lv増減")
WoditorEvCOMMAND_END
を実行すると、パラメータの増減の表示が
「攻撃力 +15 防御力 +5 精神攻 +20 精神防御 +10」
となり、1行の文字列が長すぎてメッセージウィンドウをはみ出して表示してしまいます。

改善点としては、コモン070[X[移]パラメータ増減]の
防御力と精神攻の間(232行目)と、
命中率と回避率の間(285行目)に改行を入れて、
精神防御と敏捷性の間(258行目)の改行を
■文章:@1\n\>\cself[9]
■文字列操作:CSelf9[表示メッセージ文] = " "
WoditorEvCOMMAND_START
[101][0,1]<0>()("@1<\n>\>\cself[9]")
[122][3,1]<0>(1600009,0,0)(" ")
WoditorEvCOMMAND_END
に変えて、1行につきパラメータを横に2個並べて表示するようにして、2回に分けて表示する方法が考えられます。

2回目の表示で、敏捷性、命中率、回避率、クリティカルのいずれも増減しない場合は、
文字列が無い空のメッセージウィンドウが表示される状態になりますが、2回目の表示を
■条件分岐(文字): 【1】 CSelf9[表示メッセージ文]が " \n " 以外
-◇分岐: 【1】 [ CSelf9[表示メッセージ文] " \n " 以外 ]の場合↓
|■文章:@1\n\>\cself[9]
|■
◇分岐終了◇
WoditorEvCOMMAND_START
[112][2,4]<0>(1,270035465)(" <\n> ","","","")
[401][1,0]<0>(1)()
[101][0,1]<1>()("@1<\n>\>\cself[9]")
[0][0,0]<1>()()
[499][0,0]<0>()()
WoditorEvCOMMAND_END
などと設定すれば、空のウィンドウだけが表示される事が無くなります。

ただ何も増減しなかった事を示す場合は、空のウィンドウの表示が必要になるかもしれません。


■コモンイベント画面のショートカットキー

前にマップイベントであった、
【1】イベント一覧でイベント選択
【2】イベントコマンド設定欄で右クリック→コピーなどを選択
【3】「Del」キーを押すとイベント削除
がコモンイベントの方でも発生します。

例えば
【1】コモンイベント一覧でコモンイベント「○アイテム増減」を選択。
【2】イベントコマンドの上で右クリック→コピー(全て選択などでも良い)。
【3】[Del]キーを押すと、イベントコマンドではなく、コモンイベント「○アイテム増減」を削除。
と言った感じです。

他にも
【1】コモンイベント一覧でコモンイベント「○アイテム増減」をイベントコピー。
【2】コモンイベント「○武器増減」を選択し、イベントコマンドの上で右クリック→コピー。
【3】[V]キーを押すと、イベントコマンドではなく、コモンイベント「○アイテム増減」を貼り付けてしまう。
と言った事にもなります。

別のコモンイベントに切り替えたあとに、一度イベントコマンド設定欄をクリックすると、イベントコマンドのショートカットキーになります。


■コモン136の説明文

コモン136「X[戦]パラメータ取得」の3行目に
▼ このコモンイベントは移動中のみ有効です。
とありますが「戦闘中のみ有効」が正しいと思われます。
No.80   Re: バグ報告スレッド 14
メンテ
 2024/04/23 15:47
 クロノ
 ID:rpW525
お疲れさまです。Ver3.324にて
コモンを名前呼び出し以外で
セルフ変数を入れると使用中の■がつきませんでした
添付ファイルあり20240423_1547_54_1.jpg

No.79   Re: バグ報告スレッド 14
メンテ
 2024/04/23 11:56
 SmokingWOLF
 ID:errreirpL408
>>77 SSE2のみの設定でコンパイルしてもやはり昔のPCでは起動せず
引き続きの検証ありがとうございます。
こうなると「CPUが古いことが要因で起きてるけれどAVXなどとは別の場所に問題がある」ケースも考えられそうですが、見当が付きません。

時間と共に問題がなくなっていく話だとは思いますので、
当面は開発者さまへの告知で対応させていただこうと思います。
(ひとまず次からEditorの「ゲームデータ作成」の暗号化欄に、最新暗号化を使うと古いPCで問題が起きるという説明を追記しておきます)


>>78 想定外の画像がちらちら出る
ご報告ありがとうございます。
影響がありそうな画像表示周りをここ最近いじった記憶がないこと、このタイルの出方や、
たまに出てくるというお話、他の方(私の環境含む)では起きていないらしい状況から、
お使いのPCのグラフィックメモリに何らかの問題が出ているような印象もあります。
開発上お困りでしたら、以下の対応を取ってみてください。

・グラフィックドライバーの最新版をインストールする。
 → 気休めに感じますが意外と直ることがあります。難しい場合はBingのページでCopilotなどに聞いてみてください。

・同梱のConfig.exeを起動し、「グラフィック表示モードを『3Dモード』のまま『DirecXのバージョンを11→9に変える』」→「適用」をおこなってGame.exeを起動してみてください。
 それでもだめなら「グラフィック表示モード」を「ソフトウェアモード」にして「適用」→Game.exe起動すると高確率で直ると思います。
 (が、見え方が3Dモードと変わる場合があるのでソフトウェアモードは最終手段としてお使いください)

もしかしたら他の箇所での修正が影響していたり、
あるいはVer3.310からゲームに使用している「DXライブラリ」のコードを最新化したために
影響が出ている可能性もあるので、引き続き情報収集してみます。
もし何かこちらで直せる原因がありそうでしたら対応してみます。
No.78   Re: バグ報告スレッド 14
メンテ
 2024/04/23 10:16
 m
 ID:rirrLirLO224
ウディタpro、ver3.324のサンプルゲームプレイ中に馬、タイガ、ターの周辺をうろうろしているとターの頭上に黄色のタイル画像っぽいものがちらちら表示されるのですが、これは何でしょうか?
常に一定の確率で出るわけではなく、移動時に一瞬だけ表示されるという事もありますが、表示される位置はいつもターの頭上です。
スクリーンショットに撮れた時は一定間隔で表示されていたので撮影できました。
添付ファイルあり20240423_1016_41_1.png

No.77   Re: バグ報告スレッド 14
メンテ
 2024/04/22 05:47
 初心者
 ID:erprpgF568
>>76
いつもありがとうございます。

残念ながら当方の該当ノートPCでは起動しませんでした。

CPU intel i5-480m Windows 10 Pro (2011年頃のノートPC)
CPU intel Celeron P4600 Windows 11 Home (2011年頃のノートPC)

P4600上のWindows 11は本来OSがインストールできないPCなのですが無理矢理インストールしているものなのでおまけでテストしています。

2011年頃以前のPCを使用している人がほとんどいないくて影響はないかもしれません。

※Celeron N3050搭載のWindows 10 Home (2016年頃のノートPC)は起動します

当方のノートPCに問題があるかもしれないので
ほかの検証結果もあったほうがよいです。
添付ファイルあり20240421_2324_28_1.png

No.76   Re: バグ報告スレッド 14
メンテ
 2024/04/20 23:00
 SmokingWOLF
 ID:errreirpL408
>>75 自動ベクター化
おおーまさにそれです! 非常に貴重な情報ありがとうございます!
隠しオプション、もし動作するならあと5年も耐えればほぼ問題なくなると思いますので今しばらく残っているなら助かりそうです。

ひとまず、手軽で処理負荷への影響が軽かった/d2Qvec-sse2onlyを使ってVer3.324のGame.exeをコンパイルしてみました。
(no_vectorは処理負荷が3〜20倍以上になるのと対応量が現実的ではなさそうでした)

特にコンパイル時のエラーなどは起きなかったのですが、正常にこれで動作可能になっているのかは
古いPCをお持ちの方しか分からないので、
もしよければ2011年頃のPCをお持ちの方はお試しいただけますと幸いです。

【Game_d2Qvec-sse2only.exe】
https://silversecond.com/WolfRPGEditor/Data/20240420_Game_d2Qvec-sse2only.zip
条件:「2011年頃の(AVX命令のないCPU搭載の)PC」で「Ver3.31〜暗号化」を行ったデータでこのGame.exeを実行する
 → もし動作すれば今回の問題が解決したということになります。

VS2022も17.9.6に更新してみました、ここ数日は17.9.5のままだったようです。
No.75   Re: バグ報告スレッド 14
メンテ
 2024/04/20 20:15
 通りすがり
 ID:ergeOired350
ループ! 昔どこかで見たような…。

自動ベクター化
https://learn.microsoft.com/ja-jp/cpp/parallel/auto-parallelization-and-auto-vectorization?view=msvc-170#auto-vectorizer
> 自動ベクター化機能は、/arch スイッチで指定されていない命令を生成することもあります。
> これらの命令は、実行時チェックによって保護され、引き続きコードが正しく実行されることが確認されます。
> たとえば、/arch:SSE2 のコンパイル時に SSE4.2 命令が送出されることがあります。

全部のループ(for|while|do)直前に
#pragma loop( no_vector )
を付けるのは気が滅入りますが、
/d2Qvec-sse2only
という隠しオプションもあるようです(VS2022で効くかは不明)。
https://stackoverflow.com/questions/47800965/

余談です。
VSは2週に1〜2回更新されていますが、VS自体の更新はされていますでしょうか。
現在17.9.6ですが、17.9.5では
「古い CPU を搭載したマシンで発生するクラッシュを修正しました。」
なんてしょーもない修正もありました(こちらはVS自体がクラッシュするという意味ですが)。
No.74   Re: バグ報告スレッド 14
メンテ
 2024/04/20 17:51
 SmokingWOLF
 ID:errreirpL408
>>73 組み込み命令
おお、情報ありがとうございます!
実はAVX命令が使われていると思われるところは、
ただのfor文が最適化された結果そうなっちゃってるので、
少なくとも私の側のコード内では、組み込み命令を明示的に使っている箇所は1つもなかったりします。

たとえば
for(int i=0;i<〜;i++){ a[i] ^= b[i]; } ※少しボカしてます
みたいな処理が勝手にAVX命令として最適化されちゃっているみたいで、
こんなのが無数にあって探すのが大変でした。
(コンパイラはSSE2かAVXか分からない何かの最適化をしたとしか教えてくれませんし)

オプションで組み込み関数の使用を一切なしにする(?)ことでもしかしたら解決できるのかもしれませんが、
こういった処理のパフォーマンスが全体的に落ちると考えるとこれまた悩ましいところです。
No.73   Re: バグ報告スレッド 14
メンテ
 2024/04/20 16:59
 通りすがり
 ID:ergeOired350
たとえばAVX命令入りの組み込みを使っている場合は
/arch:SSE2を指定していたとしてもAVX命令が使われるようです。
https://devblogs.microsoft.com/oldnewthing/20201026-00/?p=104397
_mm_insert_epi32()はそのままPINSRD(SSE4)になっちゃうよ、という例。

https://learn.microsoft.com/ja-jp/cpp/intrinsics/x86-intrinsics-list
にある_m_〜や_mm_〜とかですね。
DxLib等で使われていたら探すのは難しいかもしれませんね…。
No.72   Re: バグ報告スレッド 14
メンテ
 2024/04/20 15:49
 SmokingWOLF
 ID:errreirpL408
>>71 /arch:SSE2に設定するのではダメ?
情報ありがとうございます!
実はここまでの過程でVisual Studioのコンパイラオプションの「拡張命令セットを有効にする」の「/arch:SSE2」オプションを試してみたのですが(>>62 のGame.exeがそれでした)、
なぜかその状態でもAVX機能の最適化がオンになってしまう現象が確認されました。

調べると、/arch:SSE2は「最低でもSSE2を使うよ」という意味らしく(私にもよく分かりません)、
AVXを使わないようにするなら「/arch:IA32(CPU拡張機能を全部オフ)」にしないと
ダメっぽいかもという話がありました。

ただ、Game.exe内ではDXライブラリ部分含めSSE命令と思われる最適化が他にもたくさん行われているようなので、
CPUの拡張機能全部オフはさすがに厳しいと思ってカットしていません。
AVX処理をしている部分もデータ処理速度が最適化されない場合の28倍くらいになってるので、
なるべく残して快適にしたいのが心情です。
No.71   Re: バグ報告スレッド 14
メンテ
 2024/04/20 15:28
 通りすがり
 ID:ergeOired350
最適化で使われる命令ってコンパイラオプションの/archで指定できませんでしたっけ?
https://learn.microsoft.com/ja-jp/cpp/build/reference/arch-x86

SIMD命令はMMXからAVX512までいっぱいありますがSSE2で十分な気がします。
WindowsはWindows 7の2018年3月のアップデートから
SSE2が必須となっています(当時Vistaはサポート終了済み)。
https://support.microsoft.com/ja-jp/topic/110d3a09-810a-c447-72a7-d52c561364cd
(アプリケーションの代表例として)ブラウザーは以下のようになっています。
SSE2 Chrome 35 (2014-05-20)
SSE2 Firefox 49 (2016-09-20)
SSE3 Chrome 89 (2021-03-02)
No.70   Re: バグ報告スレッド 14
メンテ
 2024/04/19 19:06
 SmokingWOLF
 ID:errreirpL408
>>69 動作する状況について
情報ありがとうございます。

3.14暗号化までは動作するとのことで、やはりAVXがどう考えても影響している気がするのですが、理解が難しい状況のようです。
ゲームデータ作成ダイアログにもそういった暗号化別の挙動についての情報を表示することで、
開発者の方にも理解の上で暗号化バージョンを選んでいただこうと思います。

このたびは粘り強い情報提供、誠にありがとうございました。

Page: 1 | 2 | 3 | 4 | 5 |