Welcome, Guest.
Username: Password: Remember me

TOPIC: Experimental: High-Framerate Frame-Blending

Experimental: High-Framerate Frame-Blending 5 months 6 days ago #1

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! [ Click to expand ]



v0.05:
- Added a "Frame Drop Threshold", allowing for adjusting how much the framerate can dip without dropping a blurred frame. Default is 33% of target framerate;
- Frametime is now the average of 2 frames, reducing the number of needlessly dropped frames;
- Fixed issue where FrameBlend was showing a 1-frame-old image. Oops;
- Added debug mode that shows when the effect is dropping frames;
- Minor miscelaneous changes.

Warning: Spoiler! [ Click to expand ]





On a side note, it'd be interesting to see this with NVIDIA Freestyle, but done in such a way that would still work with V-Sync.

EDIT: Apparently, this looks even better with NVIDIA's Fast-Sync / AMD's Enhanced Sync. I recommend having "Blend all frames" to "No" in this case.
Last Edit: 3 months 4 weeks ago by ShoterXX. Reason: Updated
The administrator has disabled public write access.
The following user(s) said Thank You: v00d00m4n, Scorpio82CO, andrew, PureEvilWindom, turgor128

Experimental: High-Framerate Frame-Blending 5 months 2 days ago #2

I can´t made it work in OpenGL
The administrator has disabled public write access.

Experimental: High-Framerate Frame-Blending 5 months 2 days ago #3

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 administrator has disabled public write access.
The following user(s) said Thank You: Scorpio82CO

Experimental: High-Framerate Frame-Blending 5 months 2 days ago #4

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.
Cheers, crosire =)
The administrator has disabled public write access.

Experimental: High-Framerate Frame-Blending 5 months 1 day ago #5

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: 5 months 1 day ago by ShoterXX.
The administrator has disabled public write access.

Experimental: High-Framerate Frame-Blending 4 months 2 days ago #6

Self bumped due to update. This one should help with stuttering and frame drops.
The administrator has disabled public write access.
The following user(s) said Thank You: Hooka Tooka

Experimental: High-Framerate Frame-Blending 5 days 23 hours ago #7

Is this compatible with Reshade 3?
The administrator has disabled public write access.

Experimental: High-Framerate Frame-Blending 5 days 19 hours ago #8

It requires ReShade 3, so yeah.
Cheers, crosire =)
The administrator has disabled public write access.

Experimental: High-Framerate Frame-Blending 5 days 1 hour ago #9

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.
The administrator has disabled public write access.

Experimental: High-Framerate Frame-Blending 3 days 22 hours ago #10

I found in some games that enabling some FakeHDR.fx and Frame Blur makes the game flicker. FakeHDR with Frame Blend works though.
The administrator has disabled public write access.

Experimental: High-Framerate Frame-Blending 3 days 16 hours ago #11

Yeah, and in some other games, you don't even need a different effect for it to break.
Last Edit: 3 days 16 hours ago by ShoterXX.
The administrator has disabled public write access.

Experimental: High-Framerate Frame-Blending 3 days 5 hours ago #12

What should I do if I have an error: failed to compile?
The administrator has disabled public write access.

Experimental: High-Framerate Frame-Blending 3 days 2 hours ago #13

You can post the log here, to see why it failed to compile.
The administrator has disabled public write access.