Topic-Free Mega Thread - v 1.11.2020

Thanks for reminding me… way too many games releasing right now :wink:

Wish the Steam store had a store badge for games with HDR. I don’t know whether to expect HDR or not. I know the Series X version has HDR, but that doesn’t mean anything when a game is ported :-\

Pfft, need more Patrons so I can buy and test all the games flooding the market right now, lol.

Do you literally mean there’s an error message about IDXGIDebug1 not being implemented that prevents the game from starting, or just a log entry in SK?


Either way, WTF is a retail game using IDXGIDebug1 for? :slight_smile: That’s for memory leak tracking, which you do not do for software that is release quality. It’s just going to tank performance.

Now you have really piqued my interest, and I’m going to have to add some features to SK to see just how often retail games ship using the DirectX debug layer :face_with_raised_eyebrow:.

There’s a few games that do, I’ll be screening the actual error messages shortly but it’s looking for functions across these two and that fails the start of the rest of the game.

EDIT:

Aftermath is the runtime component for NVIDIA NSight debugging I believe so that’s where that comes from at least.

EDIT: And the game where this also popped up was Metro Exodus.
Must have been a similar thing then, wonder if that’s using Aftermath too.

EDIT: Yeah a helper for identifying GPU crashes.

Think AMD has something like that as part of the AGS package (5.3 being used here.) curious as to what the NVIDIA file is loading up though as usually NVAPI isn’t active on AMD GPU systems to my knowledge.
(Well there’s PhysX still but that goes separately and through a strictly CPU only path.)

Hmm wonder if that means that this might be in a majority of the newer games that are utilizing NSight / NVIDIA Aftermath is then hooking up IDXGIDebugInterface1 or similar so they can troubleshoot memory related errors.

And then reliance on this functionality as a potential problem unless supported in some form.

EDIT: Guessing there’s no easy way to check Steam packages for GFSDK_Aftermath_Lib.x64.dll or similar for that particular dependency or .dll file rather.
(Version 2.6.0.0 here.)

Here’s a build that fixes the DXGIDebug1 problem…

dxgi.7z (7.6 MB)

I have half a mind to change that to report to the game that Debug Interfaces are unsupported, and get better performance :stuck_out_tongue: But for now, this implements GetDebugInterface1 (…) to spec.


LOL!! I thought NVIDIA Aftermath was a matrix math library, not a crash reporter :slight_smile: That’s hilarious.

[API.Hook]
LastKnown=128
d3d9=false
d3d9ex=false
OpenGL=false
d3d11=true
d3d12=true

[Render.FrameRate]
TargetFPS=60.0
SleeplessRenderThread=true
SleeplessWindowThread=true
MaxBusyWaitPercent=0.0
PreRenderLimit=6
BackBufferCount=6

[Render.DXGI]
UseFlipDiscard=true
SwapChainWait=1

[Textures.D3D11]
Cache=false

More or less the best you’re going to do with a D3D12-based game. No other settings in SK matter for the most part.

Before

After


Install

Download SK_ACV.7z (7.5 MB), and extract it to your game’s directory (usually C:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\games\Assassin’s Creed Valhalla)

Configuration

The configuration that ships with this release is tuned for 60 FPS, if you want a different rate the only change you need to make to dxgi.ini is TargetFPS=…

Uninstall

Delete dxgi.dll and dxgi.ini from your game’s directory, no other changes are necessary.

1 Like

Controller I suppose rather than limiter the way things are going, a few years with these one would expect behavior and control to improve in games not get stuck with the same issues over and over or get worse.

For ■■■■ sake (!!)

AC: Valhalla has the same stupid problem as FFXV and Watch Dogs: Legion. Any time input changes from mouse / keyboard to gamepad, the game hitches.

Who designs these stupid ports? I am getting really tired of this, it is common sense not to do any resource loading in response to user input. If they cannot even figure that out, there’s really no hope for these games ever performing reasonably.

Frame-rate soother

Oh nice!

