-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Settings cleanup: Speedhacks #16339
Comments
Similar #13785 |
Oh oops, haha. Closing that one in favor of this one, since I added more detail this time. |
Just to note, there are games where enabling vertex cache is slowing things down, so it's not that clear of a speedhack. |
I would also consider "Retain changed textures" a speedhack. It causes additional texture cache collisions in a small number of games, and makes many games slower, so kinda a weird speedhack. But it exists mainly because some games are significantly sped up by it. I suppose it might be a world for a compat setting, really, although that probably makes it even easier for it to break and not get tested... I agree with reversing them but I think avoiding "disable" might help. Personally I like "Skip buffer effects" and "Skip rendering readbacks" as that's really what's happening, and I feel like "disable" with a checkbox can cause some backwardsness, but "skip", "ignore", "bypass", or "remove" type words don't have this problem. Frameskip is an interesting one. I suppose it's a speedhack but it's a pretty common option, hm. It can cause bugs mostly due to readback interactions... it's just so common to see under graphics settings, I'd worry people won't find it. Some other candidates:
-[Unknown] |
Replacing Disable with Skip is a good idea, I will do that. Thinking of just ripping out hardware skinning entirely, as only a few very old devices benefit from it at all, as far as I know. And skinning is so fast on modern devices anyway that it's likely not even worth implementing a more modern approach on Vulkan... |
Regarding Retain changed textures, the current state is indeed super confusing so maybe a compat flag would indeed be better. Do we have a list of the games that benefit? Also, spline/bezier is tricky to move two of three states into a speedhacks section ... I'm thinking of simplifying away one level then, only retaining medium and high, and calling it "Low spline quality" in the speedhacks section. Or removing it entirely as so few games are affected. |
I know there are a couple others but the one I'm most directly aware of is Popolocrois (it helps pretty significantly.) FF2 is one that looks like it would be helped, but isn't, as I recall. Retain changed textures can theoretically help if a game uses the same (large) texture data as a sprite sheet with multiple palettes (many 2D games do this) or if it animates a subset of textures on that sprite sheet (fewer 2D games do this, but some especially ports do.) In practice, it really helps the most when a game does both, especially with multiple animated tiles in the spritesheet on different cycles (that's Popolocrois.) I could be remembering wrong, but I think FF2 isn't helped because the animated tiles are off cycle in a way that doesn't frequently repeat the overall texture, unlike Popolocrois. I know lowering spline quality can cause glitches in some games (I think that snowboarding one, for example), so I definitely consider it a speedhack. For weaker devices, it can really help... even software rendering, it probably helps a lot. But I think medium makes sense as a floor. -[Unknown] |
I wonder if resolution for effects should consider added to speedhacks settings or just make it a compat flag 🤔 |
It's not really a very good speedhack as generally any boost is quite small, and we already have a compat setting that forces it on, used for Outrun. Maybe we should indeed just enable it manually for the games that have very visible benefits... |
I want to collect all pure speedhack graphics options in one section, and ideally make them so that "off" is always the safe choice. This would require flipping a few of them from the current state and renaming them.
This could cause some confusion though when people are reading older settings guides and stuff, so I'm not 100% I want to do all of this. One alternative could be just to throw all these in a speedhacks section without changing names/parity.
Anyway, this is what the full version of this change would look like:
Retain changed texturesPossibly frameskipping also belongs.
Note that currently, buffer effect is a multi-choice (for legacy reasons, since it now only has two values), while readbacks have the opposite parity and is called "Enable block transfer effects".
Normally I don't like negated settings too much ("Disable" instead of "Enable"), but for speedhacks it feels motivated...
The text was updated successfully, but these errors were encountered: