SetGraphMode()を使うと途端に重くなります。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
LisetteLander
記事: 147
登録日時: 14年前
住所: 東京

SetGraphMode()を使うと途端に重くなります。

#1

投稿記事 by LisetteLander » 14年前

それまで640*480のデフォ解像度で作っていたのですが
大きい画面でやろうとSetGraphMode()でウィンドウの大きさを変えると
非常に処理が遅くなります。
不思議だなと思って
SetGraphMode(640,480,16)としてみましたが、変わらずに重いです。
どうしたらいいのでしょうか?

コード:

#define X_MAX 640
#define X_MIN 0
#define Y_MAX 480
#define Y_MIN 0

コード:

#define GLOBAL_INSTANCE
#include "head.h"

int ProcessLoop(int status){
	if(ScreenFlip()!=0)return -1;
	if(ProcessMessage()!=0)return -1;
	if(ClearDrawScreen()!=0)return -1;
	if(gpUpdateKey()!=0)return-1;
	if(status==99)return-1;
	return 0;
}

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
        ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK )/*,SetGraphMode(X_MAX,Y_MAX,16)*/; //ウィンドウモード変更と初期化と裏画面設定

		fast_ini();

		int status=100;
		int status_select=0;

		while(ProcessLoop(status)==0){
				//ゲーム処理
				draw_main(status);
		}
		DxLib_End(); // DXライブラリ終了処理
        return 0;
}

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

Re: SetGraphMode()を使うと途端に重くなります。

#2

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

確かに遅くなりますね。
たしか自動スケーリンク機能が働くのが原因だったかも(うろ覚え)。

DxLib_Init()前にSetGraphMode()を呼び出せば大丈夫ですよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
LisetteLander
記事: 147
登録日時: 14年前
住所: 東京

Re: SetGraphMode()を使うと途端に重くなります。

#3

投稿記事 by LisetteLander » 14年前

的確で迅速かつわかりやすい解答ありがとうございます!

閉鎖

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