|
EngineRuntimeOptions Class |
EngineRuntimeOptions is a static class that provides static properties that control the runtime operation of the engine, many of them are used for diagnostics and logging.
Inheritance Hierarchy Namespace: Ab4d.SharpEngine.CommonAssembly: Ab4d.SharpEngine (in Ab4d.SharpEngine.dll) Version: 2.0.8956+4c7684e186ca1be74e7a284fbe739d9a1b843d3c
Syntax public static class EngineRuntimeOptions
The EngineRuntimeOptions type exposes the following members.
Properties | Name | Description |
---|
| DisposeAlreadyDisposedObject |
Gets or sets what action is taken when Dispose method is called for already disposed object.
Default value is LogInfo.
|
| DisposeObjectFromFinalizer |
Gets or sets what action is taken when a SharpEngine's object is disposed from finalizer.
Default value is NoAction.
|
| DisposingAssignedMaterial |
Gets or sets what action is taken when a material that is still assigned to a SceneNode is disposed.
Default value is NoAction.
|
| DisposingAssignedMesh |
Gets or sets what action is taken when a mesh that is still assigned to a SceneNode is disposed.
Default value is NoAction.
|
| ThrowExceptionOnValidationError |
When true (false by default) then any validation error will throw a SharpEngineValidationException.
|
| ValidateAllocatedMeshBlocks |
When true then mesh memory blocks are checked so that they are correctly allocated and do not intersect with any other memory block.
|
| ValidateHeapAllocatorOnEachAllocation |
When true then HeapAllocator integrity is checked after each allocation and deallocation.
This can be very slow when there are a lot of allocations.
It is recommended to first enable ValidateHeapAllocatorOnEachFrame and if errors are found,
enable this setting to get the exact moment that causes the error.
|
| ValidateHeapAllocatorOnEachFrame |
When true then HeapAllocator integrity is checked on each frame.
When checking heal allocations it is recommended to first enable this settings and if errors are found
then enable ValidateHeapAllocatorOnEachAllocation that is much slower.
|
| ValidateMeshDataOnGpu |
When true then the content of mesh vertex and index buffer is checked with the content that is actually written on the GPU.
This validation is very expensive because all mesh data needs to be copied from the GPU to the main memory to be checked.
Usually setting should found all the problems without using this validation.
|
| ValidationTime |
ValidationTime gets or sets the times in the rendering pipelines when the validation checks are executed.
Default value is AfterUpdate.
|
| WriteLogErrorOnValidationError |
When true (by default) then validation errors are written to error log messages.
|
TopFields | Name | Description |
---|
| FramesCountToReleaseEmptyMemoryBlock |
FramesCountToReleaseEmptyMemoryBlock defines the number of frames before an empty memory block is freed
(each frame is counted as one call to Render(Boolean, Boolean, Boolean) method; usually this method is called 60 times per second).
Default value is 10 which means that when a memory block becomes free it will remain active until 10 frames are rendered. This helps reusing the memory blocks.
When set to value smaller than zero, then empty memory blocks are never automatically freed and user needs to call Cleanup(Boolean, Boolean, Boolean, Boolean, Boolean) with freeEmptyMemoryBlocks parameter set to true.
|
| InitialBufferMemoryBlockSize |
Gets size in bytes that defines the size of the first memory block used for GpuBuffers.
The next block that is allocated is twice the size of the previous block.
Default value is 1 MB.
|
| InitialImageMemoryBlockSize |
Gets size in bytes that defines the size of the first memory block used for GpuImages.
The next block that is allocated is twice the size of the previous block.
Default value is 16 MB.
|
| LinePositionsCountRequiredForComplexGeometry |
LinePositionsCountRequiredForComplexGeometry specifies the number of positions that define a 3D line that are required to put the RenderingItem with ScreenSpaceLineNode into the ComplexGeometryRenderingLayer (sending it to GPU as fast as possible) instead of into the LineGeometryRenderingLayer.
Default value is 20000.
|
| MaxAllocatedMemoryBlockSize |
Gets size in bytes that defines the maximum allocated memory block size (except if a bigger memory block is required).
The size of blocks that are allocated is doubled each time a block is allocated. This value defines the size after which the allocated size is not doubled anymore.
Default value is 256 MB.
|
| MeshTriangleIndicesCountRequiredForComplexGeometry |
TriangleIndicesCountRequiredForComplexGeometry specifies the number of triangles that are required to put the RenderingItems created from object derived from ModelNode3D into the ComplexGeometryRenderingLayer (sending it to GPU as fast as possible) instead of into the StandardGeometryRenderingLayer.
Default value is 100000.
|
| ReuseDisposedMemoryBlockIndexes |
When true and when a memory block is disposed, then its index can be used for the next allocated memory block.
When false, then the indexes always increase.
Default value is true.
|
| ValidationErrorPrefixText | |
TopSee Also