11/10/2020 14:15:23.435: [   DXGI   ] [!]     IDXGISwapChain::SetFullscreenState          ({ Windowed }, 00000000h)                              -- [ ACValhalla_plus.exe       <AK::MusicEngine::GetDefaultInitSettings>, tid=0x5dac ]
11/10/2020 14:15:23.435: [   DXGI   ] [!]     IDXGISwapChain::ResizeBuffers          (6,3840,2160,DXGI_FORMAT_R16G16B16A16_FLOAT,0x00000840)     -- [ ACValhalla_plus.exe       <AK::MusicEngine::GetDefaultInitSettings>, tid=0x5dac ]
11/10/2020 14:15:23.435: [ DXGI 1.5 ]  >> Tearing Option:  Enable
11/10/2020 14:15:23.464: [   DXGI   ] [@]  Return: S_OK  -  < DXGISwap_ResizeBuffers_Override >
11/10/2020 14:15:23.464: [   DXGI   ] [!] IDXGISwapChain3::CheckColorSpaceSupport (DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709) 
11/10/2020 14:15:23.464: [ DXGI HDR ]  ] Color Space Supported. 
11/10/2020 14:15:23.464: [   DXGI   ] [!] IDXGISwapChain3::SetColorSpace1 (DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709)

For those that do not speak DXGI, AC: Valhalla does not use NvAPI or AGS for HDR.

Moreover, it renders using scRGB instead of HDR10. If I could draw my overlay in D3D12, I would kiss this game for doing things the right way :slight_smile:

OH so AMD will do good then with HDR in Valhalla then? I mean decent right?

Edit
So I found out why WDL memory shoots thru the roof now with SK. If I do local injection it causes the game to build up memory usage within five minutes of hitting my 32GB easy. But doing global this doesn’t happen at all.

Edit2:
So I updated Valhalla and then it installs game and installs redistributals and then it basically forces restart of my PC. I am guessing the redistributables either overwrote the ones I had or I didn’t have them period for some odd reason which I could’ve sworn I did and it basically installed them.

There’s a Visual C runtime in the game folder, I replace it with a dummy so it starts Shell Extension Viewer instead and thinks it’s installed rather than trying to forcibly overwrite the new VC++ 2019 redist with I think it was a 2017 variant?

It’s handled by this for that stuff, reboot required if something using VC++ is still running in the background though it’ll attempt to prompt for closing these if detected.

Steam you can just remove the common redist folder but Origin and Uplay gets funky if these aren’t allowed to install so I dummy them.

Or some other harmless .exe it can run and which can then be closed and the install routine is set as finished and successful. :slight_smile:

EDIT: For some reason there’s also a bunch of autorun stuff (And the installer for UPlay itself.) like someone uploaded the Blu-DVD content entirely from the gold master to the online server depot. :stuck_out_tongue:
(Well the retail gold master, annoying exe file padding and Ubisoft separating it for the Plus version too rather than keeping it through the Orbit/Uplay software client instead. :stuck_out_tongue: )

I am running Ubisoft version of game. Not steam’s lol.

That’s just an example since Ubisoft hasn’t actually returned to Steam yet curiously enough thought it would happen with the Uplay Plus subscription similar to EA and then a bit after UPlay became UbisoftConnect. (Which…made a few of it’s icons change color and little else over regular monthly feature updates and fixes? :stuck_out_tongue: )

Usually there’s a “Support” folder where Ubisoft downloads the games to that contains these.
Curiously there’s just that one Visual C runtime for Assassin’s Creed Valhalla whereas Watch_Dogs Legion had a number of different runtimes.

At least it’s better than EA Origin doing a little bit of the download and then surprise runtime installation and then continuing with the download.

Here you have to start the actual game after finishing the download first and then that process begins. :smiley:

EDIT: Really thought Ghost Recon Breakpoint (Bugpoint) and Division 2 would be on Steam by this point guess they’re pushing for their own service together with a “Oh and there’s EGS too.” as a extra which I suppose works out for them at least.

Also Valhalla has this odd dissonance now that some of the NPC’s are talking in various Nordic country native languages that I can somewhat understand so there’s input of altered deliveries of Swedish conversions or Norwegian probably some Icelandic mixed with English and sounding like spoken as if it was by a Nordic speaker heh.

