Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#31

投稿記事 by softya(ソフト屋) » 6年前

他のファイルのlog.txtならあるようですが・・・
ってやつを見せて下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

らぶあす
記事: 18
登録日時: 7年前

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#32

投稿記事 by らぶあす » 6年前

すみません、今初めて2ページ目に気付きました。

これ・・・でいいですか?

0:システムの情報を出力します
0: DXライブラリ Ver3.04d
0: 論理プロセッサの数 : 8
0: OS Windows7 ( Build 7601 Service Pack 1 )
100: CPU動作速度:大体1.98GHz
101: MMX命令を使用します
102: SSE命令が使用可能です
103: SSE2命令が使用可能です
104: CPUベンダ:GenuineIntel
106: CPU名: Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz
109:COMの初期化... 成功しました
114:メモリ総量:8139.86MB 空きメモリ領域:4404.14MB
115:タイマーの精度を検査します
116:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60
116: パフォーマンスカウンターを使用します タイマー分解能 : 2143.623000 KHz
117: ソフトの二重起動検査... 二重起動はされていませんでした
119:ウインドウクラスを登録します... 登録に成功しました
120:ウインドウモード起動用のウインドウを作成します
152:ウインドウの作成に成功しました
247:IMEを無効にしました
250:ウインドウスタイルをウインドウモード用に変更します... 完了
251:DirectInput関係初期化処理
252: DirectInput7 の取得中... 成功
276: 引き続き初期化処理... 初期化成功
280: ジョイパッドの初期化...
283: ジョイパッドの初期化は正常に終了しました
284: マウスデバイスの初期化... 初期化成功
286: キーボードデバイスの初期化... 初期化成功
289:DirectInput 関連の初期化は正常に終了しました
290:DirectSound の初期化を行います
291:DirectSound インターフェースの取得を行います.... 成功
297:引き続きインターフェースの初期化処理... 成功
330: DirectSound デバイスを列挙します
333: モジュール名: ドライバ記述:プライマリ サウンド ドライバー
334: モジュール名:{0.0.0.00000000}.{871d36f5-0837-4359-a209-0efaa3d8e329} ドライバ記述:スピーカー (Conexant SmartAudio HD)
335: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz
336: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB

337: 利用可能サンプリング精度
338: プライマリ 16bit = OK 8bit = OK
339: セカンダリ 16bit = OK 8bit = OK

339: 利用可能チャンネル
340: プライマリ MONO = OK STEREO = OK
341: セカンダリ MONO = OK STEREO = OK

342:DirectSound の初期化は正常に終了しました
348:DirectDraw オブジェクトの取得を行います.... 成功
354:引き続き初期化処理... 初期化に成功しました
389:IDirect3D9Ex オブジェクトを取得します.... 成功
392:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します
695:成功
696:Driver:igdumdx32.dll Description:Intel(R) HD Graphics Family
697:画面のフォーマットは D3DFMT_X8R8G8B8 です
698:Zバッファのフォーマットは D3DFMT_D16 です
699:16bit カラーフォーマットは D_D3DFMT_R5G6B5 です
700:32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です
700:アルファ付き 16bit カラーフォーマットは D_D3DFMT_A4R4G4B4 です
701:アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
702:アルファテスト用 16bit カラーフォーマットは D_D3DFMT_A1R5G5B5 です
703:アルファテスト用 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
703:DXT1テクスチャフォーマットは D_D3DFMT_DXT1 です
704:DXT2テクスチャフォーマットは D_D3DFMT_DXT2 です
705:DXT3テクスチャフォーマットは D_D3DFMT_DXT3 です
705:DXT4テクスチャフォーマットは D_D3DFMT_DXT4 です
706:DXT5テクスチャフォーマットは D_D3DFMT_DXT5 です
707:描画用 16bit カラーフォーマットは D_D3DFMT_R5G6B5 です
707:描画用 32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です
708:描画用アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
736:バックバッファロック転送の時間:3324nsec 一時的な描画可能バッファを使用した転送の時間:1249nsec
737:バックバッファロックを使用しません
737:Zバッファを作成します.... 成功
875:プログラマブルシェーダーを使用します

