Digital Foundry Article Technical Discussion [2022]

Status
Not open for further replies.
That's a misleading term IMHO as that's what frame interpolation would be, upscaling 30 fps content to 60 fps content. An upscaler also doesn't need a temporal element although that obviously helps, adn can combine numerous analysis elements. If you had a motion element, tracking motion vectors, would you call it a "motion upscaler"? So really I think image reconstructors, with qualifiers for attributes used (temporal, spatial, motion, object, etc.)

Of course, what people actually use will probably be illogical and fairly arbitrary. ;) Just like every user/owner of a game these days is referred to as a 'fan'. "Good news for our fans - we're fixing the buggy mess you hate and wish you hadn't spent money on."
Motion is more temporal information. These are temporal upscalers, or maybe just “temporal samplers”. non temporal upscalers exist but have different properties than all of the ones discussed in this thread
 
Some of it is because they are inexperienced with a large project. They may see it happening but not know the exact cause.

<snip>

Lots of good points here and in general I agree. I would maybe have a slight quibble with this though as the thing is, during development for any game, but especially working within Unreal Editor, is you're not exactly blindsided by the concept of shader compiling being a requirement.

As bad as it is for us with the end product, everything I've read indicates that it's a significant encumbrance when actually working with the engine, as waiting for shaders to compile when editing a project can be a significant time sink. UE 5.1's improvements (we'll see) in this area weren't just on the final compilation stage for the runtime after all, they were also to assist the excessive load of shader compiling in the editor.

Consoles have to compile shaders too, it's not like this concept would be bewildering to even a dev who's experience is based largely on those platforms - they just have the advantage they can ship with them pre-compiled due to a fixed platform, but they still need to be compiled in the first place. They're developing these games on PC's after all regardless of the target platform, the necessity of shader compiling should be hitting them in the face on nearly every day of development.

I think it's possible that a dev may be ignorant (not care?) about this sure, but as you also indicated I think it's more likely that management/publishing is just relentlessly pushing for launch dates. Callisto's issues definitely seems to be tied directly to this - they were in fact, fully aware of the shader compiler requirement, but rushed it out the door (that and other aspects, such as the shit settings menu give this impression). The game was going to ship before xmas - and before Dead Space Remake - come shader hell or high water.

No excuse of course, as when you're asking the public $70 for a game, that's when it's going to be reviewed, sorry your QA process sucks ass but that's on you. I just have a little more difficulty these days to believe there are developers who are truly ignorant of the issue.
 
Humans involved with varying amount of time and optimizations for the different platforms produce different results. We know the hardware and software is more than capable on XSX as evidenced with other released games.

Yeah it seems only the PS5 got true attention, while the PC and Xbox are suffering optimzation problems across the board.
 
I'm not launching a false rumor the rumor already existed I just stated what has been going around.
Yeah. I saw that talking point long before the game ever launched. It even felt like it was some sort of bragging point. It wasn't until after release that it started being clarified or others were walking it back.
 
Well I guess that fake rumor is better than the people claiming Sony paid to make the Xbox and PC platforms worse so PS5 could look better. But it's pretty bad on the opposite side.

In the end it's just a matter of a first time dev spreading themselves too thin. I would have cut the last gen versions if I was them
 
Why don't developers have the game compile the shaders before first load?
Warkhammer 40K: Darktide does that. Alas the game is one of the worst performing games nowadays (129 fps at 1080p on a RTX 4090 and an Intel 13900K without RT), and ironically it's not an impressive game in any way.
 
Yes, it used MSAA+FXAA. AW Remastered added TAA.
did Skyrim have TAA too back in the day? Just curious, the AA was good for the time, much better than 90% of PS3/X360 games of the era.

TAAU is the future of it, it looks very good, I've been playing with it for a while tonight in Gotham Knights and it does a pretty decent job.
 
did Skyrim have TAA too back in the day? Just curious, the AA was good for the time, much better than 90% of PS3/X360 games of the era.

TAAU is the future of it, it looks very good, I've been playing with it for a while tonight in Gotham Knights and it does a pretty decent job.
It was different on each platform.
On 360, the AA situation isn't so clear. Perhaps we have a selective 4x multi-sample anti-aliasing (MSAA) scouting out edges, which in conjunction with the 1280x720 resolution makes it very comparable to the approach taken in Fallout 3. However, other scenes suggest that some form of post processing is the order of the day, as long edges can look very, very clean. Regardless, the overall look on Xbox 360 is very polished indeed, though we note that transparencies (such as waterfalls) can blitz edge-smoothing in some situations.

The blurring on PS3 is almost certainly down to the implementation of NVIDIA's FXAA technology, which is also included as an option on PC. Best described as an "intelligent blur", this post-processing technique attempts to identify high contrast edges at a pixel level. FXAA stands for fast approximate anti-aliasing and the "approximate" part of its name is appropriate in that it processes everything within the final frame without prejudice. This includes geometry, 2D elements, and also the content of textures, which leads to the subtle blurring evident on floors and walls. Foliage also gets smoothed off - something that doesn't seem to happen on the Xbox 360 where it often looks as though anti-aliasing is applied before transparent objects and effects are rendered.
 
And that's probably the worst thing they could possibly do. Unlike console, for many PC users, the ability to start at a menu is FAR FAR more important than being put into a game as soon as they start it up. From things as simple as needing to adjust audio to an appropriate level to something more serious like adjusting graphics setting so the game doesn't run like ass or default to lowest graphics settngs to something really serious like ... shader stutter due to not pre-compiling shaders on startup. On PC a developer (IMO) should NOT be trying replicate the console experience.