Might improve once the game is progressing a bit further and getting over to the English shores though.
Maybe. Depends on the locals I guess.

Probably going to go a bit like this sailing over there in a longboat.

The way some of the new villains in this series have been they might as well go full ham all the time. :smiley:
(Though they already did that in Assassin’s Creed Syndicate I suppose.)

EDIT: Well OK, all the villains so far really. Some work really well though.

I copied dxgi.dll and dxgi.ini inside AC Valhalla folder, but its not limiting the framerate to 60fps.

I’m doing something wrong?

In DXGI.ini there should just be one setting for controlling the FPS limiter and adjust that settings should be all that’s needed for configuring the framerate limiter.

[Render.FrameRate]
TargetFPS=60.0

That should be everything.

This is the contentos of the .ini

[API.Hook]
LastKnown=128
d3d9=false
d3d9ex=false
d3d11=true
OpenGL=false
d3d12=true
Vulkan=false

[Render.FrameRate]
TargetFPS=60.0
SleeplessRenderThread=true
SleeplessWindowThread=true
MaxBusyWaitPercent=0.0
PreRenderLimit=6
BackBufferCount=6
BackgroundFPS=0.0
EnableMMCSS=true
WaitForVBLANK=false
PresentationInterval=-1
RescanRatio=-1/1
RefreshRate=-1.0
LimitEnforcementPolicy=4

[Render.DXGI]
UseFlipDiscard=true
DropLateFrames=true
SwapChainWait=1
MaxDeltaTime=0
DisableFlipModel=false
AllowTearingInDWM=true
MaxRes=0x0
MinRes=0x0
Scaling=DontCare
ScanlineOrder=DontCare
ExceptionMode=DontCare
EnableDebugLayer=false
SafeFullscreenMode=false
Use64BitDepthStencil=false
IsolateD3D11DeferredContexts=false
SkipSwapChainPresentTest=false
OverrideMSAA=-1

[Textures.D3D11]
Cache=false
PreciseHash=false
Inject=true
InjectionKeepsFormat=false
GenerateMipmaps=false

[SpecialK.HDR]
scRGBLuminance_[0]=12.5
scRGBPaperWhite_[0]=3.125
scRGBGamma_[0]=1.0
ToneMapper_[0]=1
Saturation_[0]=1.0
MiddleGray_[0]=1.25
scRGBLuminance_[1]=2.5
scRGBPaperWhite_[1]=1.25
scRGBGamma_[1]=1.0
ToneMapper_[1]=0
Saturation_[1]=1.0
MiddleGray_[1]=1.25
scRGBLuminance_[2]=1.0
scRGBPaperWhite_[2]=1.0
scRGBGamma_[2]=1.0
ToneMapper_[2]=0
Saturation_[2]=1.0
MiddleGray_[2]=1.25
scRGBLuminance_[3]=3.75
scRGBPaperWhite_[3]=1.875
scRGBGamma_[3]=1.0
ToneMapper_[3]=1
Saturation_[3]=1.0
MiddleGray_[3]=1.25
Use10BitSwapChain=false
Use16BitSwapChain=false
Promote8BitRTsTo16=false
Promote10BitRTsTo16=false
Promote11BitRTsTo16=false
AllowFullLuminance=true
Preset=0

[HDR.Presets]
Activate0=Shift+F1
Activate1=Shift+F2
Activate2=Shift+F3
Activate3=Shift+F4

[Compatibility.General]
DisableBloatWare_NVIDIA=false
RehookLoadLibrary=false

[SpecialK.System]
ShowEULA=false
Silent=false
LogLevel=0
IgnoreRTSSHookDelay=false
UseCrashHandler=true
GameOutput=true
EnableCEGUI=true
SafeInitCEGUI=true
TraceLoadLibrary=true
StrictCompliant=false
Version=0.11.1

[ImGui.Render]
DisableAlpha=false
AntialiasLines=true
AntialiasContours=true

[NVIDIA.API]
DisableHDR=false
Disable=false