987:フォントの初期化を行います
991:フォントの初期化は正常に終了しました
992:文字コードバッファの初期化を行います... 完了しました
1911:ウインドウを閉じようとしています
1926:ウインドウが破棄されようとしています
1927:ソフトを終了する準備が整いました
1956:フォントの初期化を行います
1958:フォントの初期化は正常に終了しました
2005:DirectInput 関連の終了処理... 完了
2068:DirectSound の終了処理は正常に終了しました
2070:
2070:Alloc memory dump
2071: Total size:0(0.000kb) Alloc num:0
2072:

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#33

投稿記事 by softya(ソフト屋) » 6年前

大丈夫そうですね。
気になるのは、DXライブラリ Ver3.04dと古いバージョンであることです。

あとは新プロジェクトを作って、問題のあるプログラムを移植してみて下さい。
この時DXライブラリを最新にしてみて下さい。

これでダメならビデオドライバを更新しましょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。


アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#35

投稿記事 by softya(ソフト屋) » 6年前

Log.txtで確認できます。

0: DXライブラリ Ver3.04d ← ここが変わったことを確認して下さい。

>やはりフリーズします。

フリーズするプログラムを新しいプロジェクトを作ってソースだけ移しても同じ結果でしょうか?
Log.txtが出力されていないなら何か失敗しています。
1つ1つちゃんと検証しないと何時までも問題は解決しないので、1つ1つ結果を書きだして下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

やまだ

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#36

投稿記事 by やまだ » 6年前

pcフリーズ系はメモリ不足が原因です
これを機会にメモリ増設をオススメします

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#37

投稿記事 by softya(ソフト屋) » 6年前

やまだ さんが書きました:pcフリーズ系はメモリ不足が原因です
これを機会にメモリ増設をオススメします
最初から読んでもらうと分かりますが、それとは言い切れない状況です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

やまだ

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#38

投稿記事 by やまだ » 6年前

画像のロードをwhileループの中に書いちゃってるとかはないですか?

やまだ

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#39

投稿記事 by やまだ » 6年前

失礼。違うコードでも固まるんですね
CCleanerを使う前に復元してみてはどうでしょう

salsww

完全に通りすがりの一見ですが…

#40

投稿記事 by salsww » 6年前

通りすがりですが、意見を。

コード:

#include "DxLib.h"

// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
						LPSTR lpCmdLine, int nCmdShow )
{
	if( DxLib_Init() == -1 )		// DXライブラリ初期化処理
	{
		return -1 ;			// エラーが起きたら直ちに終了
	}

	DrawPixel( 320 , 240 , 0xffff ) ;	// 点を打つ

	WaitKey() ;				// キー入力待ち

	DxLib_End() ;				// DXライブラリ使用の終了処理

	return 0 ;				// ソフトの終了 
}
http://homepage2.nifty.com/natupaji/DxL ... press.html より
で問題が起きるかどうか?を確認してみて下さい。(複数回起動確認をして下さい)
今まで見られたコードではDxLib_Init()のエラーに対する処理が見受けられなかったので、
そこで何か致命的なフリーズを起している可能性もあり、単純に起動失敗を失敗と処理すれば解決できる可能性も。

このほかにも、幾つか問題があり得そうな部分があるのですが、
とりあえず疑うべき問題点から弁別していきましょう。

