Commit Graph

213 Commits

Author SHA1 Message Date
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
Steven Cherry
ddf8b26c87 Fixed Config saving
Fps limit now saves in configuration. It can also be edited there to
allow for any value of fps.
2013-05-11 09:03:33 -05:00
Steven Cherry
e7622ebbd6 Custom Fps Limiter
First time contributing. Set FPS limit on second page of graphics
settings. Press Tab key or on 360 controller, press left stick to toggle
between 3 states.
2013-05-09 19:36:23 -05:00
Unknown W. Brackets
2df10e9b69 Add more accurate cycles in sceRtc and sceDisplay. 2013-05-04 23:42:11 -07:00
Unknown W. Brackets
a1cb85cd05 Stick to a single config entry per option.
We don't need a bool in the ini AND an int setting.

This should also fix the anistropy setting, which appears to have been
pretty much broken.  Also makes frameskip enable even if you don't tap
auto, which is what I'd assumed it did before.
2013-05-02 08:15:50 -07:00
raven02
1366f3e5c9 Stubs for last few functions in sceDisplay 2013-04-30 21:29:18 +08:00
sum2012
b56ed45138 IMPL sceDisplayIsForeground
one  step of fix crash of Sengoku Musou 3 Z Special
2013-04-30 01:44:14 +08:00
raven02
5768947f9d Add configurable frameskip 2013-04-23 21:16:27 +08:00
Henrik Rydgard
1adb52fa03 Fix for gameinfo cache clearing, etc. 2013-04-14 13:01:01 +02:00
Henrik Rydgard
037bda0cbe Faster turbo mode for android. Causes flashing in unbuffered but that's a minor issue. 2013-04-14 12:46:24 +02:00
Henrik Rydgard
7972f98739 Move onscreen turbo to left of select. Force frameskip when unthrottled. 2013-04-14 12:11:49 +02:00
Henrik Rydgard
82aa605b36 Add back shadows to FPS counter and debug text. Warning fixes. 2013-04-08 20:59:45 +02:00
Henrik Rydgard
7900a6d807 Don't use PPGe for debug overlays. Fixes fps counter in games where it didn't work before. 2013-04-07 22:43:59 +02:00
Henrik Rydgard
2301ad0b7c X360 controller: Left thumb speedup, right thumb menu, keyboard still works 2013-03-31 11:30:50 +02:00
Henrik Rydgard
afa21588d7 Some work towards better control handling, includes stickyfix from native 2013-03-30 23:55:28 +01:00
Henrik Rydgard
bd40f0e13c Adjust hcount a little 2013-03-21 22:59:46 +01:00
Unknown W. Brackets
75c5afa147 Add delays in some timing funcs that games tightloop.
Greatly improves performance in Legend of Heroes 1.
2013-03-19 07:48:41 -07:00
Unknown W. Brackets
6e54ce5551 Fix some minor warnings. 2013-03-15 00:45:47 -07:00
Unknown W. Brackets
913dca69ef Turn down logging for things that can be inferred.
If you see a thread switch for a vblank wait, you know what happened.
2013-03-10 22:56:24 -07:00
Unknown W. Brackets
dba04a7e22 Add a function for HLE to consume cycles.
Needed sometimes to make timing match better for tight loops.
Also removes the Puyo Puyo Fever hack.
2013-03-09 13:53:19 -08:00
raven02
c3b2651660 Add %i for return value 2013-03-08 10:35:17 +08:00
raven02
54a2ca65ff Fix slowdown in RR2 or may be others 2013-03-08 09:30:04 +08:00
CrazyMax
bcac3e288b Buildfix: missing semicolon. 2013-03-07 01:58:58 -08:00
raven02
bda4a64e0d Update AccumulatedHcount based on currentHCount 2013-03-07 16:47:09 +08:00
Henrik Rydgard
477aeee0ee Compute current hCount correctly instead of incrementing a counter. 2013-03-06 20:31:51 +01:00
raven02
0d5d735d34 Wrap sceDisplayIsVblank as well 2013-03-05 21:34:22 +08:00
raven02
866bdb3039 Implement sceDisplayGetMode & wrap *Hcount* 2013-03-05 21:31:13 +08:00
Henrik Rydgard
4474adee1d Fix frameskip + unbuffered 2013-03-03 13:21:06 +01:00
Henrik Rydgard
bc15617392 Make un-buffered rendering much smarter, removing flicker.
This turns it into a very viable option for many games. You do lose some FX
but it can as a result even be used as a workaround for the massive glow
in Wipeout...
2013-03-03 13:00:21 +01:00
Darth1701
06bd58454b Stub out sceDisplayIsForeground 2013-03-03 12:39:37 +01:00
raven02
b862841dd4 Put PPGeDraw into CalculateFPS() and add enableColorDoubling alias 2013-03-03 15:33:03 +08:00
Unknown W. Brackets
f2b3d6fb50 Buildfix, should be in GLES. 2013-03-02 13:17:04 -08:00
raven02
7e853b759e Fix Issue #767 - Screen halt when showFPS/Debug disabled 2013-03-03 04:44:35 +08:00
raven02
49d987552c Wrap sceDisplaySetFramebuf 2013-03-02 23:36:11 +08:00
Unknown W. Brackets
e085c3ee76 Fix crash on quit / pause not working. 2013-02-21 01:05:37 -08:00
Henrik Rydgard
588bd50b4d Must restore the new scheduled event 2013-02-19 01:02:31 +01:00
Henrik Rydgard
1aa3a657c0 Very rough and basic implementation of frameskipping. 2013-02-19 00:45:26 +01:00
Henrik Rydgard
7c91802e3c Add some infrastructure to be used for frameskipping 2013-02-19 00:45:26 +01:00
Henrik Rydgard
cbb786c7f0 Restructure Windows "gameloop" to be more similar to others. 2013-02-19 00:45:25 +01:00
Unknown W. Brackets
c00bdb6f82 Don't savestate the last frame time. 2013-02-12 01:24:03 -08:00
raven02
a7f46351c8 FPS: 0.7f for mobile and 0.5f for windows platform/rest 2013-02-12 15:07:17 +08:00
Henrik Rydgard
69da33bd29 Add Show FPS to in-game menu on mobile. Make it green and right-adjusted. 2013-02-12 00:34:59 +01:00
raven02
944e803b14 Change appropriate name to calculateFPS 2013-02-11 18:20:12 +08:00
raven02
88d060848b Prevent FPS overlap and add FPS to debug statistics 2013-02-11 18:00:18 +08:00
Unknown W. Brackets
f8de30b94d Put the fps on the right side.
This way it doesn't overlap the debug text.
2013-02-11 00:39:01 -08:00
Henrik Rydgård
c07370ac3c Merge pull request #650 from KentuckyCompass/fps_counter
Fps counter
2013-02-10 23:04:22 -08:00
KentuckyCompass
f9cafde55c Show record high FPS 2013-02-10 22:50:53 -08:00
KentuckyCompass
475ee2ed71 Show an FPS counter if ini option is true 2013-02-10 22:24:44 -08:00
Unknown W. Brackets
eaaf027035 Implement sceDisplayWaitVblankStartMulti().
Fixes Falcom games running at too-fast framerates.
2013-02-10 19:02:00 -08:00
Unknown W. Brackets
6fda78fb02 Add a few missing sceDisplay syscalls.
Found in Lunar.
2013-02-10 18:39:00 -08:00
Unknown W. Brackets
2e0beb5833 Buildfix for Windows. 2013-02-10 08:10:01 -08:00
Unknown W. Brackets
dc15c004e9 Don't sleep for vsync in headless.
Makes the tests run faster, timeout less.
2013-02-09 00:49:23 -08:00
Unknown W. Brackets
f875e3699f Handle the emit screenshot headless command.
But, it doesn't work.  Shouldn't the vram have the graphics?
2013-02-07 22:44:54 -08:00
Unknown W. Brackets
82a8450758 Fix some more non-pod structs in savestates. 2013-02-04 08:27:02 -08:00
Florent Castelli
8004d360dd Interrupt handler reorganization for easier GE interrupt support 2013-02-04 03:10:01 +01:00