[NVIDIA.Bugs]
AnselSleepsWithFishes=false

[Input.Keyboard]
CatchAltF4=true
DisabledToGame=false

[Input.Mouse]
DisabledToGame=false

[Input.Cursor]
Manage=false
KeyboardActivates=true
Timeout=1.5
ForceCaptureInUI=false
UseHardwareCursor=true
BlockInvisibleCursorInput=false
NoWarpUI=true
NoWarpVisibleGameCursor=true
FixSynapticsTouchpadScroll=false
AntiwarpDeadzonePercent=2.5
UseRelativeInput=true

[Input.Gamepad]
DisabledToGame=false
DisablePS4HID=false
AllowHapticUI=true
DisableRumble=false

[Input.XInput]
Rehook=false
PlaceholderMask=0
UISlot=0
SlotReassignment=0,1,2,3

[Input.Steam]
UISlot=0

[Threads.Analyze]
MemoryAllocation=false
FileActivity=false

[Window.System]
Borderless=false
Center=false
RenderInBackground=false
MuteInBackground=false
XOffset=0.0%
YOffset=0.0%
ConfineCursor=false
UnconfineCursor=false
PersistentDragPos=false
Fullscreen=false
FixMouseCoords=false
AlwaysOnTop=0
DisableScreensaver=false
DontHookWndProc=false
OverrideRes=0x0

[Display.Output]
ForceFullscreen=false
ForceWindowed=false

[FrameRate.Control]
OverrideCPUCoreCount=-1

[Textures.Cache]
MaxEntries=65536
MinEntries=512
MaxEvict=1024
MinEvict=64
MaxSizeInMiB=2048
MinSizeInMiB=384
IgnoreNonMipmapped=false
AllowStaging=false
AllowUnsafeRefCounting=false
ManageResidency=false

[Textures.General]
ResourceRoot=SK_Res
DumpOnFirstLoad=false

[DPI.Scaling]
Disable=false
PerMonitorAware=false
MonitorAwareOnAllThreads=false

[Steam.Achievements]
SoundFile=

[Steam.System]
AppID=0
AutoInitDelay=0
AutoPumpCallbacks=true
BlockUserStatsCallback=false
FilterExternalDataFromCallbacks=false
PreLoadSteamClient=false
PreLoadSteamOverlay=false
ForceLoadSteamAPI=false
AutoInjectSteamAPI=true
NotifyCorner=DontCare
ReuseOverlayPause=true
SteamPipeDLL=
CallbackThrottle=-1

[Steam.Social]
OnlineStatus=-1

[Steam.Log]
Silent=false

[Steam.DRMWorks]
SpoofBLoggedOn=false

[Steam.Screenshots]
EnableSmartCapture=true

[AMD.ADL]
Disable=false

That one has to be set to false I believe, SpecialK’s D3D12 support is not quite finalized so there’s a few changes that have to be set. :slight_smile:

Trying to think if the games FPS limiter could also in any way conflict or take priority if that’s still enabled when SpecialK’s FPS limiter is set but I don’t believe it will but it should probably be disabled so there’s only one thing trying to limit the framerate.

EDIT: Kaldaien’s ini file settings were posted a bit further up.

[API.Hook]
LastKnown=128
d3d9=false
d3d9ex=false
OpenGL=false
d3d11=true
d3d12=true

[Render.FrameRate]
TargetFPS=60.0
SleeplessRenderThread=true
SleeplessWindowThread=true
MaxBusyWaitPercent=0.0
PreRenderLimit=6
BackBufferCount=6

[Render.DXGI]
UseFlipDiscard=true
SwapChainWait=1

[Textures.D3D11]
Cache=false

EDIT: Which I now see has D3D11 API hook support set to true when that’s always been recommended to set false for DirectX 12 titles and what SpecialK currently supports for this API.
Wonder if that’s a oversight or not. Now I’m not entirely sure here.

Its working nicely... I disable d3d11. @Kaldaien thanks just tested benchmark, pretty nice considering the complains. At 1440p with my good ol980ti
Now to test ingame


SK MAGIC…