Shader Compilation on PC: About to become a bigger bottleneck?

Developers could try to implement a workaround but why would Square do that in particular when their project isn't even complete yet ?

Because they're selling it as a product, no? It released yesterday, December 16, 2021.
 
Because they're selling it as a product, no? It released yesterday, December 16, 2021.

Developers only care about shipping their own product so why should they be obligated to fix what is essentially Epic Game's problem ? Developers will only push fixes to the main branch of Unreal Engine if it helps them reach their own goals because at the end of day they don't own Unreal Engine and it isn't their product either ...
 
Developers only care about shipping their own product so why should they be obligated to fix what is essentially Epic Game's problem ? Developers will only push fixes to the main branch of Unreal Engine if it helps them reach their own goals because at the end of day they don't own Unreal Engine and it isn't their product either ...

But when they license it they have full access to the source. They don't have to push anything back to main branch to fix it. They just have to fix their own game.

Releasing a game with noticeable issues that will impact user experience is just plain bad. They can't point the finger at Epic. They can fix it, and they are obligated to. It's their game, not Epic's.
 
But when they license it they have full access to the source. They don't have to push anything back to main branch to fix it. They just have to fix their own game.

Releasing a game with noticeable issues that will impact user experience is just plain bad. They can't point the finger at Epic. They can fix it, and they are obligated to. It's their game, not Epic's.

I don't think it's in most of the developer's own interests to fix a tool (Unreal Engine in this case) that they don't own even if they have the source code on hand. They could certainly fix the issue by trying to manually load up every PSO on application start up but most don't see this as a priority. It may be their game but that doesn't mean it's their issue since they're using a flawed tool that they hold no responsibility over ...

It's Epic Game's who are the ones that needs to be held accountable since it's their own product that's causing the source of these problems ...
 
They are not fixing the tool, they are fixing their own game - which is what they are selling.

Sure but the source of the problem aren't coming from the developers themselves. Asking developers to fix a problem that didn't originate from them is arguably an unreasonable expectation ...

Some developers might not even have graphics programmers or let alone any programmers on their own team at all in which case implementing a fix on their side isn't possible at all. Even if developers are capable of fixing the issue at hand, a lot of them would prefer not to since introducing a fix to a tool with a highly complex codebase such as Unreal Engine might cause regressions/breakages to either the engine or the project itself. A lot of them are making do with what little they do know on a tool that they don't have good control over ...

This is why we have dedicated engine developers like Epic Games or Unity Technologies who are ideally supposed to assume the responsibilities of developing/maintaining their own engines ...
 
Sure but the source of the problem aren't coming from the developers themselves. Asking developers to fix a problem that didn't originate from them is arguably an unreasonable expectation ...

Some developers might not even have graphics programmers or let alone any programmers on their own team at all in which case implementing a fix on their side isn't possible at all. Even if developers are capable of fixing the issue at hand, a lot of them would prefer not to since introducing a fix to a tool with a highly complex codebase such as Unreal Engine might cause regressions/breakages to either the engine or the project itself. A lot of them are making do with what little they do know on a tool that they don't have good control over ...

This is why we have dedicated engine developers like Epic Games or Unity Technologies who are ideally supposed to assume the responsibilities of developing/maintaining their own engines ...

Lol, we're talking about Square Enix releasing Final Fantasy, not some kid making a UE project. I can almost guarantee that Square is touching core parts of the UE source code already.
 
Lol, we're talking about Square Enix releasing Final Fantasy, not some kid making a UE project. I can almost guarantee that Square is touching core parts of the UE source code already.

I wouldn't be too sure if I were you. I looked at the credits behind the project and they have like 2 graphics/rendering programmers both of which who've never had prior experience with Unreal Engine before in any professional capacity and they probably have better things to do than to deal with minor shader compilation issues from end users ...

If a big project like this was able to get away with shipping a product with very little expertise in graphics technology then the rest of the industry must be in a truly appalling state but this shouldn't be a surprise because this is the end result of commercial engines which promotes outsourcing technical expertise. It gets increasingly harder for independent developers to fix problems of these nature ...
 
Last edited:
I wouldn't be too sure if I were you. I looked at the credits behind the project and they have like 2 graphics/rendering programmers both of which who've never had prior experience with Unreal Engine before in any professional capacity and they probably have better things to do than to deal with minor shader compilation issues from end users ...

This is a terrible take. Square Enix is accountable for the quality off the games they ship and ask money for. They pick the engine, they pick the staff and resources. They also owe their customers an experience that isn't compromised by technical issues.
 
