X



Visual Studio 2010 Part21

0274デフォルトの名無しさん
垢版 |
2021/11/12(金) 08:37:33.57ID:/mOMSKGK
質問主です。
ライブラリの作者の方に相談したところ、これはDirect3D 9の仕様であり、計算速度を稼ぐために
CPUの浮動小数点演算の精度をfloatに変更するのがデフォルトになっているとのことでした。
それを無効化するオプションの設定方法を教えていただき、無事解決しました。
0275デフォルトの名無しさん
垢版 |
2021/11/12(金) 10:36:52.59ID:uCoii1J0
>Direct3D 9の仕様

ほう
オプション描けよ
0276デフォルトの名無しさん
垢版 |
2021/11/12(金) 10:51:59.06ID:/mOMSKGK
DirectXの初期化時にD3DCREATE_FPU_PRESERVEというフラグをセットすること
により、回避できるそうです。
0277デフォルトの名無しさん
垢版 |
2021/11/12(金) 10:57:11.64ID:uCoii1J0
GJ
0278デフォルトの名無しさん
垢版 |
2021/11/12(金) 11:09:39.08ID:FZk+tejh
https://docs.microsoft.com/ja-jp/windows/win32/direct3d9/d3dcreate
Direct3D 浮動小数点演算の精度を、呼び出し元のスレッドで使用される有効桁数に設定します。
このフラグを指定しない場合、Direct3D では、次の2つの理由により、
既定で単精度のラウンドツーニアモードが使用されます。

倍精度モードでは、Direct3D のパフォーマンスが低下します。
Direct3D の部分は、浮動小数点単位の例外がマスクされることを想定しています。
これらの例外をマスク解除と、未定義の動作が発生する可能性があります。

なるほど最近のバージョンでも起こり得るのかな
0279デフォルトの名無しさん
垢版 |
2021/11/12(金) 13:01:11.41ID:JADHf6kW
Dirext3D内部の設定がSystem.Mathに影響を与えるってこと?w

よく知らんがFPU自体が演算精度の設定を持ってて、
プロセス全体の演算精度がそれに影響されるってこと?

聞いたことないけどマジならヤバいねw
0281デフォルトの名無しさん
垢版 |
2021/11/12(金) 18:48:12.56ID:JnXYuZWY
割と見つかる
>>274 のDirectXのライブラリの作者の方のチョンボか
>>270 の言う通り本人か
http://slapper.sblo.jp/article/38594486.html
https://so-zou.jp/software/tech/library/managed-direct3d/troubleshooting/operation-precision.htm
http://scientistb.blog42.えふしー2.com/blog-entry-148.html
https://qiita.com/mod_poppo/items/9588b6f425ffe4b5c7bf
https://qiita.com/YamadaSan/items/63cdc124c191e3c3fff1
https://qiita.com/yuji_yasuhara/items/0f94f3b60b4525dd1e74
0282デフォルトの名無しさん
垢版 |
2021/12/02(木) 21:49:14.57ID:1bhUWA4L
デバッグ時にのみ環境変数を設定したいのですが
プロジェクト→プロパティ構成プロパティ→デバッグ→環境
で設定しようとしても1つしか設定出来ません
hoge1=a
hoge2=b
のようにしてもhoge1のみしか有効になりません
解決策あるでしょうか?
0283デフォルトの名無しさん
垢版 |
2021/12/02(木) 22:45:10.20ID:yWr6GauZ
pathを複数設定するときに複数行で書けず1行にしないといけなくて困ったことあるけど、それもだめなのかよ。なんとかしてもらいたいな
ソースコード中で#ifdef DEBUGとか使って設定したら?
0285デフォルトの名無しさん
垢版 |
2022/09/09(金) 14:48:17.39ID:rZ/ATUsx
使っているのはexe化しているpy2exeだから、
心配なら最新のPython上で動かせばいい。
レスを投稿する


ニューススポーツなんでも実況