The only time I've ever utilized the Steam refund system was for No Man's Sky at launch, and it was specifically a byproduct of this issue. Launching the .exe immediately initiated the world generation and campaign, and only after the game finished doing the series of in-POV animations did it relinquish control to you to bring up a settings menu, and IIRC there was no immediate autosave so if you didn't know to deliberately trigger an autosave or perform a manual save, the act of changing settings and restarting the client meant going through the first-launch generation again. By the time I had figured out how to get a proper FOV set via directly modifying the cfg file and try playing the game for real it was nearing the 2 hour refund window so I just threw in the towel.

With or without shader pre-compilation, it feels like the only way to assess these console ports is to wait a month (at which point you may as well wait till it goes on sale), because 2 hours of playtime on launch day is clearly inadequate for the refund system to save you. With JIT shader compilation you're not going to see the game settle down in 2 hours, and with runtime pre-compilation you could end up spending a chunk of the refund window not playing at all. Between Valve/Steam and Nvidia/GFE I'm surprised this isn't something that's been addressed by this point. GFE already knows what driver version I'm running, it's polled what games are installed, it knows what version they are, where they're installed, and has the ability to alter graphics settings, then they ought to be able to download an appropriate shader cache even if only for the handful of marquee game launches per year. Why go to the trouble of day1 driver releases for games if it's still going to be choking every few minutes. I'm reminded of the CEMU emulation scene where you could download transferrable game-specific shader pipeline caches that were crowd-sourced by the community. Maybe that's a luxury only possible with the configurability you get from system emulation.
 
and with runtime pre-compilation you could end up spending a chunk of the refund window not playing at all.

Well let's not go overboard here. :) Games that have added pre-compilation had averaged less than a few minutes, often around 1, to perform this step. I agree it's not the ultimate 'solution' to this problem by any means, but as a very, very basic 'bare minimum' it really doesn't add much in most cases. Games that take 10+ minutes to compile shaders are quite rare.

Between Valve/Steam and Nvidia/GFE I'm surprised this isn't something that's been addressed by this point. GFE already knows what driver version I'm running, it's polled what games are installed, it knows what version they are, where they're installed, and has the ability to alter graphics settings, then they ought to be able to download an appropriate shader cache even if only for the handful of marquee game launches per year. Why go to the trouble of day1 driver releases for games if it's still going to be choking every few minutes.

I've thought about this as well. However, perhaps it's related to this:

I'm reminded of the CEMU emulation scene where you could download transferrable game-specific shader pipeline caches that were crowd-sourced by the community. Maybe that's a luxury only possible with the configurability you get from system emulation.

Early on, the Cemu devs would shut down reddit threads in their forum that were sharing shader caches, the reason was that the compiled code technically was 'piracy' as it was sharing game data. Later they modified how their shader system worked so this was more abstracted (in a sense) and thus no longer an issue.

I wonder if that's the case with DirectX at least - as Valve will share compiled shaders, but only for Vulkan and GL. As Valve described how they handle Steam Deck, they do the compiling themselves for most of the cases, but shaders can be uploaded by users automatically too as I understand it. Big difference of course is it's one fixed platform, but you will get updated Vulkan caches for Windows games on Steam too, and I doubt they're compiling those themselves for every driver/GPU.

So maybe there's legal reasons, and/or a technical reason as well - compiled shaders from other sources are just more difficult to inject with DX as opposed to Vulkan (as I recall someone with knowledge of this mentioning it in the shader thread).

Lord knows Nvidia at least has access to the games with their Geforce now service and the datacenter bulk to handle the compiling. Great way to force people to update their drivers - you want the compiled cache for that new release? You're only going to get it if you're on the Game Ready driver.
 
Last edited:
It'd be pretty embarrassing for the industry if IP/copyright were the roadblock preventing a straight forward solution to this. I've kind of reached the same point with mainstream games I have with cord-cutting/cableTV a couple decades ago which is that if push comes to shove, I can take it or leave it and not really miss it. I can't remember the last time I bought a non-indie title near launch and been wholly satisfied with it. Certainly more than a decade anyways. I recall back in the lead-up to the OG Xbox launch thinking how cool it would be for a console architecture to be PC-like enough that the PC might get more console ports. A bit of a monkey's paw moment.
 
Is there a catch all term for smart upscaling techniques as a whole? TAAU, TSR, FSR, DLSS and XeSS all essentially do the same thing, smartly upscaling the image to save on performance. But all the acronyms make me confused when I'm just trying to make a point about all of them(with dynamic internal res) being the future of image quality rather than any kind of native resolution 😂


As far as I am concerned these are all spatial upscaling algorithms.
Some of them may be using temporal information as inputs to the process but they are all doing image reconstruction, and creating a higher resolution output image from a lower res input image + other sources.

"temporal upscaling" is what DLSS3 does with frame injection / creating new frames that didn't exist previously.

I'm happy with image reconstruction or spatial upscaling, but i'm not expert.
 
Humans involved with varying amount of time and optimizations for the different platforms produce different results. We know the hardware and software is more than capable on XSX as evidenced with other released games.
Pffft...non-believer......It's PS5 secret source! I know it is too painful for you X-Bot infidels to accept the hard truth :yep2:
 
Status
Not open for further replies.
Back
Top