Commit Graph

417 Commits

Author SHA1 Message Date
Unknown W. Brackets 39cd7f812a Move ctrl to after vblank, not before.
Tests I'd done long ago suggested this wasn't right, but we made other
timing fixes since then, and now tests are showing this is the right
order.

May improve Patapon/etc. timing, or may hurt it...
2013-11-17 19:32:20 -08:00
Sacha fb7c3d96fd Introduce Timer Hack.
Has been used in previous Symbian releases to improve speed. Was thought to only work on Wipeout but actually works on most games?
Games that run based on internal timer will experience 60 VPS without frameskip.
2013-11-16 02:16:17 +10:00
The Dax d56114e30d Fix VS2013. 2013-11-12 18:37:06 -05:00
Sacha 91ddddc2ef Remove unused Thread.{cpp,h} 2013-11-13 02:50:46 +10:00
Sacha d616cc72a2 Add Blackberry statistics overlay option. 2013-10-28 14:19:27 +10:00
Unknown W. Brackets 100c188df6 Fix savestate backwards compat.
Broken since 80702109f5.
2013-10-24 20:01:14 -07:00
danyalzia 036a180708 Update sceDisplay.cpp 2013-09-17 11:41:12 +05:00
Unknown W. Brackets 50e9e45d65 Check version in each DoState() func.
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Unknown W. Brackets c3839a53e5 Fix some minor warnings. 2013-09-07 22:40:08 -07:00
Henrik Rydgard 324cde5a79 Let's actually use the log category mechanism. A first step. 2013-09-07 21:19:21 +02:00
Unknown W. Brackets e6f6564a32 Dumb typo. 2013-09-05 23:10:29 -07:00
Unknown W. Brackets a8f100c94f Add vblank wait callback handlers.
Turns out it's a deadline to wake up by, which makes sense.

sceDisplayWaitVblankStartMultiCB 10
   -> Callback
      sceDisplayWaitVblankStartMultiCB 2
      +2 vblanks
   <- Thread
+8 more vblanks
2013-09-03 23:35:39 -07:00
Unknown W. Brackets 7f1a6154b2 Check if vblank waits were released before waking. 2013-09-03 23:26:23 -07:00
Unknown W. Brackets 6e5426a528 Spend a lot less time calculating the hcount.
Tiny loss in precision, can't even notice.  Cuts time significantly in
Valkyrie Profile.
2013-09-03 00:50:21 -07:00
Unknown W. Brackets 994e2b3e5c Implement sceDisplayAdjustAccumulatedHcount().
And also make sure sceDisplayGetAccumulatedHcount() works right.
2013-09-03 00:50:20 -07:00
Unknown W. Brackets db0c35a86d Start the Hcount at the beginning of vblank. 2013-09-03 00:49:17 -07:00
Unknown W. Brackets 17a5a42a14 Disable some common waits inside interrupts. 2013-08-27 23:55:37 -07:00
Unknown W. Brackets 61fae4e920 Return proper errors while dispatch disabled.
In at least the majority of waits.
2013-08-27 23:55:37 -07:00
Unknown W. Brackets 93b461774a Disable common wait funcs while intr disabled.
Per PSP tests.
2013-08-27 23:55:35 -07:00
Henrik Rydgard 6360fcb0ae Add some stats to get some idea of much alpha tested drawing we do.
Turns out it's one hell of a lot and we really should fix this by
checking both vertices and textures to deduce when we can just skip
alpha testing safely, probably quite often.

I care about this because alpha testing drawing is very expensive
on some mobile chips.
2013-08-27 21:01:17 +02:00
Unknown W. Brackets 57d057d661 Watch for consistently high flips, not spurts. 2013-08-26 20:12:26 -07:00
Unknown W. Brackets 2d806b4820 When fps cap is hit, delay current thread only.
Fixes Jeanne d'Arc freezing.  Unfortunately, small hit to perf in God of
War, but may improve audio quality anyway...
2013-08-25 09:46:21 -07:00
Henrik Rydgard dfb91d4532 Track number of GPU commands executed per call level.
This is to get an idea if it would be beneficial to compile and cache display lists. Looks like it would be for some games, for example in GTA it's often 20k/80k/20k commands per frame - that is 100k executed commands per frame that could potentially just be executed instead of interpreted. Likewise in Wipeout. Of course, this means yet another cache with invalidation issues etc..
2013-08-23 11:29:55 +02:00
Henrik Rydgard b186294132 UI tweaks. Change to cleaner background image. 2013-08-20 00:49:25 +02:00
Henrik Rydgard 6ca3b43b9a Measure actual fps (frameskip+unthrottle included), show all three on one line if you choose "both" (which I probably should rename)
Also prevent annoying scrolls in key mapping dialog
2013-08-19 22:06:49 +02:00
Henrik Rydgard 00d56e6bcf Setting unlimited as an alternate speed is possible again. 2013-08-18 22:48:53 +02:00
Henrik Rydgard a48e1de2d4 Fix slow-motion alternate speeds 2013-08-18 22:40:42 +02:00
Henrik Rydgard 0265ab874f Change FPS limit to "alternate speed", expressed in a percentage.
Fix it so it works correctly for 30fps games.

