Commit Graph

305 Commits

Author SHA1 Message Date
Unknown W. Brackets
4ef63843d2 Display: Allow unthrottle to skip only flipping.
Before, it either flipped continuously, or forced frameskip on.  This
makes it so you can still draw frames, but skip actual flips.

This is useful when games draw things only in a single frame and reuse
later.  It's also useful when measuring speed improvements if you already
get 100% speed on a device.
2020-07-19 13:57:04 +02:00
Henrik Rydgård
1897eed9b4 More buildfixes 2020-07-18 21:43:13 +02:00
Henrik Rydgård
a722dfe0fb Formalize "core excpetions" as a concept 2020-07-12 15:25:21 +02:00
Henrik Rydgård
df6f216056 Disable the "Duplicate frames" feature if frameskip != 0. Works around / Fixes #13068 2020-06-28 22:20:22 +02:00
Henrik Rydgård
788b8a29d6 Fix the logic around postEffectRequiresFlip so duplicateFrames doesn't require a post shader. 2020-03-17 13:10:43 +01:00
Unknown W. Brackets
a6edf70aa0 Display: Update latched fbaddr on immediate update.
This is needed for the next sceDisplayGetFramebuf() to return the right
value.  This is why it didn't seem to match tests.
2020-03-15 19:13:41 -07:00
Henrik Rydgård
d385096599 Add option to improve frame pacing through duplicate frames if framerate is below 60hz.
Should help #9736, and fixes #12325.
2020-03-15 17:33:16 +01:00
Unknown W. Brackets
6652fe261f PPGe: Use TextDrawer for save UI if available.
This should result in better spacing for non-Latin characters, and less
missing letters.  Basically the same benefits as for the UI.
2020-03-10 21:30:53 -07:00
Unknown W. Brackets
cebcfb1bbd GPU: Use old frame when presenting a skip.
If we flip using a skipped frame, we may show an even older frame causing
weird flickering.
2020-03-01 13:55:28 -08:00
Unknown W. Brackets
566e46d70c Vulkan: Allow alt speed above 60 with vsync.
Enabling frameskip when needed.  Also don't enable frameskip when it's not
needed, such as OpenGL on Windows with >100% alt speed.
2020-03-01 07:44:06 -08:00
Henrik Rydgård
2ec82951a0 Merge pull request #12659 from unknownbrackets/vsync
Support vsync in all hardware backends, support runtime update
2020-03-01 09:52:14 +01:00
Unknown W. Brackets
2a3fd05651 Vulkan: Present using FIFO for vsync.
This allows the setting to be changed at runtime in Vulkan too.

Should help #10105.
2020-02-29 22:48:59 -08:00
Unknown W. Brackets
ce694da5ff UI: Separate sleep time in frame time graph.
It's useful to know how much of the frame time is active vs inactive.
2020-02-17 11:29:32 -08:00
iota97
90ff68e6c9 Framegraph in devmenu 2020-02-11 08:19:30 +01:00
Unknown W. Brackets
5009698cc0 Core: Use a shared_ptr for i18n categories.
This does not make them thread safe, but it reduces the chances of a crash
a bit (see #12594.)
2020-02-09 07:35:16 -08:00
李通洲
55bb58e13e NativeApp: add System_GetPropertyFloat all the places 2020-02-04 09:20:34 +08:00
Unknown W. Brackets
bc4a203fcf Power: Correct hz on update and improve resched.
It only reschedules when the PLL changes, which changes in steps.  This
also reads back much more accurate Mhz for each of PLL, CPU, and bus.
2019-04-14 14:51:35 -07:00
Unknown W. Brackets
11be1e7a67 Core: Fix lag sync on game start / after pause.
Fixes #11189.  It was often stuck thinking it was constantly running over,
needed a reset on large delay.
2019-02-19 03:09:42 -08:00
Henrik Rydgard
38a2d83aa8 Partially revert #10456 (avoid limit FPS without a clear).
It's a pretty gnarly hack-upon-a-hack. Better to remove the original hack (limit fps) in the general case.
2019-02-06 18:31:02 +01:00
Henrik Rydgard
47a9145355 Remove iForceMaxEmulatedFPS and replace with a compat setting for the two games that really need it.
Takes care of one setting listed in #8171 "Options to remove"
2019-02-06 15:03:15 +01:00
mrfixit2001
d9ad57e918 Move comments in function to be more relevant 2018-11-04 13:33:42 -05:00
root
c19d3fe06a MRFIXIT2001: This patch adds a second frameskip setting, one for setting the # of frames to skip, one for setting the % of frames to skip based off fps 2018-11-03 01:33:41 +00:00
Unknown W. Brackets
014d9ddead Display: Resched interrupt before vblank threads.
Otherwise, we may first schedule to a woken thread, and then immediately
reschedule to the interrupt.  Each reschedule costs ticks, and it doesn't
look like this should cause two reschedules.

Improves #11414, Breath of Fire 3 frame flicker.
2018-10-07 14:41:08 -07:00
Unknown W. Brackets
c10b2035b5 Debugger: Prevent record with no commands.
Should cut down on empty dumps, at least.
2018-09-01 09:51:04 -07:00
Unknown W. Brackets
95f270778e Core: Allow toggle between 2 custom speeds.
In addition to virtual keys for each speed separately.
2018-06-23 10:59:18 -07:00