class DebugScript
{
public:
- DebugScript() : inp(), currentAction(), m_actions(), m_labels(), m_index(0) {}
+ DebugScript(std::istream * in) : m_input(in), currentAction(), m_actions(), m_labels(), m_index(0) {}
virtual ~DebugScript() {}
- void Load(const char *filename)
- {
- inp.open(filename);
- }
+
bool Execute(View *view, Screen *scr);
private:
enum ActionType
AT_SetBounds,
AT_QueryGPUBounds, // query bounds of Beziers when transformed to GPU
AT_ScreenShot, // take screenshot
+ AT_PrintSPF, // Print FPS statistics about the frames
+ AT_PrintBounds, // Print bounds
+ AT_ProfileDisplay,
AT_Quit
};
struct Action
{
ActionType type;
- Real x, y;
+ VReal x, y;
int ix, iy;
- Real z;
+ VReal z;
int iz;
int loops;
- Real w, h;
+ VReal w, h;
std::string textargs;
Action() : type(AT_WaitFrame), x(0), y(0), ix(0), iy(0), z(0), loops(0), textargs("") {}
};
- std::ifstream inp;
+ std::istream * m_input;
Action currentAction;
std::vector<Action> m_actions;
std::map<std::string, int> m_labels;
unsigned m_index;
+ double m_spf_cpu_mean;
+ double m_spf_gpu_mean;
+ double m_spf_cpu_stddev;
+ double m_spf_gpu_stddev;
+
struct PerformanceData
{
clock_t clock;