Decimate and Culling Systems

(3 posts) (3 voices)

Tags:

No tags yet.

  1. c_ridley

    member
    Joined: May '13
    Posts: 31

    Hi Everybody,

    So I am knee-deep in Alligators, with this 3DVIA studio experience I am building around a Leonardo Da Vinci theme. I have a massive amount of detail and content in it and it is all I can do to run it on my computer. My computer is no slouch by the way, it has lots of CPU, memory and a great graphics card.

    Could one of you Guru's maybe explain to me the ABC''s on how the culling systems feature functions in Studio and what it means to "decimate" a project. My project is in dire need of killing off anything running that is not in the field of view.

    Thank you as always! The forum has been a great help to my projects!

    Posted 8 months ago #
  2. flamenco

    3DVIA Studio Guru
    Joined: Sep '09
    Posts: 148

    Best Answer

    hmmm, that's a wide open question on a quite complex topic

    Need more info on your scenario & models to help you efficiently (number of objects ? number of polygons ? number of materials ?, targeted machine hw and output ?, scenario ? targeted rendering quality ? etc..).

    First, when it's slow you need to find out where is the bottleneck. Some common performance bottlenecks are:

    - too many polygons visible at a time (check number of Primitives in Studio profiling tools (² then F7). To make it very synthetic, for a decent desktop station hundreds thousand polygons is fine, millions polygons should be ok but starts to be a bit too much and tens of millions is definitely too much. But this is very dependant on targeted machine. If you have too much polygon, try to decimate before importing to studio or try to use render optimization tools inside Studio (some of them described below)
    - too many objects in your project (check number of Draw in Studio profiling tools (² then F7).
    - Bad product structure (flat hierarchy with hundred thousands objects..)
    - too many materials or too complex materials (write a small script that override all materials of the scene into one, and compare frame rate)
    - too many transparent objects (transparent sorting) (write a small script that override all materials of the scene into one opaque mat, and compare frame rate)
    - too many light sources, careful with shadow casting (disable all light sources and compare frame rate)
    - too many viewport effects (SSAO, etc...) (disable all viewport effects and compare frame rate)

    To quickly start, here are some standard methods you may want to try if the problem is about polygon count:

    - Try to play with "Pixel Cullingn threshold" option in Project Options / Engine / Render Options. If value if > 0, It will automatically hide "small" objects. The bigger the value, the the bigger the "hide size" threshold. Can be very efficient.

    - Hierarchy LOD component (inside Libraries / 3D) allows to define several version of a mesh for a 3D entity (Mesh1: 100 000 M Poly, Mesh2: 10 000 Poly, Mesh3: 1000 poly for instance). Meshes will be automatically switched by render engine depending on distance from camera, or size on screen.

    - By default Studio don't perform any occlusion culling. It only performs frustum culling (don't render objects that are not in the camera viz cone). If you have a big wall in front of you with thousands of objects behind, they will be processed anyway. Occluder component (Libraries / 3D / Occluders) allow to manually define objects that will occlude what is behind them. Too much declared occluders = poor performances probably.

    - SSP (Screen Space Partitionning) is another technique to detect what is really visible from current viewpoint. Associated with data streaming, it allows to dynamically load/unload assets from disk if object is visilbe or not from current viewpoint. See White Paper in chm Studio Pro documentation for more details about that. Just be aware that this one is a "heavy method", to be used only for VERY large data (let's say more than 500 Mb asset binary files) where massive occlusion do occur (plant walkthrough, etc...).

    Well that's a start...hope it helps,
    Cheers,
    A/

    Posted 8 months ago #
  3. flamenco

    3DVIA Studio Guru
    Joined: Sep '09
    Posts: 148

    and of course, start by deactivating all you scripts and components before trying to find the bottleneck :o) Sometime poor performances are as simple as a heavy ray casting script running at each frame ;o) (character animation)

    Posted 8 months ago #

Reply

You must log in to post.