Click or drag to resize
Ab4d.SharpEngine logo

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
SystemObject
  Ab4d.SharpEngine.CommonEngineRuntimeOptions

Namespace: Ab4d.SharpEngine.Common
Assembly: Ab4d.SharpEngine (in Ab4d.SharpEngine.dll) Version: 1.0.8740+deb2991acfe86a95cca780cd4f82bcae2805c1a5
Syntax
C#
public static class EngineRuntimeOptions

The EngineRuntimeOptions type exposes the following members.

Properties
 NameDescription
Public propertyStatic memberDisposeAlreadyDisposedObject Gets or sets what action is taken when Dispose method is called for already disposed object. Default value is LogInfo.
Public propertyStatic memberDisposeObjectFromFinalizer Gets or sets what action is taken when a SharpEngine's object is disposed from finalizer. Default value is NoAction.
Public propertyStatic memberDisposingAssignedMaterial Gets or sets what action is taken when a material that is still assigned to a SceneNode is disposed. Default value is NoAction.
Public propertyStatic memberDisposingAssignedMesh Gets or sets what action is taken when a mesh that is still assigned to a SceneNode is disposed. Default value is NoAction.
Public propertyStatic memberThrowExceptionOnValidationError When true (false by default) then any validation error will throw a SharpEngineValidationException.
Public propertyStatic memberValidateAllocatedMeshBlocks When true then mesh memory blocks are checked so that they are correctly allocated and do not intersect with any other memory block.
Public propertyStatic memberValidateHeapAllocatorOnEachAllocation 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.
Public propertyStatic memberValidateHeapAllocatorOnEachFrame 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.
Public propertyStatic memberValidateMeshDataOnGpu 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.
Public propertyStatic memberValidationTime ValidationTime gets or sets the times in the rendering pipelines when the validation checks are executed. Default value is AfterUpdate.
Public propertyStatic memberWriteLogErrorOnValidationError When true (by default) then validation errors are written to error log messages.
Top
Fields
 NameDescription
Public fieldStatic memberFramesCountToReleaseEmptyMemoryBlock 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.
Public fieldStatic memberInitialBufferMemoryBlockSize 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.
Public fieldStatic memberInitialImageMemoryBlockSize 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.
Public fieldStatic memberLinePositionsCountRequiredForComplexGeometry 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.
Public fieldStatic memberMaxAllocatedMemoryBlockSize 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.
Public fieldStatic memberMeshTriangleIndicesCountRequiredForComplexGeometry 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.
Public fieldStatic memberReuseDisposedMemoryBlockIndexes 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.
Public fieldStatic memberValidationErrorPrefixText 
Top
See Also