PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
GNU General Public License v3.0
11.78k stars 1.63k forks source link

[Feature Request]: Fast Forward (Hold) #5538

Closed TradeDraft closed 2 years ago

TradeDraft commented 2 years ago

Description

When you Press the Fast Forward Button it stays in Fast Forward and Turns Off when you let go instead of of Pressing to Start and Then Press again to Stop.

Reason

Find it's easier to use the Hold instead of Pressing. Just makes it Easier to use Fast Forward and don't fast forward anything Accidentally

Examples

FF RA

TheTechnician27 commented 2 years ago

I second this and would love to see this idea implemented in Qt.

refractionpcsx2 commented 2 years ago

Can you give examples of where this would be useful that the toggle isn't sufficient?

refractionpcsx2 commented 2 years ago

I've been using Autohotkey to do a similar thing, hold spacebar to F4, release to Tab. It's a lighter mental load and is easier to use without taking your hands off the controller.

I use it for things such as: -repetitive cut-scenes/dialogues -battles against weak enemies -slow menus/UI (Xenosaga 1, startup logos for middleware) -traveling/backtracking (Wild Arms 3/ACF air travel, Suikoden 4 and Persona 3/4's towns).

most of those sound like situations where just toggling F4 would be more useful than keeping your finger on a button

TradeDraft commented 2 years ago

Can you give examples of where this would be useful that the toggle isn't sufficient?

It's okay but I use the Hold Fast Forward in just about every other Emulator I have used.

Just easy to Fast Forward straight away and stop when I lift it off instead of Pressing it On and Off.

As silentbrains said it's easier to get Thru Stuff you already seen and Just get thing past Faster. Also in RPG's when you are Leveling Up it's easier and faster to do it in Fast Forward

refractionpcsx2 commented 2 years ago

okay, but I'd like to see examples of where it would be useful, sell me why this is a good option to have "I do it everywhere else" isn't a good reason, we don't build the emulator on FOMO.

TradeDraft commented 2 years ago

okay, but I'd like to see examples of where it would be useful, sell me why this is a good option to have "I do it everywhere else" isn't a good reason, we don't build the emulator on FOMO.

Main Reason I could think is you don't have to Press a Button on and Off while Playing you can just Press the Button instead of Pressing it Twice

As silentbrains said it's easier to get Thru Stuff you already seen and Just get thing past Faster. Also in RPG's when you are Leveling Up it's easier and faster to do it in Fast Forward.

refractionpcsx2 commented 2 years ago

okay, but I'd like to see examples of where it would be useful, sell me why this is a good option to have "I do it everywhere else" isn't a good reason, we don't build the emulator on FOMO.

Main Reason I could think is you don't have to Press a Button on and Off while Playing you can just Press the Button instead of Pressing it Twice

As silentbrains said it's easier to get Thru Stuff you already seen and Just get thing past Faster. Also in RPG's when you are Leveling Up it's easier and faster to do it in Fast Forward.

but I don't understand how that could be better? Surely that means one of your hands is occupied with holding down a button instead of using your controller, making the game even more difficult to play at higher speeds, where the toggle you just set it, play the game for however long you need to grind/run for, then turn it off when you're satisfied, then you get to use both hands.

RedDevilus commented 2 years ago

There is a Tab function for speed which you can adjust to the exact speed percentage you want as well and even a slow motion one with Shift+Tab, why doesn't that fit for granularity?

TheTechnician27 commented 2 years ago

Yeah, it's just a small quality-of-life improvement to have both options. Toggle is nice for longer intervals, whereas hold is better for shorter intervals. Hold is even more useful if you have 'Turbo Adjust' set significantly above 200% because it gives you more fine-grained control over exactly when you want to stop turbo-ing.

TradeDraft commented 2 years ago

but I don't understand how that could be better? Surely that means one of your hands is occupied with holding down a button instead of using your controller, making the game even more difficult to play at higher speeds, where the toggle you just set it, play the game for however long you need to grind/run for, then turn it off when you're satisfied, then you get to use both hands.

Guess bit hard to Explain that I find it Easier that way. Can use and Button or Key to press so It does not Effect how you are Playing the Game.

Both are Good Options but I just find it easier to Hold instead of Press.

TheTechnician27 explains it better then I could. Saying Toogle is Good for having it on for awhile but for Short Bursts the Hold is better

RedDevilus commented 2 years ago

So if I got this right you got used to it as a preference? But I don't hear how this will improve other users experience. I'm not against it perse.

TradeDraft commented 2 years ago

So if I got this right you got used to it as a preference? But I don't hear how this will improve other users experience. I'm not against it perse.

Guess it Depends on Each Person.

Could you have Option or 2 Different Buttons for Both Toogle and Hold for Fast Forward?

TheTechnician27 commented 2 years ago

@RedDevilus I generally prefer Toggle, but as I noted above, in my opinion, there's a good case for Hold's usabillity in certain situations. Hold is useful for very fine-grained control, namely when you want to use it over short intervals or for when your 'Turbo Adjust' is set significantly above the default 200%. Even disregarding those two circumstances, Hold is also quite useful when you're playing with KB+M instead of controller thanks again to the level of fine-grained control it gives you over your turbo.

TradeDraft commented 2 years ago

@RedDevilus I generally prefer Toggle, but as I noted above, in my opinion, there's a good case for Hold's usabillity in certain situations. Hold is useful for very fine-grained control, namely when you want to use it over short intervals or for when your 'Turbo Adjust' is set significantly above the default 200%. Even disregarding those two circumstances, Hold is also quite useful when you're playing with KB+M instead of controller thanks again to the level of fine-grained control it gives you over your turbo.

Could there be a Options to Pick how Fast the Fast Forward Is?

TheTechnician27 commented 2 years ago

@TradeDraft There is. Go to 'General Settings' -> 'GS' -> 'Turbo Adjust'. Note, however, that no matter how far you turn up the percentage, PCSX2 will always be limited by how fast your computer can run the program.

TradeDraft commented 2 years ago

@TradeDraft There is. Go to 'General Settings' -> 'GS' -> 'Turbo Adjust'. Note, however, that no matter how far you turn up the percentage, PCSX2 will always be limited by how fast your computer can run the program.

Thanks @TheTechnician27

RedPanda4552 commented 2 years ago

Since we're trying to come up with some reasons, here's a few I came up with. Not necessarily all personal ones but ones I could think up from someone else's shoes.

  1. More well-defined on/off state. That is, rather than being a mode displayed in the title bar or having to judge game speed, a user can directly say "my hand is on turbo" or "my hand is off turbo".
  2. Faster to actuate. Toggling is both a key down and key up. If someone wanted to or needed to turbo in short bursts, mashing the turbo key will likely get confusing and you'd quickly lose track in your head.
  3. Preventing the mythical "why is my game sped up" problem. We see it not super frequently but on occasion someone comes in to a help channel asking why their game is hard-stuck at 200%, not knowing they accidentally bumped tab. Switching to hold tab as a default option could offset this.

Thoughts?

RedDevilus commented 2 years ago

You can even expand it to having an option denoted in Press key and it will trigger for X amount of seconds as well.

  1. Though it does show hardcoded icons to the top right in 1.7 if you are using F4 or Tab so there is tracker for the states there.
  2. Perhaps a timed macro would help?
  3. Implied in first bullet point.
TradeDraft commented 2 years ago

I've been thinking it over a bit, and it is actually kind of really awkward to be holding and manipulating a controller while also holding down a keyboard key, even a big one like the spacebar. I got used to it, but I wanted to get used to it. I am not sure I could recommend it as a standard feature. Might work better if it were tied to something on the controller, like a grip paddle, but I'm not sure how many users have controllers like that.

Couldn't there be an Option where you can Choose what Button/Key you use to Fast Forward?

RedDevilus commented 2 years ago

Key remapping exists for a long time where you copy the ini.default to inis folder and remove .default and edit what keys you want or wait till Qt is here when you can handle it easily in the GUI.

TradeDraft commented 2 years ago

Key remapping exists for a long time where you copy the ini.default to inis folder and remove .default and edit what keys you want or wait till Qt is here when you can handle it easily in the GUI.

Thanks @RedDevilus I did not know that

coornio commented 2 years ago

How did I even miss this thread -- I'd also agree with having both a toggle for fast forward, and a hold-to-use method. They wouldn't even be much work to have both in the new Qt hotkeys menu.

In most situations I only want to fast-forward for short bursts and having to reach for the F4 key to toggle the framelimiter is annoying (and yes, I know it can be remapped). I've been accustomed to it since years ago with ePSXe where I bound it to the spacebar. It saw so much more use than the typical toggle precisely because it's easier to release a key than to press it again, as silly as that sounds. You have better control over it.

In DuckStation it's basically the only fast forward I use, unless I need to test something real quick that doesn't require careful control ingame - only then will I use the toggle.

To be more specific though with the terminology -- I use HOLD spacebar to uncap the framelimiter, and I use TOGGLE tab to trigger turbo (200%). Uncapped framelimiter on a toggle feels like a chore.

TradeDraft commented 2 years ago

To me, it's more of a problem of it being awkward to press any key on the keyboard while your hands are full of controller, and most controllers not having any useful+spare buttons to use instead. (I remember getting hand-cramps while getting used to my AHK script.)

On top of all that, an overzealous user might be able to crash the emulator if they spam it too much. (it takes some effort, but I can manually spam tab or f4 fast enough to do this, and a hold-fast-forward button is basically pressing two of those buttons for each usage. If I'm spamming both tab and f4 simultaneously, the crash is almost instant.)

I don't use a Controller every single time I play a Game.

I have used Keyboards to play PS2 Games

I never seen a Turbo Button crash an Emulator

seta-san commented 2 years ago

What would be really cool is have a loading screen recognition that puts it in fast forward

coornio commented 2 years ago

What would be really cool is have a loading screen recognition that puts it in fast forward

There's no loading screen standard to auto-detect, so that'd be impossible unless someone wants to go through each game and write some sort of profiler for it.

seta-san commented 2 years ago

Profiler sounds cool. Even if you donโ€™t get much more games than the most popular it would still be pretty awesome

ichee commented 2 years ago

@refractionpcsx2

I personally prefer using the toggle myself, but to add to the reasons for hold:

1.  Options (for user preference).

2.  Reduced Key wear when fast forward is used frequently for short
    periods of time.

3.  Why not? (since fast forward is already in place, all that is needed
    is an alternate trigger condition)

Again my preference is the existing toggle, but people like what they like.

Also, all of the above depends on actual difficulty and time permitting.

Just a thought ๐Ÿ˜œ.

TradeDraft commented 2 years ago

@refractionpcsx2



Again my preference is the existing toggle, but people like what they like.

Also, all of the above depends on actual difficulty and time permitting.

Just a thought ๐Ÿ˜œ.

You can have Both Toogle and Hold

TradeDraft commented 2 years ago

^^^ What works well?

TradeDraft commented 2 years ago

I am just Wondering how I can Find Out IF my Idea will be done or not?

Been 3 Weeks and no Answer.

Not Forcing anything but just Wondering

refractionpcsx2 commented 2 years ago

It's not been done, no. This will get linked and closed if it does, but it will be in Qt and our priorities list has much more important stuff on it than "I can't be arsed to toggle the frame limiter".

TradeDraft commented 2 years ago

It's not been done, no. This will get linked and closed if it does, but it will be in Qt and our priorities list has much more important stuff on it than "I can't be arsed to toggle the frame limiter".

Fair Enough.

I just thought it might been something that was not too hard or take along to do.

I am not a Developer so I don't really know what it would take

grimpunch commented 2 years ago

I'm going to investigate how feasible this is and whether it's a difficult job. I can see the utility in it.