I don't think it's in most of the developer's own interests to fix a tool (Unreal Engine in this case) that they don't own even if they have the source code on hand. They could certainly fix the issue by trying to manually load up every PSO on application start up but most don't see this as a priority. It may be their game but that doesn't mean it's their issue since they're using a flawed tool that they hold no responsibility over ...
It's Epic Game's who are the ones that needs to be held accountable since it's their own product that's causing the source of these problems ...
I can't help but laugh at your take on this whole thing... lmfao. Imagine contracting a carpenter to build you a house, and then you get there and find out everything is not straight and doesn't fit together properly... and you ask him what the hell happened and he says "well the square I was using was bent... complain to the company that sold me the bent square" ....cmon now..
Epic games are not responsible for the quality of the products utilizing their engine... Developers who create the product and sell it are the ones responsible to their customers ensuring it performs as expected... and guess what.. hitching and stuttering constantly is not "expected behavior"... We already know how this game SHOULD run... we as customers have the expectation that it will perform properly as it should.. That job rests squarely on SquareEnix.

The Unreal Engine is a MULTIPURPOSE engine which supports multiple platforms. From Epic's point of view, I can understand that their "default" method of compiling shaders during runtime may not be specifically tuned to every device and at it's core is meant to facilitate artists and developers workflow while developing games in a general sense... It's fine if you are able to precompile and ship the binaries right there in the game package.. such as consoles and other fixed hardware devices. If you are a developer creating multiple versions of your game, say a PS version and a PC version... it's YOUR responsibility, and in your best interest to ensure that it performs as it should across all platforms. This is why developers are able to access the source code, and can add to it/change it. As the developer it's YOUR JOB to test your game... and I question any developer who would test a game like this release of FF7R, where the VERY FIRST thing you see right as the intro cinematic transitions to the realtime cutscene is massive stuttering.. and you deem it acceptable for release. If you release your game like that... you should be ashamed. If that was my product... I'm going to the team and being like wtf is happening there? And I would not release it until that problem is solved.. because that is NOT how the game should perform. This is a SquareEnix product... not an Epic Games product...

SquareEnix is responsible to its customers, and should be the ones altering the engine to suit their needs to make sure it performs properly. If SE is having to do that, and are not happy having to do that, it's up to THEM to provide feedback to Epic about the Unreal engine and push for changes to make their job easier. It's in Epic's best interest to take that developer feedback and do what they can to improve that situation for them... but again, it's not Epic's responsibility to SquareEnix's customers. Of course I happen to think that Epic absolutely SHOULD be putting all their effort in to providing developers the tools they need to do this without having to modify the engine themselves... because it's in their best interest as the more copies SquareEnix sells, the more money Epic makes from it... but ultimately the onus is on the developer themselves.

So I say they SHOULD, because I'll be quite honest here... there's a negative sentiment being formed around this engine and how it performs on PC currently. People ARE beginning waking up to this stuff.. especially as it becomes more and more egregious with newer releases. With the help of tech sites like Digital Foundry, people are beginning to understand that it's "not their PCs" but the software itself. It's to the point where a game gets announced, shows the Unreal Engine logo, and I just sigh and can't get excited for it anymore because I'm certain that the game will come out and have these same damn issues that they always do. That's likely not the type of reaction Epic wants people to associate with their engine.. but that's how it is now, especially for me. And you know, I'm sure Epic really doesn't give a %#$@, because they are raking in the money, everyone is using their engine because they can easily deploy across multiple platforms, and you can get really good visual results fairly easily as a small indie developer from it as well. It's the defacto engine.. and PC gamers are too busy either blaming each other's hardware, or messing with stuff like "control flow guard" and clowning around with RAM timings saying that BS like that is fixing their issues.. so nothing gets done about it usually.

People need to stop accepting this BS and making excuses for it.. the onus falls on the developers of the games. It doesn't inspire much confidence in me however when Epic's own Fortnite has TERRRRRRRRIBLE stuttering and you have to play many rounds with it just to build up a cache so it doesn't stutter anymore. This is the engine maker themselves.. with one of the most popular games in the entire world... and now on the newest iteration of their engine.. and we have to deal with these BS issues.


It's like say you have a car... the "console experience" is that it's the middle of winter -40'C, and every time you want to go somewhere, someone has taken your car, started it, warmed it up, got your seat and steering wheel nice and warm, and have driven it around the block multiple times so the tires aren't stiff. You hop in, drive off and it's a nice pleasant experience.

The "PC experience" is like it's the middle of winter.. -40'C, and you have to go out, crank over your car hoping it will start, then forcing you to take off immediately after you've started it. The tires are frozen and shake the car like crazy, its freezing inside and the windows are frosted up, everything is rough, and you're basically miserable... until eventually it warms up a bit and smooths out.

