4.19 & 4.20 Editor & Packaged Games Have Hangs/Hiccups Constantly

On the other hand, i tried 4.20 and there it seem to run absolutely perfect, only problem i have, is that i rely on some thirdparty plugin that is obv. not updated to 4.20 yet, but it looks like this could solve it for me too.

for 4.19.2 it is necessary changes at the source code: “GDX11NVAfterMathEnabled to 0 in FD3D11DynamicRHIModule::StartupModule”

Shouldn’t it be enough to only change

if (Target.Platform == UnrealTargetPlatform.Win64)

to

if (Target.Platform == UnrealTargetPlatform.Win64 && false)

In NVaftermath.build.cs?

@StickySnoutStd I would expect the LoadLibrary call to simply fail silently rather than crash but changing the code via my or [USER=“24522”] Alcatraz[/USER] 's method should also work.

Yes this should work as well. You may have to force a rebuild if UBT doesn’t pick up the modification for some reason.

There seems to be a bug. It is using:


void FD3D11DynamicRHIModule::StartupModule()
{
#if NV_AFTERMATH
    // Note - can't check device type here, we'll check for that before actually initializing Aftermath

        FString AftermathBinariesRoot = FPaths::EngineDir() / TEXT("Binaries/ThirdParty/NVIDIA/NVaftermath/Win64/");
        if (LoadLibraryW(*(AftermathBinariesRoot + "GFSDK_Aftermath_Lib.x64.dll")) == nullptr)
        {
            UE_LOG(LogD3D11RHI, Warning, TEXT("Failed to load GFSDK_Aftermath_Lib.x64.dll"));
            GDX11NVAfterMathEnabled = 0;
            return;
        }
        else
        {
            UE_LOG(LogD3D11RHI, Log, TEXT("Aftermath initialized"));
            GDX11NVAfterMathEnabled = 1;
        }

#endif
}

But LoadLibraryW is documented as requiring backslashes:

https://msdn.microsoft.com/en-us/lib…(v=vs.85).aspx

Under “Remarks” it tells a complicated alternate search it will do if given a relative path that fails.

UE4 should maybe be using: IPlatformFile::ConvertToAbsolutePathForExternalAppForRead instead here?

Sadly i cant make engine changes because im relying on IKinema plugin. But as i read ur description its fixed in 4.20 and the most recent test i did with 4.20p5 with all Ikinema plugin functionaly disabled, it seemed to run smooth as it should.

Thank you VERY much, been waiting for this. :smiley:
That’s great news that it will be fixed in 4.20.

Amazing that the team found a workaround this quickly. Goes to show what a good repro project can do.

Can you not compile the plug-in yourself in this instance? If not, 4.20 is probably just around the corner, so hopefully you can move versions easily.

With indie we don’t ship our integration source which means you can’t rebuild the plugin binaries out of the box. The good news is we have the 4.20 update ready to go - just waiting on the official release so users wont have to hang around to update your engine.

You really need to ship that source, I couldn’t imagine working on any project without modifying the engine source, and of course I’d like to use your plugin, but I’m waiting for years now that you fix that. Theres almost no other UE4 plugin that limits you like that to launcher builds.

Thing i dont get is i been using 4.19 for quite a while now and this just started in the last day or so.

Hi There, i see 4.20 is out now, and the release logs state this:

  • New: Added support for NVIDIA Aftermath to be enabled by default.

    So, has this been disabled/fixed in the current new 4.20 release?

    Cheers!

in 4.19 got a packaging error after deleting the aftermath dll and disabling it ---------------------------ERROR: Failed to copy D:\UE_4.19\Engine\Binaries\ThirdParty\NVIDIA\NVaftermath\Win64\GFSDK_Aftermath_Lib.x64.dll to D:\unreal projects\Shoot\Saved\StagedBuilds\WindowsNoEditor\Engine\Binaries\ThirdParty\NVIDIA\NVaftermath\Win64\GFSDK_Aftermath_Lib.x64.dll

After deleting the files, make sure you run GenerateProject.bat, then open, clean, recompile?
Worked for me, if that helps :slight_smile:

Yes true. I believe it shouldn’t be a problem as software IP (should) are contained in the dll (in this case IKinema DLL). Therefore, integration code should be given out as it is just integration and contains no IK specific code.

FYI
The way I solved the stutter on 4.19.2:

  • close UE4
  • in your project folder, in Config\DefaultEngine.ini, under [/Script/Engine.RendererSettings]: add the line “r.gpucrashdebugging=False”
  • start UE4, open your project, build all and package your game
  • in the packaged game folder delete (or rename) Packaged\WindowsNoEditor\Engine\Binaries\ThirdParty\NVIDIA\NVaftermath\Win64\GFSK_Aftermath_Lib.x64.dll

Anyone still having this in 4.20.2? I simply open a blank project and turn on show FPS in the default level and my FPS fluctuates, I have also delete the dll mentioned above and still the persists.

It might not be the same problem. The one on this thread was an ugly one, where the stutter was like a quick freeze of the editor at each 10 seconds or so. Some times, not that quick. It was pretty noticeable and really frustrating.

This post https://forums.unrealengine.com/unreal-engine/feedback-for-epic/1457519-4-19-4-20-editor-packaged-games-have-hangs-hiccups-constantly?p=1476112#post1476112 pretty much states it was reproducible and if you click on the issue you will see it was fixed.

We would need more details on your graphics card model and driver version to properly see if we can help reproducing… also a video of 1min duration with your experience would immensely help.