1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
#ifndef _ROAM_MESH_DRAWER_H_
#define _ROAM_MESH_DRAWER_H_
#include <map>
#include "System/EventHandler.h"
class CBenchmark : public CEventClient
{
public:
static bool enabled;
static int startFrame;
static int endFrame;
public:
CBenchmark();
~CBenchmark();
void ResetState() {
realFPS.clear();
drawFPS.clear();
simFPS.clear();
units.clear();
features.clear();
gameSpeed.clear();
luaUsage.clear();
}
// CEventClient interface
bool WantsEvent(const std::string& eventName) {
return (eventName == "GameFrame") || (eventName == "DrawWorld");
}
bool GetFullRead() const { return true; }
int GetReadAllyTeam() const { return AllAccessTeam; }
void GameFrame(int gameFrame);
void DrawWorld();
private:
std::map<float, float> realFPS;
std::map<float, float> drawFPS;
std::map<int, float> simFPS;
std::map<int, size_t> units;
std::map<int, size_t> features;
std::map<int, float> gameSpeed;
std::map<int, float> luaUsage;
};
#endif // _ROAM_MESH_DRAWER_H_
|