Re: 【3.10f】GraphFilter()などで動作が停止 ( No.1 ) |
- 名前:管理人 日時:2013/08/03 17:21
手元の環境では再現できなかったのですが、エラーの原因となってしまいそうな箇所に手を加えてみました
よろしければこちらをお試しになってみてください m(_ _;m
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用
http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』を、VCをお使いの場合は『リビルド』を、
Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
> 余談:
> そういえば環境について、今まではデュアルディスプレイだということを書いていませんでしたが、
> 必要な情報でしたでしょうか?
以前デュアルディスプレイで挙動がおかしくなるという現象があったので( NVidia のドライバが原因で
デュアルディスプレイ+64bitOSの環境で 32bitアプリを起動すると、Direct3D の特定の処理でエラーが
発生するという現象がありました )教えて頂けると原因究明のきっかけになるかもしれません
|
Re: 【3.10f】GraphFilter()などで動作が停止 ( No.2 ) |
- 名前:てらす 日時:2013/08/04 19:52
管理人さん、お疲れ様です。
ご回答ありがとうございます。
さっそく、更新していただいたバージョンで動作を確認して見ましたが
不具合の改善には至っておりませんでした・・・
勝手ながら色々と試しまして、どうやらDXライブラリが6月23日のバージョンまでは正常に動作しますが
6月30日のバージョンから動作の停止が発生するようです。
※確認用のバージョンは以下のスレッドからダウンロードしました。
h ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=3041
一応、この後のレスに不具合が発生した時のログと、動作確認に使用したテストコードを貼っておきます。
せっかくの便利な機能で、封印してしまうのはもったいないと思いますので・・・
余談についてはわかりました。今後はデュアルディスプレイ環境であることも書いておきます。
|
Re: 【3.10f】GraphFilter()などで動作が停止 ( No.3 ) |
- 名前:てらす 日時:2013/08/04 19:56
まずはログです。
0:システムの情報を出力します
2: DXライブラリ Ver3.10f
4: 論理プロセッサの数 : 8
8: OS Windows7 ( Build 7601 Service Pack 1 )
114: CPU動作速度:大体3.49GHz
116: MMX命令を使用します
119: SSE命令が使用可能です
120: SSE2命令が使用可能です
121: CPUベンダ:GenuineIntel
125: CPU名: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
126:COMの初期化... 成功しました
131:メモリ総量:8144.89MB 空きメモリ領域:4680.27MB
132:タイマーの精度を検査します
133:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60
134: パフォーマンスカウンターを使用します タイマー精度 : 3420.585000 KHz
136: ソフトの二重起動検査... 二重起動はされていませんでした
139:ウインドウクラスを登録します... 登録に成功しました
140:ウインドウモード起動用のウインドウを作成します
161:ウインドウの作成に成功しました
162:ウインドウを表示します
182:IMEを無効にしました
184:ウインドウスタイルをウインドウモード用に変更します... 完了
210:DirectInput関係初期化処理
211: XInput DLL の読み込み中... 成功
218: DirectInput7 の取得中... 成功
232: 引き続き初期化処理... 初期化成功
235: ジョイパッドの初期化...
242: 入力装置を見つけました
244: デバイスの登録名:Virtual JoyStick KMDF HID Minidriver
245: デバイスの製品登録名:Virtual JoyStick KMDF HID Minidriver
298: 周期的エフェクトの作成に失敗しました。
302: ジョイパッドの追加は正常に終了しました
309: 入力装置を見つけました
312: デバイスの登録名:PC Game Controller
315: デバイスの製品登録名:PC Game Controller
319: 周期的エフェクトの作成に失敗しました。
323: ジョイパッドの追加は正常に終了しました
326: ジョイパッドの初期化は正常に終了しました
329: マウスデバイスの初期化... 初期化成功
335: キーボードデバイスの初期化... 初期化成功
342:DirectInput 関連の初期化は正常に終了しました
347:XAudio2 の初期化を行います
350: XAudio2 インターフェースの取得を行います.... 成功 Ver2.7
359: 引き続きインターフェースの初期化処理... 成功
363: X3DAudio.DLL の読み込み中... 成功
405: デバイス名:スピーカー (Sound Blaster X-Fi Surround 5.1 Pro)
407: チャンネル数:2
409: ビット精度:16bit
411: サンプリングレート:48000Hz
413:XAudio2 の初期化は正常に終了しました
417:DirectDraw オブジェクトの取得を行います.... 成功
424:引き続き初期化処理... 初期化に成功しました
464:IDirect3D9Ex オブジェクトを取得します.... 成功
468:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します
722:成功
724:Driver:nvd3dum.dll Description:NVIDIA GeForce GTX 660
725:画面のフォーマットは D3DFMT_X8R8G8B8 です
726:16bit Zバッファフォーマットは D3DFMT_D16 です
728:24bit Zバッファフォーマットは D3DFMT_D24X8 です
729:32bit Zバッファフォーマットは D3DFMT_D16 です
730:16bit カラーフォーマットは D3DFMT_R5G6B5 です
731:32bit カラーフォーマットは D3DFMT_X8R8G8B8 です
732:アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です
733:アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
734:アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です
735:アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
736:DXT1テクスチャフォーマットはD3DFMT_DXT1 です
738:DXT2テクスチャフォーマットはD3DFMT_DXT2 です
739:DXT3テクスチャフォーマットはD3DFMT_DXT3 です
740:DXT4テクスチャフォーマットはD3DFMT_DXT4 です
741:DXT5テクスチャフォーマットはD3DFMT_DXT5 です
742:描画用 16bit カラーフォーマットは D3DFMT_R5G5B5 です
743:描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です
744:描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
745:描画用ABGR整数16ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です
746:描画用ABGR浮動小数点16ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です
747:描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です
749:描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_L8 です
750:描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_L16 です
751:描画用1チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_R16F です
752:描画用1チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_R32F です
753:描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です
754:描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です
755:描画用2チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_G16R16F です
757:描画用2チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_G32R32F です
758:一度に描画できるプリミティブの最大数:16777215
759:対応している最大頂点インデックス:16777215
760:同時にレンダリングできるバッファの数:4
761:最大テクスチャサイズ 幅:8192 高さ:8192
763:テクスチャステージテンポラリレジスタ:使用可
764:減算合成のハードウェア対応:ネイティブ
765:ハードウェア頂点シェーダーバージョンコード:300
766:エミュレーション頂点シェーダーバージョンコード:エミュレーション無し
767:ピクセルシェーダーバージョンコード:300
773:バックバッファロック転送の時間:41nsec 一時的な描画可能バッファを使用した転送の時間:654nsec
775:バックバッファロックを使用します
776:Zバッファを作成します.... 成功
807:プログラマブルシェーダーを使用します
842:フォントの初期化を行います
847:フォントの初期化は正常に終了しました
860:文字コードバッファの初期化を行います... 完了しました
866:画面モード変更処理を開始します
872: Direct3DDevice9 の解放 2
891: Direct3D9 DLL の解放 1
895: DirectDraw オブジェクトの取得を行います.... 成功
897: 引き続き初期化処理... 初期化に成功しました
925: IDirect3D9Ex オブジェクトを取得します.... 成功
986: IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します
1272: 成功
1274: Driver:nvd3dum.dll Description:NVIDIA GeForce GTX 660
1275: 画面のフォーマットは D3DFMT_X8R8G8B8 です
1277: 16bit Zバッファフォーマットは D3DFMT_D16 です
1278: 24bit Zバッファフォーマットは D3DFMT_D24X8 です
1279: 32bit Zバッファフォーマットは D3DFMT_D16 です
1281: 16bit カラーフォーマットは D3DFMT_R5G6B5 です
1282: 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です
1283: アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です
1284: アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
1286: アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です
1287: アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
1288: DXT1テクスチャフォーマットはD3DFMT_DXT1 です
1290: DXT2テクスチャフォーマットはD3DFMT_DXT2 です
1291: DXT3テクスチャフォーマットはD3DFMT_DXT3 です
1292: DXT4テクスチャフォーマットはD3DFMT_DXT4 です
1293: DXT5テクスチャフォーマットはD3DFMT_DXT5 です
1295: 描画用 16bit カラーフォーマットは D3DFMT_R5G5B5 です
1296: 描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です
1297: 描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
1299: 描画用ABGR整数16ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です
1300: 描画用ABGR浮動小数点16ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です
1301: 描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です
1302: 描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_L8 です
1304: 描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_L16 です
1305: 描画用1チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_R16F です
1306: 描画用1チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_R32F です
1308: 描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です
1309: 描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です
1310: 描画用2チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_G16R16F です
1311: 描画用2チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_G32R32F です
1313: 一度に描画できるプリミティブの最大数:16777215
1314: 対応している最大頂点インデックス:16777215
1315: 同時にレンダリングできるバッファの数:4
1317: 最大テクスチャサイズ 幅:8192 高さ:8192
1318: テクスチャステージテンポラリレジスタ:使用可
1320: 減算合成のハードウェア対応:ネイティブ
1321: ハードウェア頂点シェーダーバージョンコード:300
1322: エミュレーション頂点シェーダーバージョンコード:エミュレーション無し
1324: ピクセルシェーダーバージョンコード:300
1329: バックバッファロック転送の時間:26nsec 一時的な描画可能バッファを使用した転送の時間:564nsec
1330: バックバッファロックを使用します
1332: Zバッファを作成します.... 成功
1424: プログラマブルシェーダーを使用します
1472: グラフィックを復帰します
1474: グラフィックの復帰が完了しました
1477: ウインドウスタイルをウインドウモード用に変更します... 完了
1481:画面モード変更処理は正常に終了しました
test.exe の 0x6acb9ed8 で初回の例外が発生しました: 0xC0000005: 場所 0x00000088 を読み込み中にアクセス違反が発生しました。
test.exe の 0x772715de でハンドルされていない例外が発生しました: 0xC0000005: 場所 0x00000088 を読み込み中にアクセス違反が発生しました。
![メンテ](https://dxlib.xsrv.jp/cgi/patiobbs/bbsimg//mente.gif) |
Re: 【3.10f】GraphFilter()などで動作が停止 ( No.4 ) |
- 名前:てらす 日時:2013/08/04 19:58
続いてテストコードです。
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){
int graph;
ChangeWindowMode( TRUE );
if( DxLib_Init() == -1 ){ return -1; }
//これがFALSEの時のみ
SetChangeScreenModeGraphicsSystemResetFlag( FALSE );
//* 画像を作成
graph = MakeScreen( 64, 64 );
/*/ // またはLoadGraphでの読み込み
graph = LoadGraph( "test.png" );
//*/
//* 画像を読み込んだ後に画面モード変更
SetGraphMode( 320, 240, 32 );
/*/ // またはフルスクリーンモードに変更
ChangeWindowMode( FALSE );
//*/
GraphFilter( graph, DX_GRAPH_FILTER_GAUSS, 8, 100 ); //ここで止まる
DrawGraph( 0, 0, graph, FALSE );
WaitKey();
DxLib_End();
return 0;
}
|
Re: 【3.10f】GraphFilter()などで動作が停止 ( No.5 ) |
- 名前:管理人 日時:2013/08/08 23:12
ありがとうございます、テストコードで私の手元でも現象が再現しました
( 私のテストで再現しなかったのは本バグが DX_GRAPH_FILTER_GAUSS のように
複数パスが必要なフィルターでのみエラーが発生するバグだったからでした )
修正版をアップしましたので、よろしければお試しになってみてください m(_ _;m
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用
http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』を、VCをお使いの場合は『リビルド』を、
Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
|
Re: 【3.10f】GraphFilter()などで動作が停止 ( No.6 ) |
- 名前:てらす(解決) 日時:2013/08/12 19:19
返信が遅くなり申し訳ありません。
私の方でも現象が修正されていることを確認しました。
対応してくださり、ありがとうございました。
|