cohtml.Net.CommonRenderingLibraryParams
Common initialization parameters of the Rendering library.
Inherits from SystemIDisposable
Inherited by cohtml.Net.RenderingLibraryParams
Public Functions
Name | |
---|---|
virtual void | Dispose() |
virtual System.IntPtr | SetDeveloperOptions(string arguments) Set a developer option for internal usage. Do not use it. |
CommonRenderingLibraryParams() |
Public Properties
Name | |
---|---|
bool | AllowMultipleRenderingThreads Allows usage of Rendering Library calls from different threads. If not enabled, using rendering methods from different threads produces an error message. This option is useful when, for example, the client rendering backend records commands on different threads, that are later executed on a dedicated rendering thread. In the general use case where the rendering methods are called directly on the client’s rendering thread this should be set to false, to warn when incorrect usage is detected. |
bool | SetRenderingResourcesDebugNames Will set debug names on rendering resources. The actual use of these names depends on the rendering backend implementation. Use this for debugging purposes only as it incurs a slight performance penalty. |
bool | AllowMultithreadedCommandProcessing Will enable multi thread awarenes of the lirary which will result in more mutex locks/unlocks. |
float | PathTessellationThresholdRatio Sets the threshold ratio, which is used for determining whether to reuse old tessellated paths or tessellate new ones when changing the display size of paths (e.g. SVGs). If the threshold ratio is lower, then more paths will be tessellated, which will lead to a higher path visual quality, but also to increased memory usage. On the other hand, setting the threshold ratio to a higher value will result in reuse of more tessellated paths, which may cause lower path visual quality, because old tessellated paths are upscaled or downscaled in order to be reused. However, higher threshold value will lead to a decrease in the memory usage. The default threshold ratio is 2.5, which means that if we have previously tessellated a path with size X, then we will reuse it if the size of the new one is 250% larger or smaller. This is done by upscaling or downscaling the old tessellated path. Threshold ratio less than or equal to 1 will cause tessellation on every size change. |
uint | TextAtlasWidth Sets the width of the text atlas in px. The default value is 1024. The value must be in the range [1024;8192]. If the given value is not power of two we will round it up. |
uint | TextAtlasHeight Sets the height of the text atlas in px. The default value is 1024. The value must be in the range [1024;8192]. If the given value is not power of two we will round it up. |
bool | PreferSingleColorGlyphAtlas Use a single RGBA8 color atlas for raster glyphs and emojis. When disabled, a single channel atlas will be used for raster glyphs and a separate RGBA8 will be used for emojis. Disabled by default. |
bool | PreferGPUTessellator Use the GPU for vector graphics tessellation. Resulting graphics are stored in intermediate texture atlases. Enabled by default. See MinPathAtlasSize and MaxPathAtlasSize |
uint | MinPathAtlasSize Initial size of the atlas. The atlas grows with a factor of two if a shape does not fit. Only relevant if PreferGPUTessellator is true This might help with fragmentation. Lowering this does not reduce memory consumption If the given value is not a power of two we will round it up. |
uint | MaxPathAtlasSize Maximum size of the atlas. Only relevant if PreferGPUTessellator is true Shapes that do not fit are tessellated on the CPU. If the given value is not a power of two we will round it up. |
global.System.IntPtr | DeveloperOptions Reserved property for internal usage. Do not use it. |
Protected Attributes
Name | |
---|---|
bool | swigCMemOwn |
Public Functions Documentation
function Dispose
virtual void Dispose()
Reimplemented by: cohtml.Net.RenderingLibraryParams.Dispose
function SetDeveloperOptions
virtual System.IntPtr SetDeveloperOptions(
string arguments
)
Set a developer option for internal usage. Do not use it.
function CommonRenderingLibraryParams
CommonRenderingLibraryParams()
Public Property Documentation
property AllowMultipleRenderingThreads
bool AllowMultipleRenderingThreads;
Allows usage of Rendering Library calls from different threads. If not enabled, using rendering methods from different threads produces an error message. This option is useful when, for example, the client rendering backend records commands on different threads, that are later executed on a dedicated rendering thread. In the general use case where the rendering methods are called directly on the client’s rendering thread this should be set to false, to warn when incorrect usage is detected.
property SetRenderingResourcesDebugNames
bool SetRenderingResourcesDebugNames;
Will set debug names on rendering resources. The actual use of these names depends on the rendering backend implementation. Use this for debugging purposes only as it incurs a slight performance penalty.
property AllowMultithreadedCommandProcessing
bool AllowMultithreadedCommandProcessing;
Will enable multi thread awarenes of the lirary which will result in more mutex locks/unlocks.
property PathTessellationThresholdRatio
float PathTessellationThresholdRatio;
Sets the threshold ratio, which is used for determining whether to reuse old tessellated paths or tessellate new ones when changing the display size of paths (e.g. SVGs). If the threshold ratio is lower, then more paths will be tessellated, which will lead to a higher path visual quality, but also to increased memory usage. On the other hand, setting the threshold ratio to a higher value will result in reuse of more tessellated paths, which may cause lower path visual quality, because old tessellated paths are upscaled or downscaled in order to be reused. However, higher threshold value will lead to a decrease in the memory usage. The default threshold ratio is 2.5, which means that if we have previously tessellated a path with size X, then we will reuse it if the size of the new one is 250% larger or smaller. This is done by upscaling or downscaling the old tessellated path. Threshold ratio less than or equal to 1 will cause tessellation on every size change.
property TextAtlasWidth
uint TextAtlasWidth;
Sets the width of the text atlas in px. The default value is 1024. The value must be in the range [1024;8192]. If the given value is not power of two we will round it up.
property TextAtlasHeight
uint TextAtlasHeight;
Sets the height of the text atlas in px. The default value is 1024. The value must be in the range [1024;8192]. If the given value is not power of two we will round it up.
property PreferSingleColorGlyphAtlas
bool PreferSingleColorGlyphAtlas;
Use a single RGBA8 color atlas for raster glyphs and emojis. When disabled, a single channel atlas will be used for raster glyphs and a separate RGBA8 will be used for emojis. Disabled by default.
property PreferGPUTessellator
bool PreferGPUTessellator;
Use the GPU for vector graphics tessellation. Resulting graphics are stored in intermediate texture atlases. Enabled by default. See MinPathAtlasSize and MaxPathAtlasSize
property MinPathAtlasSize
uint MinPathAtlasSize;
Initial size of the atlas. The atlas grows with a factor of two if a shape does not fit. Only relevant if PreferGPUTessellator is true This might help with fragmentation. Lowering this does not reduce memory consumption If the given value is not a power of two we will round it up.
property MaxPathAtlasSize
uint MaxPathAtlasSize;
Maximum size of the atlas. Only relevant if PreferGPUTessellator is true Shapes that do not fit are tessellated on the CPU. If the given value is not a power of two we will round it up.
property DeveloperOptions
global.System.IntPtr DeveloperOptions;
Reserved property for internal usage. Do not use it.
Protected Attributes Documentation
variable swigCMemOwn
bool swigCMemOwn;