PSP: throttle the number of updateScreen() calls

svn-id: r43539
This commit is contained in:
Joost Peters
2009-08-19 16:23:44 +00:00
parent 88ac419052
commit bbac75bc1c
3 changed files with 11 additions and 1 deletions
+1 -1
View File
@@ -75,7 +75,7 @@ const OSystem::GraphicsMode OSystem_PSP::s_supportedGraphicsModes[] = {
};
OSystem_PSP::OSystem_PSP() : _screenWidth(0), _screenHeight(0), _overlayWidth(0), _overlayHeight(0), _offscreen(0), _overlayBuffer(0), _overlayVisible(false), _shakePos(0), _mouseBuf(0), _prevButtons(0), _lastPadCheck(0), _padAccel(0), _mixer(0) {
OSystem_PSP::OSystem_PSP() : _screenWidth(0), _screenHeight(0), _overlayWidth(0), _overlayHeight(0), _offscreen(0), _overlayBuffer(0), _overlayVisible(false), _shakePos(0), _lastScreenUpdate(0), _mouseBuf(0), _prevButtons(0), _lastPadCheck(0), _padAccel(0), _mixer(0) {
memset(_palette, 0, sizeof(_palette));
+1
View File
@@ -59,6 +59,7 @@ protected:
uint16 _palette[256];
bool _overlayVisible;
uint32 _shakePos;
uint32 _lastScreenUpdate;
Graphics::Surface _framebuffer;
+9
View File
@@ -38,6 +38,8 @@
#define MOUSE_SIZE 128
#define KBD_DATA_SIZE 130560
#define MAX_FPS 30
unsigned int __attribute__((aligned(16))) list[262144];
unsigned short __attribute__((aligned(16))) clut256[256];
unsigned short __attribute__((aligned(16))) mouseClut[256];
@@ -295,6 +297,13 @@ void OSystem_PSP_GU::copyRectToScreen(const byte *buf, int pitch, int x, int y,
}
void OSystem_PSP_GU::updateScreen() {
u32 now = getMillis();
if (now - _lastScreenUpdate < 1000 / MAX_FPS)
return;
_lastScreenUpdate = now;
sceGuStart(0,list);
sceGuClearColor(0xff000000);