Some menu tweaks.
2013-08-18 18:55:42 +02:00
Henrik Rydgard 5f11ac4142 Calculate FPS in sceDisplaySetFramebuf like before. 2013-08-16 12:53:35 +02:00
Henrik Rydgard d97b09a88d Revert "Break fix title CG missing in Midlight club 3"
This reverts commit 94ded4c00c.
2013-08-16 09:00:40 +02:00
Henrik Rydgard 664d74a9b7 Another frameskipping attempt. Now: 0=no frameskip, 1=auto frameskipt, 2-9=fixed frameskip.
There is still some flicker remaining in non-buffered rendering that I can't seem to get rid off.
2013-08-16 01:00:26 +02:00
raven02 94ded4c00c Break fix title CG missing in Midlight club 3 2013-08-15 21:58:18 +08:00
Henrik Rydgard c41540d108 Remove checks the check whether the framebuffer already was set, shouldn't have any effect really 2013-08-14 17:54:58 +02:00
Henrik Rydgard 7c4d273879 Count numFlips in a way consistent with our frame timing. 2013-08-11 22:12:15 +02:00
Henrik Rydgard ca6de59019 Another attempt at frame timing / flip detection. Might solve some flicker issue. 2013-08-10 18:39:27 +02:00
Henrik Rydgard bc00a7e302 Process frame timing on frame boundaries instead of flips. Frameskipping works better in many games. 2013-08-07 23:32:28 +02:00
Henrik Rydgard 51ffdfa132 Rename gpuStats.numFrames to numVBlanks. Switch to using numFlips for things like cache expirations. 2013-08-07 22:34:00 +02:00
Unknown W. Brackets df34291461 Remove GLES dependency in sceDisplay.cpp. 2013-07-29 22:47:36 -07:00
Unknown W. Brackets b46ab5f5a4 Always defined WIN32_LEAN_AND_MEAN.
Might as well, less mess everywhere else.
2013-07-28 21:04:20 -07:00
Henrik Rydgard a41cd7bdba Save some work when the displayed buffer isn't dirty. 2013-07-18 10:46:09 +02:00
Unknown W. Brackets 3eb5e917ee Change the config setting to not say game. 2013-06-30 00:02:33 -07:00
Unknown W. Brackets 9f3aae873f Add a config setting to force 60 fps in games. 2013-06-29 20:53:02 -07:00
raven02 de4d970ab6 Toggle to adjust VPS/FPS/Both , new timeFormat/dateFormat/buttonPerference 2013-06-19 15:09:01 +08:00
Unknown W. Brackets 6ff9cf64ca Measure flips per second. 2013-06-17 00:20:27 -07:00
Unknown W. Brackets 9c85bd92e4 Show statistics for GPU cycles executed per frame. 2013-05-31 10:40:16 -07:00
Unknown W. Brackets 4d54ca03d0 Validate number of vblanks in multi wait.
Fixes #1922.
2013-05-28 07:39:41 -07:00
Unknown W. Brackets a723d43e4f Enable frameskip when fps limit is at turbo. 2013-05-20 08:28:07 -07:00
Unknown W. Brackets 50eb11c66f Log some additional things during reporting. 2013-05-19 22:12:39 -07:00
Unknown W. Brackets cdacdee030 Match syscall names to nids ot be safe.
Don't want any more mistakes like the sceVaudio one.
2013-05-19 22:12:39 -07:00
Unknown W. Brackets 7dc5842798 Clean up some variable shadowing. 2013-05-18 10:20:13 -07:00