DefaultInteractiveFramerateWaitTime

DefaultInteractiveFramerateWaitTime

#Overview

name: DefaultInteractiveFramerateWaitTime

The value of this variable can be defined or overridden in .ini config files. 1 .ini config file referencing this setting variable.

It is referenced in 3 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of DefaultInteractiveFramerateWaitTime is to set a default maximum wait time for achieving an interactive frame rate during automated testing in Unreal Engine 5. This setting is primarily used in the context of automation and performance testing.

This setting variable is relied upon by the Engine module, specifically within the automation testing subsystem. It’s used in conjunction with other automation-related settings to ensure proper performance evaluation during automated tests.

The value of this variable is set in multiple places:

  1. It has a default value defined in the UAutomationTestSettings constructor in AutomationTestSettings.cpp.
  2. It can be configured through the project settings, as indicated by the UPROPERTY macro with the ‘config’ specifier in AutomationTestSettings.h.
  3. It may also be set in the BaseEngine.ini file, as mentioned in a comment in the source code.

This variable interacts with other automation-related variables, particularly:

Developers should be aware that:

  1. This variable represents a time in seconds, specifically 10 minutes by default.
  2. It’s used as a fallback value in the FWaitForInteractiveFrameRate class when no specific wait time is provided.
  3. The default value is set considering that shaders and other DDC (Derived Data Cache) items may need to be built, which can take considerable time.

Best practices when using this variable include:

  1. Adjusting the value based on the specific needs of your project, considering factors like shader complexity and DDC build times.
  2. Using it in conjunction with other automation settings to create comprehensive and accurate performance tests.
  3. Being mindful of its impact on the duration of automated tests, especially when running on slower hardware or in CI/CD pipelines.
  4. Documenting any custom values used in your project to ensure consistency across the development team.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEngine.ini:2797, section: [AutomationTesting.StaticMeshEditorTest]

#References in C++ code

#Callsites

This variable is referenced in the following C++ source code:

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Classes/Tests/AutomationTestSettings.h:456

Scope (from outer to inner):

file
class        class UAutomationTestSettings : public UObject

Source code excerpt:

	 */
	UPROPERTY(EditAnywhere, config, Category = Automation)
	float DefaultInteractiveFramerateWaitTime;

	/**
	 *  Default time in seconds that DefaultInteractiveFramerate must remain true in FWaitForInteractiveFrameRate
	 */
	UPROPERTY(EditAnywhere, config, Category = Automation)
	float DefaultInteractiveFramerateDuration;

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/Tests/AutomationCommon.cpp:582

Scope (from outer to inner):

file
function     FWaitForInteractiveFrameRate::FWaitForInteractiveFrameRate

Source code excerpt:

	if (MaxWaitTime == 0)
	{
		MaxWaitTime = AutomationTestSettings->DefaultInteractiveFramerateWaitTime;
	}
}

void FWaitForInteractiveFrameRate::AddTickRateSample(const double Value)
{
	if (RollingTickRateBuffer.Num() == kSampleCount)

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/Tests/AutomationTestSettings.cpp:13

Scope (from outer to inner):

file
function     UAutomationTestSettings::UAutomationTestSettings

Source code excerpt:

	// These defaults are are also set in BaseEngine.ini
	DefaultInteractiveFramerate = 10.f;
	DefaultInteractiveFramerateWaitTime = 10.f * 60.f;		// 10 minutes - assume shaders and other DDC may need to be built
	DefaultInteractiveFramerateDuration = 5.f;
}