Screen Percentage with super-sampling on geometry edges ? (important!!!)


I know there exsits a Screen Percent feature in UE4. But the problem is it down-samples everything as you can see in the image on the right. So it has not any pratical usability for actual gaming.

a3b4b935277f1977d60383962ecd673b855da55b.jpeg

I noticed there is a Render Resolution option in the game “Call of Duty: Advanced Warfare”, it’s similar to Screen Percentage in UE4, except it doesn’t down-sample everything, but only shaders, I guess.

This two images indicate the difference between various Render Resolution settings in “Call of Duty: Advanced Warfare”. They were all captured in 1024*768 sized window with just different Render Resolution. But the lower Render Resolution brought a huge frame rate boost without losing too many noticeable details. All geometry edges are looking as sharp as the native resolution, whereas current Screen Percentage in UE4 isn’t able to achieve that. It’s a fantastic option for most low-end hardwares. I guess they use a super-sampling method on geometry edges, whatever, I’m not sure about it. But I think UE4 team maybe want to do some research on it from professional perspectives. I really hope to see this feature in UE4. You know, the most complaints I’ve heared from people who decided not to choose UE4 for their new projects is “UE4 is not for low-end, even mid-end hardwares”. This will stop many people from trying UE4. After all the most games are not supposed to be AAA titles which only run on top hardwares in the world.

This is something I can only dream of! Really, a higher pixel resolution only makes textures sharper and polygon edges more defined. 720p is good enough for texture resolution, but if it’s possible to have 1080p or 1440p resolutions for polygon edges and AA, that would seriously improve the image quality. With 4k slowly but surely becoming a thing, UE4 is just not prepared to handle such heavy resolutions on current-day graphics cards.

Also, just so you know, the shaders themselves aren’t being turned down. It’s possible the textures are, but lower-res textures won’t really help a game that is trying to brute-force render 2,000,000 pixels every 16 milliseconds.

Hmm the image looks a bit too sharp to me to be your typical upscale-from-lowerres. I’m guessing it’s using a sharp image upscaling algorithm(?) I can’t find any information about the technique CoD uses unfortunately.

The AA is something that probably helps with this too (UE4 has pretty blurry AA).

mariomguy, yes, UE4 really needs this, and all next-gen engines need this technique badly too.

The anti-aliasing method in CoD:AW is SMAA, or Subpixel Morphological AA. It’s basically a combination of MLAA and FXAA into the same system, so it accounts for both the sharpness of pixels in the final image and polygonal edge detection. I guess Call of Duty will upscale the final render to the highest possible size, so the AA can make use of the extra pixels to provide a smoother image, but the actual rendering resolution is lower than that.

I’m not sure, but I believe this is what UE4 already does with Screen Percentage. If the image looks blurry, it’s probably just due to the AA method and not the way screen percentage works.

Its the same Screen Percent and Render Resolution and 3D Resolution (Call of Duty, Battlefield, Arma …)
*I’m not sure 100% but i think this is the same with different names.

The only thing Unreal Engine 4 need is more than 100% to 200%

Example for you:
Screenshots of viewport at 1024x768:

A. 100% = 1024x768
B. 62% = More or less 640 x 480

Using AA + 65 FOV like the awesome COD

Looks close. I’m curious what your AA setting is. :confused:

Temporal AA.
Its the same blur like in your images by the scale.

I tried all settings of Temporal AA with 62% Screen Percentage, but nothing make geometry edges look as sharp as original resolution.

Your images are not in 1:1 scale, right?

The images are 1:1.
You need set all to Epic and in the project settings -> rendering set the Temporal AA.
Obviously the quality don’t are the same, because the resolution its changed…

What viewport size you have ??

Images from a friend:
Image A: 1920x1080 with native scale.
Image B: 1920x1080 at 768x432 40% scale.

Its using FXAA without Temporal.

Now you can check the difference, only scale the 3D part, but no the HUD/Menus… and UE4 do the same thing.

https://dl.dropboxusercontent.com/u/28070491/UE/Forums/2015-05-21_00001.jpg

https://dl.dropboxusercontent.com/u/28070491/UE/Forums/2015-05-21_00002.jpg

Image A: 1920x1040 with native scale.
Image B: 1920x1040 at 768x416 40% scale.

https://dl.dropboxusercontent.com/u/28070491/UE/Forums/DemoSRA.jpg

https://dl.dropboxusercontent.com/u/28070491/UE/Forums/DemoSRB.png

*And yes are 100% 1:1 :slight_smile:


Sceen Percentage 100
sg.AntiAliasingQuality 5


Sceen Percentage 62
sg.AntiAliasingQuality 5

Yes, the difference is noticeable. With Epic tier AA setting and 62% Screen Percent, the quality geometry edges never looks close to original resolution. So it’s not exactly the same thing as Render Resolution in CoD.



The geometry edges quality looks almost the same.

If you use the console or the console command node in blueprints you can set the screen resolution % to whatever you want, it’s “r.ScreenPercentage”.

Then check my friend screenshots from the COD AW… and check the corners and sides.
*You are comparing smaller viewport size than your windows resolution in the COD.
*Your resolutions are small to compare, you can see the 1080 to 50% smaller 432 in my friend screenshots and that quality.

The CoD screenshots are 1:1 scale(1024768), the UE4 screenshots are also 1:1 scale(800600). But the resolution percentage of all screenshots is 62%, so the window size does not really matter.

Yes, you can set any ScreenPercentage value in UE4, even 400%. But you don’t want to do that in most cases, the larger resolution is usually extremly expensive.

Man you see my COD screenshots ? Yes the windows size matter don’t is the same 1024 / 2 and 800 / 2 and when the image is lower than 512/600 start to give more problems.
And this is all i give you 2 examples one in UE4 and other in COD if you don’t see i can’t do more.

*Now i added to images more from UE4

Screen Percentage just sets the render targets for the GBuffer to a lower-than-native resolution I believe, it doesn’t do anything more fancy than that and it’s not designed to - it’s not anything like what COD is doing by the looks of it. There is a setting for forcing the game to use lower-quality textures which I think is what you’re asking, and probably what COD does - just set the texture quality lower.

UMG / Slate doesn’t suffer the same fate as the rest of the system because it’s drawn on top of everything after it’s all been drawn to the screen, which is also why we don’t have things like lit materials and 3D Objects for UMG. #themoreyouknow

EDIT: I should also add that super-sampling at Geo edges wouldn’t help anyway because A) the GBuffer render size is still not the right resolution and B) because you’d have to do expensive edge-detection as a screen-based effect in post to know where to super-sample, and then sample based on a full-size version of the GBuffer… so you’d have to render both size GBuffers anyway… which is self-defeating.

You’re right. I’d forgotten to trun off the supersampling when capturing the 100% resolution one. Thank you for replies. :slight_smile: