The Procedural Runtime preferences page controls various options with respect to rule derivation (model generation), display, rendering, occlusion and miscellaneous engine arguments.
- If "Write compiler output to console window" is enabled, the CGA compiler's activities are logged to a console.
- The maximum array size limits the number of elements in arrays. This avoids an accidental high memory consumption.
- The maximum derivation depth controls the maximum recursion level of rules (createShape), or the depth of the shape tree (model hirarchy), respectively.
- The maximum derivation width controls the breadth of the shape tree (model hierarchy).
- The maximum function call depth controls the maximum recursion level of function calls. This includes attributes.
- The disk cache size controls hom much disk space is used to cache decoded textures between starts of the city engine. Using the disk cache might reduce memory consumption during runtime because textures do not need to be decoded (and kept in memory) to find their metadata (scuh as aspect ratio etc.).
- Number of parallel generate threads: Use this to set the number of threads to be used to execute one generate command.
- The extent of the trim planes can be controlled with trim plane size; note that this is for computation only, the rendering size of the trim planes can be controlled in the display settings below.
Occlusion and Context
- Disable inter/intra queries: Disabling intra-shape tree or inter-shape tree (neighbors) queries might be useful for rule debugging.
- Neighborhood distance for inter-occlusion queries: All shapes within this distance of the bounding box of a shape are considered neighbors (occluders). This means their models need to be derived for inter-occlusion queries. This property is stored per scene.
- Neighborhood distance for inter-context queries: All shapes within this distance of the bounding box of a shape are considered for labeled context queries. This means their models need to be derived for inter-context queries. If set to 0, the distance is ignored, i.e. all scene shapes are considered. This property is stored per scene.
- Maximum distance for occlusion: Due to floating point limitations, occlusion queries use this threshold value.
- Edges size: Defines the display size (thickness) of edges.
- Vertices size: Defines the display size (diameter) of vertices.
- Pivot size: Defines the display size of pivots.
- Pivot line with: Defines the display line width of pivots.
- Scope line with: Defines the display line width of scopes.
- Trim plane size: Defines the display size of trim planes.
Rendering (affects only generated models)
- Disable GL Mipmaps: Some hardware has problems using mipmaps and texture compression together. If this is the case on your system you can disable GL mipmaps here..
- Disable GL Texture Compression: By default, textures are compressed for rendering. This significantly reduces the memory consumption (typically ratios between 1:6 and 1:4 are achieved, depending on the texture format) and speed up rendering. However, the texture quality is slightly reduced.
- Max texture width/height: Textures which are wider/higher than this value are rescaled to this value in order to save memory.
- Matching profile: Using this popup, you can control render performance versus memory consumption. For most use cases, "Balanced" is a good choice.
- Force OpenGL Double Buffering: On Windows (starting with Vista), double buffering is disabled because the operating system already takes care of smooth rendering. Use this option to force double buffering.
- Timeout for license server connection in milliseconds.
- Set the Procedural runtime log level: If set to a level less than 6, Procedural Runtime logs errors, warnings etc. to a console.