You take that experience and ask people which one they'd prefer... And look.. I know nobody is forcing me to play on PC... but that's neither here nor there.. Developers are offering these products on PC and they should perform as their console counterparts

So, my point after all that is that the developers of games should offer us the ability to warm up our cars before we take off. We'll do it ourselves... but give us the damn option to warm it up. We understand it's a necessary thing to do in the middle of winter... and we know it's possible to do it.. so it's not something we should have to settle for. I'm getting damn tired of it. I'm not buying Unreal Engine games anymore until I've completely confirmed that these issues largely don't exist and that the developer has taken the time to properly optimize the game and engine to perform as it should. Or at least certainly waiting for massive sales before purchasing any of these games.. that's for sure.
 
Apparently modders have discovered that FF7R has shipped using a development build of the engine..

They pulled this from the files:

[/Script/UnrealEd.ProjectPackagingSettings]
BuildConfiguration=PPBC_Development
FullRebuild=False
UsePakFile=True
bGenerateChunks=False
bChunkHardReferencesOnly=False
IncludePrerequisites=True
IncludeCrashReporter=False
InternationalizationPreset=English
+CulturesToStage=en
DefaultCulture=en
bSkipEditorContent=false
bSharedMaterialNativeLibraries=False
bShareMaterialShaderCode=False

Its normally "PPBC_Shipping" for released games apparently

Just shows how half baked this port really is...
 
It stands for pipeline state object which is common design feature between modern explicit APIs ...
Sigh, explicit APIs like DX12 has brought nothing but troubles for PC players. In Unreal engine, the stuttering problem is so much worse in DX12 comapred to DX11, worse yet the unsuitable descriptors and binding model have caused many issues and overhead on non AMD hardware.

There is no reason whatsoever to have your game come with DX12 if it doesn't have Ray Tracing or VRS or any of the features of DX12U.

So far, somehow Vulkan escapes these troubles, at least in the handful of games that sported it.
 
Last edited:
This is a terrible take. Square Enix is accountable for the quality off the games they ship and ask money for. They pick the engine, they pick the staff and resources. They also owe their customers an experience that isn't compromised by technical issues.

Most developers don't even care that the issue exists and there's no peer pressure among them to fix or work around it so why should any one specific developer care if many others don't ?

@Remij Epic Games is absolutely fine with the way developers are using their product because they're the ones who promised to them that they only needed a minimal amount of technical expertise to be able to use their product. There's hardly any risk of Epic Games revoking a developer's license to their engine so developers don't really care what their end users think on these miniature talking points. All the commercial game engine model ever does is promote technical illiteracy in the industry and that's exactly what Epic Games with Tim Sweeney wanted which was to be able to sell their product to less technically oriented developers ...
 
Developers have no reason to put more effort into these PC ports. PC gamers will buy them regardless and then spend a bunch of money to brute force passed them. There is no correlation at all on PC between quality and sales.
 
Developers have no reason to put more effort into these PC ports. PC gamers will buy them regardless and then spend a bunch of money to brute force passed them. There is no correlation at all on PC between quality and sales.

Console games are more optimized right. Your post just has just somewhat too much of a harsh pitch against your non-preffered platform, i think.
 
Console games are more optimized right. Your post just has just somewhat too much of a harsh pitch against your non-preffered platform, i think.

I think it’s pretty cut and dry that console games are more optimized. But the bigger point is that there is much more of a correlation between quality and sales on the those platforms.

PC gamers need to stop buying low quality ports or at the very least refunding them. Your money is the only power you have.

BTW not everything is a system war. No need to constantly bring it up.
 
Last edited:
Most developers don't even care that the issue exists and there's no peer pressure among them to fix or work around it so why should any one specific developer care if many others don't ?

@Remij Epic Games is absolutely fine with the way developers are using their product because they're the ones who promised to them that they only needed a minimal amount of technical expertise to be able to use their product. There's hardly any risk of Epic Games revoking a developer's license to their engine so developers don't really care what their end users think on these miniature talking points. All the commercial game engine model ever does is promote technical illiteracy in the industry and that's exactly what Epic Games with Tim Sweeney wanted which was to be able to sell their product to less technically oriented developers ...

This is like a cynical hellscape opinion about software, and if that's the opinion developers take towards releasing games we're all fucked. The idea that a person charging money for a product shouldn't care about their user experience because no one else does is just absolutely shitty. If people buy shitty games, they should refund them. Refund policies are important. Literally every single person that sells any product, whether it's software or knives or paper, should care about the quality of the product they're putting out into the world.
 
Back
Top