[pjmoo-gbf commit] r147 - FPSSystem: Melhorando desempenho do sistema de temporização

0 views
Skip to first unread message

codesite...@google.com

unread,
Apr 4, 2009, 12:36:38 AM4/4/09
to pjmo...@googlegroups.com
Author: davidferreira.FZ
Date: Fri Apr 3 21:11:12 2009
New Revision: 147

Modified:
trunk/projeto/src/FPSLimitado.cpp
trunk/projeto/src/FPSLimitado.h

Log:
FPSSystem: Melhorando desempenho do sistema de temporização

Modified: trunk/projeto/src/FPSLimitado.cpp
==============================================================================
--- trunk/projeto/src/FPSLimitado.cpp (original)
+++ trunk/projeto/src/FPSLimitado.cpp Fri Apr 3 21:11:12 2009
@@ -20,12 +20,10 @@

namespace FPS {

-FPSLimitado::FPSLimitado(int taxaFrames)
+FPSLimitado::FPSLimitado(int taxaFrames)
{
std::cout << "GBF::Kernel::FPS::FPSLimitado" << std::endl;

- framestart = 0.0f;
-
if (taxaFrames<30){
fpsConstante = 30;
} else {
@@ -33,31 +31,30 @@
}

std::cout << "\tFPS: " << (float) fpsConstante << " fps" << std::endl;
+ iniciar();
}
-FPSLimitado::~FPSLimitado()
+FPSLimitado::~FPSLimitado()
{
+
}
-void FPSLimitado::processar()
+void FPSLimitado::processar()
{
+ int delta = SDL_GetTicks() - frameStart;

- while( (SDL_GetTicks() - framestart) < 1000 / fpsConstante )
- {
- //wait...
- //se tempo atual menos o tempo inicial for menor que
- // 1000/30, faz com que entre em espera
- //at� que se complete o tempo
+ if(delta < fpsConstante){
+ SDL_Delay(fpsConstante - delta);
}

- framestart = SDL_GetTicks();
+ frameStart = SDL_GetTicks();
}
//Deve ser chamado antes do loop principal do jogo
-void FPSLimitado::iniciar()
+void FPSLimitado::iniciar()
{
std::cout << "\tSDL: ";
- framestart = SDL_GetTicks();
- std::cout << (double) framestart << " ticks" << std::endl;
+ frameStart = SDL_GetTicks();
+ std::cout << (int) frameStart << " ticks" << std::endl;
}
-int FPSLimitado::getValor()
+int FPSLimitado::getValor()
{
return fpsConstante;
}

Modified: trunk/projeto/src/FPSLimitado.h
==============================================================================
--- trunk/projeto/src/FPSLimitado.h (original)
+++ trunk/projeto/src/FPSLimitado.h Fri Apr 3 21:11:12 2009
@@ -28,10 +28,9 @@
private:
int fpsConstante;

- double framestart;
+ int frameStart;

FPSLimitado(int taxaFrames);
-

public:
virtual ~FPSLimitado();
Reply all
Reply to author
Forward
0 new messages