Unreal Engine

Unreal Engine v4.x

Supported platforms

  • Microsoft Windows[92]
  • macOS[92]
  • Linux[92]
  • HTML5[93]
  • iOS[92]
  • Android[92]
  • Nintendo Switch[94]
  • PlayStation 4[95]
  • Xbox One[95]
  • Magic Leap One[96]
  • HTC Vive[97]
  • Oculus Rift[98]
  • PlayStation VR[99]
  • Google Daydream[100]
  • OSVR[101]
  • Samsung Gear VR[102]
  • HoloLens 2[103]
  • PlayStation 5[104]
  • Xbox Series X and Series S[104]
  • Stadia[105]

GPU Profiling

https://docs.unrealengine.com/en-US/Engine/Performance/GPU/index.html

The profile GPU outputs can be misleading sometimes.

Schalten Sie transparente Beleuchtungsfunktionen aus. Bewegungsunschärfe ausschalten. Schalten Sie die HDR-Augenanpassung aus. Verringern Sie die Qualität des dynamischen Schattens (CSM), indem Sie die Anzahl der Kaskaden, die Filterqualität und die Auflösung der Schattenkarten verringern. Verringern Sie die SSAO-Qualität und verringern Sie den Radius. Deaktivieren Sie die Linseneffekte (Aberration, Schmutzmaske usw.). Deaktivieren Sie Linseneffekte. Deaktivieren Sie die Blüte oder verringern Sie den Radius und die Qualität. Verwenden Sie ScreenPercentage, um das gerenderte Bild zu unterschätzen.

  • EarlyZPass: By default we use a partial z pass. DBuffer decals require a full Z Pass. This can be customized with r.EarlyZPass and r.EarlyZPassMovable.
  • Base Pass: When using deferred, simple materials can be bandwidth bound. Actual vertex and pixel shader is defined in the material graph. There is an additional cost for indirect lighting on dynamic objects.
  • Shadow map rendering: Actual vertex and pixel shader is defined in the material graph. The pixel shader is only used for masked or translucent materials.
  • Shadow projection/filtering: Adjust the shader cost with r.ShadowQuality.Disable shadow casting on most lights. Consider static or stationary lights.
  • Occlusion culling: HZB occlusion has a high constant cost but a smaller per object cost. Toggle r.HZBOcclusion to see if you do better without it on.
  • Deferred lighting: This scales with the pixels touched, and is more expensive with light functions, IES profiles, shadow receiving, area lights, and complex shading models.
  • Tiled deferred lighting: Toggle r.TiledDeferredShading to disable GPU lights, or use r.TiledDeferredShading.MinimumCount to define when to use the tiled method or the non-deferred method.
  • Environment reflections: Toggle r.NoTiledReflections to use the non-tiled method which is usually slower unless you have very few probes.
  • Ambient occlusion: Quality can be adjusted, and you can use multiple passes for efficient large effects.
  • Post processing: Some passes are shared, so toggle show flags to see if the effect is worth the performance.

CPU Profiling

https://docs.unrealengine.com/en-US/Engine/Performance/CPU/index.html

  • Reducing object count (static/dynamic meshes, mesh particles)
  • Reducing view distance (e.g. on the Scene Capture Actor or per object)
  • Adjusting the view (more zoomed out view, moving objects to not be in the same view)
  • Avoiding SceneCaptureActor (needs to re-render the scene, set fps to be low or update only when needed)
  • Avoiding split screen (Always more CPU bound than single view, needs custom scalability settings or content to be more aggressive)
  • Reducing Elements per draw calls (combine materials accepting more complex pixel shaders or simply have less materials, combine textures to fewer larger textures – only if that reduces material count, use LOD models with fewer elements)
  • Disabling features on the mesh like custom depth or shadow casting
  • Changing light sources to not shadow cast or having a tighter bounding volume (view cone, attenuation radius)

Unreal Frontend

Tool for managing applications and deploying to consoles.

https://docs.unrealengine.com/en-US/Engine/Deployment/UnrealFrontend/index.html

FeatureDescription
LauncherBuild, cook, deploy and launch your game. UFE allows you to simultaneously deploy to multiple target devices running different target platforms, either locally connected or anywhere on the network. You will be able to launch multiple instances per device (on supporting platforms) and configure different roles per instance in order to drastically speed up your workflow for testing your single or multiplayer cross-platform games.
SessionsRemotely monitor and interact with any of your currently active game sessions running on the network. The new Session Browser will allow you to locate instances of your game currently running on the network. The Session Console shows you a real-time feed of each game instance’s output log, and it allows you to remotely execute console commands on one or more target devices. It will soon be possible to share your active sessions remotely with other developers or artists in order to get a second opinion without them having to come to your desk.
AutomationAutomatically test code and content and verify their integrity. This is a new feature not available in previous versions of the engine. You will be able to write unit/feature/stress tests for your game’s custom C++ classes and content, and you can create automated tests for verifying common workflows, such as verifying that all maps and packages are loading without errors. We are also working on integrating automation tests into our build system, so that it will be possible to run them automatically and detect potential problems as part of the continuous integration process.
ProfilingRemotely analyze the performance of your game and locate bottlenecks. If you are familiar with our previous suite of profiling tools in UE3, you will be excited to hear that we are working on integrating all these disparate tools into a single user experience inside UFE.
Device ManagementManage your devkits, mobile devices and other test computers. Simple device discovery was already available in previous versions of UFE, but in UE4 it will be a lot more powerful. We are dropping the restriction that a target device has to be connected to the local PC, either physically or through the device’s SDK. You will be able to detect locally connected and networked devices and share them with others. Windows and Mac computers are now also able to act as target devices for deployment, launching, and automation.