Changeset 618


Ignore:
Timestamp:
Feb 9, 2011, 1:33:55 AM (11 years ago)
Author:
sam
Message:

Add a benchmark mode to the ticker.

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/ticker.cpp

    r617 r618  
    3131        todolist(0), autolist(0),
    3232        nentities(0),
    33         frame(0), deltams(0), bias(0), fps(0),
     33        frame(0), benchmark(0), deltams(0), bias(0), fps(0),
    3434        quit(0), quitframe(0), quitdelay(20), panic(0)
    3535    {
     
    6262
    6363    /* Fixed framerate management */
    64     int frame;
     64    int frame, benchmark;
    6565    Timer timer;
    6666    float deltams, bias, fps;
     
    169169    data->frame++;
    170170
    171     data->deltams = data->timer.GetMs();
    172     data->bias += data->deltams;
     171    if (data->benchmark && data->fps)
     172    {
     173        data->deltams = 1000.0f / data->fps;
     174    }
     175    else
     176    {
     177        data->deltams = data->timer.GetMs();
     178        data->bias += data->deltams;
     179    }
    173180
    174181    /* If shutdown is stuck, kick the first entity we meet and see
     
    318325    Profiler::Stop(Profiler::STAT_TICK_BLIT);
    319326
    320     float deltams = data->fps ? 1000.0f / data->fps : 0.0f;
    321 
    322     if (deltams > data->bias + 200.0f)
    323         deltams = data->bias + 200.0f; // Don't go below 5 fps
    324     if (deltams > data->bias)
    325         data->timer.WaitMs(deltams - data->bias);
    326     data->bias -= deltams;
     327    if (data->benchmark)
     328    {
     329        data->bias = 0.0f;
     330    }
     331    else
     332    {
     333        float deltams = data->fps ? 1000.0f / data->fps : 0.0f;
     334
     335        if (deltams > data->bias + 200.0f)
     336            deltams = data->bias + 200.0f; // Don't go below 5 fps
     337        if (deltams > data->bias)
     338            data->timer.WaitMs(deltams - data->bias);
     339        data->bias -= deltams;
     340    }
     341}
     342
     343void Ticker::StartBenchmark()
     344{
     345    data->benchmark++;
     346}
     347
     348void Ticker::StopBenchmark()
     349{
     350    data->benchmark--;
    327351}
    328352
  • trunk/src/ticker.h

    r617 r618  
    3333    static void TickDraw();
    3434    static void ClampFps();
     35    static void StartBenchmark();
     36    static void StopBenchmark();
    3537    static int GetFrameNum();
    3638
Note: See TracChangeset for help on using the changeset viewer.