トップページ > 記事閲覧
長時間稼働PC上での動作不具合
名前:ナナシ 日時: 2019/12/13 16:12

1日程度PCを起動しっぱなしにした後 DXライブラリ使った自作プログラム実行すると 1.FPSが120くらいになる 2.1280のウインドウ横幅に対して800くらいまでしか画像が表示されなくなる の不具合が発生しています。 環境依存でしょうか? PCを再起動すると正常に動作します。 プログラムは再起動しても同じ現象が何度でも再現します。
メンテ

Page: 1 |

Re: 長時間稼働PC上での動作不具合 ( No.1 )
名前:管理人 日時:2019/12/14 06:21

私も数日PCを起動しっぱなしにしたことが何度かありますが、載せていただいたような現象は 遭遇したことがありません… 幾つかご質問させてください 1. お使いのPCのスペック( OS, CPU, メモリ容量,グラフィックカードなど )を教えていただけないでしょうか? 2. 最新版のDXライブラリをお使いでしょうか? 3. 1日起動しっぱなしの間、ログアウト状態やディスプレイがスタンバイモードになることなく、  ずっとディスプレイの電源がONで画面が表示された状態でしょうか? 4. 以下のようなシンプルなプログラムでもFPSが120になる現象と、1280のウィンドウの横幅に対して800くらいまでしか  画像が表示されなくなる現象は発生しますでしょうか? < 画面の中を棒が上下に動くプログラム > #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int FPSCounter ; int DispFPS ; int FPSTime ; int x, y, xadd, yadd ; // ウィンドウモードで起動 ChangeWindowMode( TRUE ) ; // 画面モードは 720p SetGraphMode( 1280, 720, 32 ) ; // DXライブラリ初期化処理 if( DxLib_Init() == -1 ) { return -1 ; } // 描画先を裏画面に変更 SetDrawScreen( DX_SCREEN_BACK ) ; // FPS表示処理初期化 DispFPS = 0 ; FPSCounter = 0 ; FPSTime = GetNowCount() ; // 動く棒の変数初期化 x = 0 ; xadd = 8 ; y = 0 ; yadd = 8 ; // メインループ while( ProcessMessage() == 0 ) { // 画面をクリア ClearDrawScreen() ; // 動く棒の動作+描画処理 x += xadd ; if( x <= 0 ) { x = 0 ; xadd = -xadd ; } else if( x >= 1280 ) { x = 1280 ; xadd = -xadd ; } DrawBox( x - 16, 0, x + 16, 720, GetColor( 0,255,0 ), TRUE ) ; y += yadd ; if( y <= 0 ) { y = 0 ; yadd = -yadd ; } else if( y >= 720 ) { y = 720 ; yadd = -yadd ; } DrawBox( 0, y - 16, 1280, y + 16, GetColor( 255,255,0 ), TRUE ) ; // FPS表示処理 FPSCounter ++ ; int NowCount = GetNowCount() ; if( NowCount - FPSTime >= 1000 ) { DispFPS = FPSCounter ; FPSCounter = 0 ; FPSTime = NowCount ; } DrawFormatString( 0, 0, GetColor( 255,255,255 ), "FPS:%d", DispFPS ) ; // 裏画面の内容を表画面に反映 ScreenFlip() ; } // DXライブラリ使用の終了処理 DxLib_End() ; // ソフトの終了 return 0 ; }
メンテ

Page: 1 |

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

   クッキー保存