Foundation
Loading...
Searching...
No Matches
Public Attributes | List of all members
Foundation::RenderCore::RendererDesc Struct Reference

Parameters for Renderer creation. More...

#include <Renderer.hpp>

Public Attributes

bool enableAsyncCompute {true}
 Enable Async Compute support.
 
bool enablePresent {true}
 Enable presentation support.
 
uint32_t numRenderThreads {std::max(1u, std::thread::hardware_concurrency() - 1)}
 Number of worker threads to use for recording command lists.
 

Detailed Description

Parameters for Renderer creation.

Member Data Documentation

◆ enableAsyncCompute

bool Foundation::RenderCore::RendererDesc::enableAsyncCompute {true}

Enable Async Compute support.

Note
This requires the underlying RHI device to support an async compute queue, and the Renderer having passes that's scheduled on the compute queue. (see createPass).
Expect fallback to single-queue operation if this is not the case, and potential performance regression if your render graph doesn't have enough compute work to balance out the synchronization overhead, or your scheduling is not optimal, e.g. overlapping bandwidth/ALU bound Graphics/Compute work together (see createPassPriority).
Always examine the generated execution groups (see DbgDumpExecutionGroups) and PROFILE to verify that your render graph is scheduled as expected.

◆ enablePresent

bool Foundation::RenderCore::RendererDesc::enablePresent {true}

Enable presentation support.

Note
Enabling this implies a valid RHISwapchain handle is provided to the Renderer on creation (see Renderer::Renderer), otherwise an exception is thrown.

◆ numRenderThreads

uint32_t Foundation::RenderCore::RendererDesc::numRenderThreads {std::max(1u, std::thread::hardware_concurrency() - 1)}

Number of worker threads to use for recording command lists.

Note
Set this to 0 to disable multithreaded command recording.

The documentation for this struct was generated from the following file: