Experimental: High-Framerate Frame-Blending

More
2 years 4 months ago - 1 year 11 months ago #1 by ShoterXX
Something I had lying around since ever.
Simply put, my monitor only goes as far as 76Hz, but games like PSO2 go well over that.
This simply blends frames together, but unlike Motion Blur, it only blends the last frame with the current one.

So yeah, less frames wasted. Note that disabling "Blend All Frames" makes it so that only 1 every 2 frames updates the screen, meaning that if you have 120 FPS, you'll only get 60 FPS effectively. Enabling it makes things smoother, but blurrier.

Also, for obvious reasons, this doesn't work well with V-Sync. And no, this does not replace a 144Hz monitor, lol.

Might develop this a bit more, but not sure if it's worth it.

Old Versions:
Warning: Spoiler!


v0.06:
- Only FrameBlend exists now, but it's a much more comprehensive effect, blending up to 255 previously unused frames for silk-smoothness (good luck reaching 60*255 = 15300 FPS), based on your set framerate;
- Fixed random black frames/severe stutter (report if you still find any);
- Removed debug mode because it's not really useful anymore;
- Minor changes;
Warning: Spoiler!



Some actual screenshots:





Last edit: 1 year 11 months ago by ShoterXX.
The following user(s) said Thank You: v00d00m4n, Scorpio82CO, Neonstar, andrew, PureEvilWindom, turgor128, mws432

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago #2 by Scorpio82CO
Replied by Scorpio82CO on topic Experimental: High-Framerate Frame-Blending
I can´t made it work in OpenGL

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago #3 by ShoterXX
Replied by ShoterXX on topic Experimental: High-Framerate Frame-Blending

Scorpio82CO wrote: I can´t made it work in OpenGL


Yeah, it's currently disabled, because OpenGL often requires extra work, and often goes unused, but I can take a look at it tomorrow.
The following user(s) said Thank You: Scorpio82CO

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago #4 by crosire
Replied by crosire on topic Experimental: High-Framerate Frame-Blending

ShoterXX wrote: OpenGL often requires extra work, and often goes unused

That should not be the case. If it is, then that is a bug and I would like to know about it.
The following user(s) said Thank You: Wicked Sick

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago - 2 years 4 months ago #5 by ShoterXX
Replied by ShoterXX on topic Experimental: High-Framerate Frame-Blending

crosire wrote:

ShoterXX wrote: OpenGL often requires extra work, and often goes unused

That should not be the case. If it is, then that is a bug and I would like to know about it.


For example, just now:
		#ifndef RENDERER_IS_D3D9
			bool hasFrame = (blendAll & 1) |  (fCntr & 1);
		#else 
			bool hasFrame = (blendAll % 2) || (fCntr % 2);
		#endif

DX9 cannot use bitwise operations, so I use modulo. However, with OGL, it'll complain about implicit cast between unsigned integer and boolean. Fortunately, the way I had it was already OK, so all I need to do is remove the #error command. But IIRC, modulo doesn't work the same between OGL and DX either.

Then again, it's been a while since I last used OGL, so things most likely have changed,
Last edit: 2 years 4 months ago by ShoterXX.

Please Log in or Create an account to join the conversation.

More
2 years 3 months ago #6 by ShoterXX
Replied by ShoterXX on topic Experimental: High-Framerate Frame-Blending
Self bumped due to update. This one should help with stuttering and frame drops.
The following user(s) said Thank You: Hooka Tooka

Please Log in or Create an account to join the conversation.

More
1 year 11 months ago #7 by Michael35699
Replied by Michael35699 on topic Experimental: High-Framerate Frame-Blending
Is this compatible with Reshade 3?

Please Log in or Create an account to join the conversation.

More
1 year 11 months ago #8 by crosire
Replied by crosire on topic Experimental: High-Framerate Frame-Blending
It requires ReShade 3, so yeah.

Please Log in or Create an account to join the conversation.

More
1 year 11 months ago #9 by ShoterXX
Replied by ShoterXX on topic Experimental: High-Framerate Frame-Blending
Man, this version is pretty outdated now. I'll update soon since people still use it apparently.
And I'll probably need some help finding a bug causing some games to flicker like mad.

Please Log in or Create an account to join the conversation.

More
1 year 11 months ago #10 by Michael35699
Replied by Michael35699 on topic Experimental: High-Framerate Frame-Blending
I found in some games that enabling some FakeHDR.fx and Frame Blur makes the game flicker. FakeHDR with Frame Blend works though.

Please Log in or Create an account to join the conversation.

More
1 year 11 months ago - 1 year 11 months ago #11 by ShoterXX
Replied by ShoterXX on topic Experimental: High-Framerate Frame-Blending
Yeah, and in some other games, you don't even need a different effect for it to break.
Last edit: 1 year 11 months ago by ShoterXX.

Please Log in or Create an account to join the conversation.

More
1 year 11 months ago #12 by AndreyRGW
Replied by AndreyRGW on topic Experimental: High-Framerate Frame-Blending
What should I do if I have an error: failed to compile?

Please Log in or Create an account to join the conversation.

More
1 year 11 months ago #13 by ShoterXX
Replied by ShoterXX on topic Experimental: High-Framerate Frame-Blending
You can post the log here, to see why it failed to compile.

Please Log in or Create an account to join the conversation.

More
1 year 11 months ago - 1 year 11 months ago #14 by ShoterXX
Replied by ShoterXX on topic Experimental: High-Framerate Frame-Blending
Bump for update + bug fixing.

Lesson learned, unsigned integers in logic can be dangerous.
Last edit: 1 year 11 months ago by ShoterXX.

Please Log in or Create an account to join the conversation.

More
1 year 10 months ago #15 by Sami 1999
Replied by Sami 1999 on topic Experimental: High-Framerate Frame-Blending
This is great. Finally I can put those extra frames to use.

Please Log in or Create an account to join the conversation.

More
1 year 7 months ago #16 by reter
Wait, is that similar to frame interpolation?

Please Log in or Create an account to join the conversation.

More
1 year 7 months ago #17 by lowenz
Replied by lowenz on topic Experimental: High-Framerate Frame-Blending

reter wrote: Wait, is that similar to frame interpolation?

More kind of decimation.

Please Log in or Create an account to join the conversation.

More
1 year 5 months ago #18 by DaInferno
Replied by DaInferno on topic Experimental: High-Framerate Frame-Blending
So... is this still being worked on? And if so, is there any way to have it work on the latest version of Reshade?

Please Log in or Create an account to join the conversation.

More
1 year 5 months ago #19 by ShoterXX
Replied by ShoterXX on topic Experimental: High-Framerate Frame-Blending
I just tested it, and it seemed to work fine on 4.2.1. If you're having issues, please do report them.

As for being worked on... not really. Performance-wise, I don't see a significant way to improve it. I tried messing with ways to blur in-between frames, but the performance hit and quality were not good enough.

Please Log in or Create an account to join the conversation.

More
1 year 5 months ago #20 by DaInferno
Replied by DaInferno on topic Experimental: High-Framerate Frame-Blending
Well actually, I'm currently trying to get this working on Dolphin Emulator. Specifically on Super Smash Bros. Brawl. I really want to try and use that Frame Blur on the game. Perhaps you could look into that?

Please Log in or Create an account to join the conversation.