トップページ > 記事閲覧
WindowsXpで初期化が終わらない?
名前:さと 日時: 2015/08/12 22:20

いつもお世話になっております。 ライブラリバージョン 3.14f以降を試してみたところ、WindowsXPで無反応になります。 CPUは100%に達しないようですが、プロセスの終了でしか開放できません。 以下の簡単なテストプログラムで、WindowsXPの二台とも同じ現象で無反応になりました。 Windows7は 32bit, 64bitとも正常に動作しています。 #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ChangeWindowMode( TRUE); if( DxLib_Init() == -1) { return -1; } SetGraphMode( 640, 480, 32); SetTransColor( 0xFF, 0x00, 0xFF); LoadGraphScreen( 0, 0, "sample.bmp", FALSE); WaitKey(); DxLib_End(); return 0; }
メンテ

Page: 1 |

Re: WindowsXpで初期化が終わらない? ( No.1 )
名前:さと 日時:2015/08/12 22:22

Log.txt を載せておきます。 0:ChangeWindowMode実行 0:ウインドウモードフラグが立てられました 16:DXライブラリの初期化処理開始 16: システムの情報を出力します 20: DXライブラリ Ver3.15 20: 論理プロセッサの数 : 2 20: OS WindowsXP ( Build 2600 Service Pack 3 ) 120: 現時点のCPU動作速度:大体1.48GHz 121: MMX命令を使用します 121: SSE命令が使用可能です 122: SSE2命令が使用可能です 122: CPUベンダ:GenuineIntel 125: CPU名: Intel(R) Atom(TM) CPU N270 @ 1.60GHz 126: COMの初期化... 成功しました 160: メモリ総量:1523.88MB 空きメモリ領域:954.24MB 161: タイマーの精度を検査します 162: 精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 163: パフォーマンスカウンターを使用します タイマー精度 : 3579.545000 KHz 164: ソフトの二重起動検査... 二重起動はされていませんでした 166: ウインドウクラスを登録します... 登録に成功しました 167: ウインドウモード起動用のウインドウを作成します 168: ディスプレイ情報のセットアップ開始 170: モニターの数:1 ディスプレイデバイスの数:4 185: No.0 モニター名:\\.\DISPLAY1 1024x600 32bit 60Hz 195: ディスプレイ情報のセットアップ完了 547: ウインドウの作成に成功しました 548: ウインドウを表示します 611: IMEを無効にしました 613: ウインドウスタイルをウインドウモード用に変更します... 完了 667: DirectInput関係初期化処理 667: XInput DLL の読み込み中... 成功 716: DirectInput7 の取得中... 成功 1091: 引き続き初期化処理... 初期化成功 1123: ジョイパッドの初期化... 1141: ジョイパッドの初期化は正常に終了しました 1141: マウスデバイスの初期化... 初期化成功 1202: キーボードデバイスの初期化... 初期化成功 1227: DirectInput 関連の初期化は正常に終了しました 1249: DirectSound の初期化を行います 1249: DirectSound インターフェースの取得を行います.... 成功 1312: 引き続きインターフェースの初期化処理... 成功 1885: DirectSound デバイスを列挙します 1890: Module Name : Description : プライマリ サウンド ドライバ 1891: Module Name : RtkHDAud.sys Description : Realtek HD Audio output 1891: 最大サンプリングレート:192.00KHz 最小サンプリングレート:8.00KHz 1892: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 1893: 利用可能サンプリング精度 1894: Primary 16bit = OK 8bit = OK 1894: Secondary 16bit = OK 8bit = OK 1895: 利用可能チャンネル 1896: Primary MONO = OK STEREO = OK 1896: Secondary MONO = OK STEREO = OK 1897: DirectSound の初期化は正常に終了しました 1900: d3d11.dll の読み込み.... 失敗 1960: Direct3D11 のオブジェクト数を出力 1961: Direct3D11 のオブジェクト合計数 : 0 2039: DirectDraw オブジェクトの取得を行います.... 成功 2652: 引き続き初期化処理... 初期化に成功しました 2702: IDirect3D9Ex オブジェクトを取得します.... IDirect3D9 オブジェクトを取得します.... 成功 2747: IDirect3DDevice9 オブジェクトを取得します.... ハードウエア頂点演算を使用します 3183: 成功 3206: Driver:igxprd32.dll Description:Mobile Intel(R) 945 Express Chipset Family 3207: 画面のフォーマットは D3DFMT_X8R8G8B8 です 3207: 16bit Zバッファフォーマットは D3DFMT_D16 です 3208: 24bit Zバッファフォーマットは D3DFMT_D24X8 です 3208: 32bit Zバッファフォーマットは D3DFMT_D24X8 です 3209: 16bit カラーフォーマットは D3DFMT_R5G6B5 です 3210: 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 3210: アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です 3211: アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 3211: アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です 3212: アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 3212: DXT1テクスチャフォーマットはD3DFMT_DXT1 です 3213: DXT2テクスチャフォーマットはD3DFMT_DXT2 です 3214: DXT3テクスチャフォーマットはD3DFMT_DXT3 です 3214: DXT4テクスチャフォーマットはD3DFMT_DXT4 です 3215: DXT5テクスチャフォーマットはD3DFMT_DXT5 です 3215: 描画用 16bit カラーフォーマットは D3DFMT_R5G6B5 です 3216: 描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 3217: 描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 3217: 使用できる描画用ABGR整数16ビット型カラーフォーマットがありませんでした 3218: 使用できる描画用ABGR浮動小数点16ビット型カラーフォーマットがありませんでした 3219: 使用できる描画用ABGR浮動小数点32ビット型カラーフォーマットがありませんでした 3219: 描画用1チャンネル整数 8 ビット型カラーフォーマットは D3DFMT_A8R8G8B8 です 3220: 使用できる描画用1チャンネル整数16ビット型カラーフォーマットがありませんでした 3220: 使用できる描画用1チャンネル浮動小数点16ビット型カラーフォーマットがありませんでした 3221: 使用できる描画用1チャンネル浮動小数点32ビット型カラーフォーマットがありませんでした 3221: 描画用2チャンネル整数 8 ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です 3222: 使用できる描画用2チャンネル整数16ビット型カラーフォーマットがありませんでした 3223: 使用できる描画用2チャンネル浮動小数点16ビット型カラーフォーマットがありませんでした 3223: 使用できる描画用2チャンネル浮動小数点32ビット型カラーフォーマットがありませんでした 3224: 一度に描画できるプリミティブの最大数:65535 3224: 対応している最大頂点インデックス:65534 3225: 同時にレンダリングできるバッファの数:1 3225: 最大テクスチャサイズ 幅:2048 高さ:2048 3226: テクスチャステージテンポラリレジスタ:使用可 3227: 減算合成のハードウェア対応:ネイティブ 3227: ハードウェア頂点シェーダーバージョンコード:0 3228: エミュレーション頂点シェーダーバージョンコード:300 3228: ピクセルシェーダーバージョンコード:200 3395: バックバッファロック転送の時間:46619nsec 一時的な描画可能バッファを使用した転送の時間:1754nsec 3396: バックバッファロックを使用しません 3396: Zバッファを作成します.... 成功 3526: プログラマブルシェーダーを使用します 3905: フォントの初期化を行います 3992: フォントの初期化は正常に終了しました ここで無反応になっていて、プロセス終了をしたので これ以降のログはありませんでした。
メンテ
Re: WindowsXpで初期化が終わらない? ( No.2 )
名前:管理人 日時:2015/08/14 01:16

ご情報ありがとうございます、手元の WindowsXP 環境でも現象を確認しました 原因を追ってみたところ、初期化処理の終盤で明らかにまずい処理を行ってしまっていました Windows Vista 以降はその「まずい処理」をしてしまっても何事もなかったように 動作してくれるようにOSの仕様が変わったのかもしれません ともあれその「まずい処理」を修正して WindowsXP でも正常に動作するようにしたものをアップしましたので、 よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: WindowsXpで初期化が終わらない? ( No.3 )
名前:さと(解決) 日時:2015/08/14 21:24

お手数をおかけしました。 無事、WindowsXPでも問題なく動作を確認しました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存