[4.15] Alternate Frame Rendering for SLI

Wondering if anything needs to be enabled to utilize AFR SLI support in UE4.15?
I’ve two GTX 980s with SLI enabled, and would love to see a performance boost from both utilized.

Thanks!

Searching sites and forums as well on where you can enable this feature or what needs to be setup first to activate it. No luck yet. Since updated release I did try going to Nvidia control panel and selecting the Unreal application and changing application SLI rendering mode to Alternate Rendering 1 and Alternate Rendering 2 however, still does not activate the second card to rendering. I have two GTX 980ti’s, hopefully we get word soon on how this new feature works.

Did you have any progress on this?

No, unfortunately no new information yet. Contacted Nvidia suuport and they pointed me to Nvidia’s Developer forum page to post question there. Forum Post Link

No luck yet on anyone responding to me, and also posted and talked with others on Unreal Forum with no new details. Kind of gave up the last few days on searching for answer. Have no idea why the would discuss a new features that has no information or details on using it. Frustrating. Link to Unreal Forum Post

Thanks for the reply.
It feels like when we try to use a less ‘main-stream’ feature we are 100% on our own. :frowning:

Pretty much, I was a bit worried to when i saw how far down Alternate Frame Rendering feature was placed on the long list of release notes. That be something at the top in my opinion when announced, since it was pretty much at the bottom i was pretty skeptical to get it to work right off the bat.

Maybe a hint from the developers?

I’m trying to debug to see what’s happening and where it’s failing. Currently I’m looking in …Engine\Source\Runtime\Windows\D3D11RHI\Private\Windows\WindowsD3D11Device.cpp

#if PLATFORM_DESKTOP
		if( IsRHIDeviceNVIDIA() )
		{
			GSupportsDepthBoundsTest = true;
			NV_GET_CURRENT_SLI_STATE SLICaps;
			FMemory::Memzero(SLICaps);
			SLICaps.version = NV_GET_CURRENT_SLI_STATE_VER;
			NvAPI_Status SLIStatus = NvAPI_D3D_GetCurrentSLIState(Direct3DDevice, &SLICaps);
			if (SLIStatus == NVAPI_OK)
			{
				if (SLICaps.numAFRGroups > 1)
				{
					GNumActiveGPUsForRendering = SLICaps.numAFRGroups;
					UE_LOG(LogD3D11RHI, Log, TEXT("Detected %i SLI GPUs Setting GNumActiveGPUsForRendering to: %i."), SLICaps.numAFRGroups, GNumActiveGPUsForRendering);
				}
			}
			else
			{
				UE_LOG(LogD3D11RHI, Log, TEXT("NvAPI_D3D_GetCurrentSLIState failed: 0x%x"), (int32)SLIStatus);
			}
		}

Am I at least looking in the right place? It looks like the breakpoint doesn’t trigger…

From my own experience, there’s nothing you need to do in your project to enable SLI; it just works so long as the NVidia Control panel recognizes it.

I did follow the instructions for how to add a 3D managed profile for a game to enable SLI AFR2 for that application (I also tried from the Global settings as well).

I also enabled (via the NVidia CP) the SLI Performance Indicator.

I confirmed SLI was working in the game I was messing with, but I actually experienced a 10 FPS DROP!

I tried various configuration settings, but nothing out performed just running it under single GPU.
Oh well, maybe it’ll be working better in 4.16; until then, I’ve abandoned worrying about it right now.

I’m looking for this potentials as well, I have a laptop with SLI x Nvidia 1080, I want to activate the second card for VR applications from Unreal Engine, who know any information about that? I going to try Nvidia Control Panel, I hope it’s not going to break my VR experience :slight_smile:

SLI may be “enabled/working” but the 10FPS drop you seen was due to Unreal Engine being a deferred renderer. It’s not set up to handle Multi-GPU support. This is why this question came up, because apparently if we speak with NVidia, we will be able to enable AFR.

how about VR? Forward rendering?