その次の段階として、プロジェクトの設定が正しく行われていないなどの可能性がありあます。
こちらは、公式ホームページなど(http://homepage2.nifty.com/natupaji/DxL ... press.html
に書かれている設定で新しいフォルダで一からプロジェクトを作ってやり直してみてください。

http://dixq.net/g/01_01.html のプロジェクトのzipファイルを落とし来たものだと、
ちゃんとWindowsの操作及びVisualStudioの操作やコンパイラ設定、OSやプログラムの基礎が分かっていない人が
そのまま使うにはちょっと適さないと思います……。簡単に使える様に設定されてるが故に、修正には知らないと
(※そこにあるプロジェクトでは、64bit版でエラーを起す段階のLibのままで、リンカー時の設定が一般と異なるため。)


さらに念のため、ファイルの名前です。ファイルの名前は何になっていますか?また拡張子は?
それによっては、
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
の部分に問題が生じているかもしれません。(ただし、基本的にはコンパイルエラーになるとは思うのですが…。)
フリーズしてしまうとの報告のコードをみると、仮引数のnComdShowなどが省略されており、
これによって、もしかしたら予想外の最適化や予定外のメモリアクセスが行われているのかもしれません。
(※DXlibとVisual Studio系としては、拡張子はcppが推奨されます。)

salsww

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#41

投稿記事 by salsww » 6年前

もう一つ、
ビデオカードは何をつかっているか分かりますか?
例えば、ATI系のhogehogeとか

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#42

投稿記事 by softya(ソフト屋) » 6年前

>ビデオカードは何をつかっているか分かりますか?

今までの話の内容でINTEL HD Graphics Familyと判明しています。

>(※そこにあるプロジェクトでは、64bit版でエラーを起す段階のLibのままで、リンカー時の設定が一般と異なるため。)

特に何もしなければ64bitコンパイル・リンクされる可能性はないと思いますが。

>フリーズしてしまうとの報告のコードをみると、仮引数のnComdShowなどが省略されており、
>これによって、もしかしたら予想外の最適化や予定外のメモリアクセスが行われているのかもしれません。

それを省略しても私は想外の最適化や予定外のメモリアクセスは起こらないと思います。
もし、起こるとしたら相当なコンパイラのバグではないでしょうか。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

salsww

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#43

投稿記事 by salsww » 6年前

>>(※そこにあるプロジェクトでは、64bit版でエラーを起す段階のLibのままで、リンカー時の設定が一般と異なるため。)
>特に何もしなければ64bitコンパイル・リンクされる可能性はないと思いますが。
すみません。確かに、通常時の2010 expressだとそもそも32bitコンパイルしかできない上に、
DXlibも64bitをコンパイルは3.08以降からでした・・・・・・。

>もし、起こるとしたら相当なコンパイラのバグではないでしょうか。
例えば、 C++ 2010expressのSP1適用前だと、正しくない挙動をするものもあります。
勿論の事ながら、大抵の問題はプログラマー側のミスやなんやなのですが……。

(  591030: MSPDB100.dll は動的に読み込まれるが、DLL は CRT で完全修飾パスを指定しない。
WEOF 定数が "swprintf_s" 関数に渡されると、バッファーでは NULL 終端が受信されない。
 
  548432: C++ コンパイラが、movss 命令ではなく、正しくない movups 命令を生成する。
512552: 64 ビット版の Visual Studio 2010 Beta 2 コンパイラには、/Og オプションに固有の問題が存在する。
565959: /arch:SSE オプションが指定されていても、SSE2 命令が生成される。
525943: x64 版の C++ コンパイラ (オプティマイザー) に固有の問題が存在する。
336316: 最適化が有効である場合、デストラクター呼び出しが所在不明になる。
"decltype(*this)" 型指定子を使用するとコンパイラがクラッシュする。

  554772: C++ コードをデバッグすると、混合コール スタックが破損する。
613569: Visual Studio 2010 でのデバッグ中にローカル変数を調査しようとすると、"CXX0017 シンボルが見つかりません" エラー メッセージが表示される。
[ウォッチ] ウィンドウに正しくない値が表示される。  )
http://support.microsoft.com/kb/983509/ja より

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#44

投稿記事 by softya(ソフト屋) » 6年前

もちろん、C++ 2010expressのSP1適用済みは確認した方が良いと思いますが、どの問題もPC全体がフリーズするとも思えませんが如何でしょうか?
らぶあすさん自体が、アプリ自体がフリーズしたのとPC全体のフリーズを勘違いしていないと仮定しての話となりますが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。


らぶあす
記事: 18
登録日時: 7年前

Re: Dxlibを通じてプログラム作成、そして実行すると八回に一回の割合でPC全体がフリーズします。

#46

投稿記事 by らぶあす » 6年前

えっと報告できることだけはしときます。

ノートンは使ってません。
あとDXlibの最新版をDLしましたが、#includeに赤線が引かれており苦戦しているところです。
(先輩に設定してもらってたのでまだ上手くいってません)

返信遅れ気味ですみません。

閉鎖

“C言語何でも質問掲示板” へ戻る