c++ 精简版 fps限制

用来限制 fps

 

#pragma once



#include <windows.h>



struct fps_limit {



	int previous_time;

	int tpf_limit;

	int tpf;



	fps_limit(int fps = 60) : previous_time(GetTickCount()), tpf(0) {

		limit_fps(fps);

	}

	void reset() {

		previous_time = GetTickCount(),

		tpf = 0;

		tpf_limit = 60;

	}

	void limit_fps(int fps) {

		tpf_limit = (int)(1000.0f / (float)fps);

	}

	void delay() {

		tpf = GetTickCount() - previous_time;



		if(tpf < tpf_limit)

			Sleep(tpf_limit - tpf - 1);



		previous_time = GetTickCount();

	}

};

test:

 

 

#include <iostream>

using namespace std;



#include "fps_limit.h"

int main() {

	fps_limit fps(60);

	int i = 0;

	while(1) {

		cout << i++ << " ";

		fps.do_limit();

	}

}



 

 

你可能感兴趣的:(C++)