Commit graph

313 commits

Author SHA1 Message Date
iota97
fe86f257b5 Cache 60 FPS requirement 2020-09-15 07:49:01 +02:00
iota97
0c885db052 User chain support 2020-09-13 21:48:00 +02:00
Henrik Rydgård
ccc0331279 Move timeutil to Common. (Experiment to see how much work it is to move these). 2020-08-15 20:53:08 +02:00
Henrik Rydgård
b43698a13d Remove most instances of base/logging.h from Common, Core, GPU, more 2020-08-15 19:08:44 +02:00
Unknown W. Brackets
b8342fb8ec SaveState: Rename ChunkFile files to Serialize.
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets
1dc5ee424b SaveState: Split out Do types to reduce headers. 2020-08-10 08:03:44 +00:00
Unknown W. Brackets
4b4e3432cd SaveState: Split Do() into a separate header. 2020-08-10 08:03:41 +00:00
Henrik Rydgård
d57edfbdac Rename FramebufferCommon.cpp/h to FramebufferManagerCommon.cpp/h for consistency 2020-08-03 23:17:22 +02:00
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
Unknown W. Brackets
d33b8643cb Display: Prevent delaying flips inside interrupts.
It causes us to run out of idle threads, and doesn't even make sense.
2018-05-08 18:32:25 -07:00
Henrik Rydgård
b6472b562b
Revert "Limit the flip delay in the other direction to try to work around #10763." 2018-05-02 10:07:37 +02:00
Henrik Rydgård
5f9767d19e Remove misleading log 2018-04-29 09:45:34 +02:00
Henrik Rydgård
687b5f92b1 Limit the flip delay in the other direction to try to work around #10763. 2018-04-20 11:49:38 +02:00
Henrik Rydgård
c1e05ae861 Let's not do immediate flips in non-buffered. Should help #10395 2018-03-11 17:42:16 +01:00
Unknown W. Brackets
f9750dd137 Display: Avoid limiting FPS without a clear.
A bit of a dirty heuristic to avoid the slowdown in #8538.
2017-12-26 19:37:40 -08:00
Unknown W. Brackets
1776726bd6 Display: Only reapply state on load.
Shouldn't be needed on save.
2017-12-09 21:54:48 -08:00
Unknown W. Brackets
6f99383733 Display: Reset cycle counter on load state. 2017-12-09 21:53:26 -08:00
Henrik Rydgård
54ff4c8822 Avoid multiple flips per frame, fixes immediate flip for God of War 2017-12-06 14:29:08 +01:00
Henrik Rydgård
4c720631c1 Add mitigation for games like GTA that never call sceDisplaySetFramebuf 2017-12-06 14:29:08 +01:00
Henrik Rydgård
522de63eed Flip immediately if that's OK. This can save up to a frame of graphics latency, in games that display "immediately" instead of latched. 2017-12-06 14:29:08 +01:00
Unknown W. Brackets
b36a2c608b Display: Correct max FPS limiting skew.
We were letting a percentage of too frequent flips through, causing
sometimes much higher FPS still.  Improves performance in GoW.
2017-12-03 07:01:05 -08:00
Unknown W. Brackets
79cb51aa91 UI: Show slow message based on refresh rate.
It was always showing because it wasn't divided by 1000.
2017-07-01 16:21:47 -07:00
zminhquanz
7347c28464 Fixes 2017-06-15 21:43:41 +07:00
zminhquanz
e2c9fa7f57 Fixes 2017-06-15 12:15:56 +07:00
zminhquanz
bb5114bc84 Add 1 line 2017-06-12 13:41:04 +07:00
zminhquanz
98586e0af8 Oops 2017-06-11 20:42:54 +07:00