FPSが45しか出ない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
でぶの極み重め
記事: 6
登録日時: 1年前

FPSが45しか出ない

#1

投稿記事 by でぶの極み重め » 8ヶ月前

SetGraphMode(Window_X, Window_Y, 32);
を使用して画面を1280*800で出力するとノートパソコンの環境でFPSが45前後になってしまうのですがどうにかならないでしょうか。
処理をFPS関係のものだけにして実行する、ビット深度を32から8にしてもFPSに変化はほぼありませんでした。
できればFPS60くらいほしいです。ゲーミングPCで実行すると出るのですが、ノートパソコンでも遊べるようにしたいです。

prog
記事: 9
登録日時: 2年前

Re: FPSが45しか出ない

#2

投稿記事 by prog » 8ヶ月前

こちらのようなシンプルなFPS表示プログラムでもFPSが45前後になってしまうのでしょうか?

コード:

#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
                                LPSTR lpCmdLine, int nCmdShow )
{
	// ウインドウモードで起動
	ChangeWindowMode( TRUE );

	// 画面解像度を設定
	SetGraphMode( 1280, 800, 32 );

	// VSYNC待ちをしない
	SetWaitVSyncFlag( FALSE );

	// DXライブラリの初期化
	if( DxLib_Init() < 0 ) return -1;

	// 描画先を裏画面にする
	SetDrawScreen( DX_SCREEN_BACK );

	// 変数初期化
	int Time = GetNowCount();
	int Counter = 0;
	int FPS = 0;

	// メインループ
	while( ProcessMessage() == 0 )
	{
		// 画面初期化
		ClearDrawScreen();

		// 画面にFPSを表示する
		DrawFormatString( 0, 0, GetColor( 255,255,255 ), "FPS:%d", FPS );

		// 裏画面の内容を表画面に反映
		ScreenFlip();

		// FPSの処理
		Counter++;
		int Time2 = GetNowCount();
		if( Time2 - Time >= 1000 )
		{
			FPS = Counter;
			Counter = 0;
			Time = Time2;
		}
	}

	// DXライブラリの後始末
	DxLib_End();

	// ソフトの終了
	return 0;
}

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: FPSが45しか出ない

#3

投稿記事 by みけCAT » 8ヶ月前

でぶの極み重め さんが書きました:
8ヶ月前
FPSが45前後になってしまうのですが
DXライブラリを用いて描画先を裏画面にせずにScreenFlip(); を使った時に起こる現象かもしれないですね。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

返信

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