From: Patrik Gornicz Date: Fri, 22 Aug 2008 02:08:40 +0000 (-0400) Subject: wip: main testing X-Git-Tag: physics-premerge~138 X-Git-Url: http://gitweb.pgornicz.com/gitweb.cgi?a=commitdiff_plain;h=25d84412359bdfe2648d7e4e2c06b9b178cd3844;p=libbear.git wip: main testing --- diff --git a/src/main.cpp b/src/main.cpp index 228c238..8c3134b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -70,13 +70,17 @@ int update_Count, draw_Count; long int last_Second; -float target_time_steps_per_second = 100; +float target_time_steps_per_second = 1000; +float times; +float time_steps_Count; // experiment with rolling averages float rUpdate = 100; float rDraw = 100; +float rInput = 100; float rRun = 100; + float num = 10; @@ -125,6 +129,8 @@ void clean() /// ***** Private Methods ***** +float total = 0; + void run() { is_Running = true; @@ -143,7 +149,9 @@ void run() rRun = (rRun * (num-1) + time) / num; - cout << "rR:\t" << rRun << endl; + //cout << "total:\t" << total << endl; + //cout << "rR:\t" << rRun << endl; + //total = 0; } } @@ -151,7 +159,7 @@ void blockUpdate() { long int start = tickCountMicro(); - cout << "Block" << endl; + //cout << "Block" << endl; // Calculate the updates that should be run for the next draw update_Sum += (start - last_Block_Update) / (1000000 / (float)target_UPS); @@ -164,13 +172,13 @@ void blockUpdate() { // Calculate a time step that spreads the updates out as much as possible // used because really quick updates are nearly wasted - float time_step = ((float)(start - last_Block_Update)) / iupdate_sum; + float time_step = ((float)(start - last_Block_Update)) / iupdate_sum / 1000; // run the updates for (int i = 1; i <= iupdate_sum; i++) { handleInput(); - update(time_step / 1000); + update(time_step); } // remove the updates that where run from the sum update_Sum -= iupdate_sum; @@ -185,26 +193,37 @@ void updateFPSCounters() { ups = update_Count; fps = draw_Count; + times = time_steps_Count; update_Count = 0; draw_Count = 0; + time_steps_Count = 0; last_Second = tickCountMicro(); #ifdef FPSUPS cout << "ups:\t" << ups << endl; cout << "fps:\t" << fps << endl; + cout << "times:\t" << times << endl; #endif } } void handleInput() { - input::update(); + long int time; + + time = tickCountMicro(); + input::update(); - game::handleInput(); + game::handleInput(); - if(cfg::endGame()) - is_Running = false; + if(cfg::endGame()) + is_Running = false; + time = tickCountMicro() - time; + + rInput = (rInput*(num-1) + time) /num; + + total += rInput; } void update(float time_step) @@ -212,6 +231,7 @@ void update(float time_step) long int time; update_Count++; + time_steps_Count += time_step; time = tickCountMicro(); game::update(time_step); @@ -219,8 +239,10 @@ void update(float time_step) rUpdate = (rUpdate * (num-1) + time) / num; - cout << "ru:\t" << rUpdate << endl; - cout << "ts:\t" << time_step << endl; + //cout << "ts:\t" << time_step << endl; + //cout << "ru:\t" << rUpdate << endl; + + total += rUpdate; } void draw() @@ -236,10 +258,12 @@ void draw() glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - //SDL_Delay(50); +// SDL_Delay(20); time = tickCountMicro() - time; rDraw = (rDraw*(num-1) + time) /num; - cout << "rd:\t" << rDraw << endl; + //cout << "rd:\t" << rDraw << endl; + + total += rDraw; }