DelayedReadArchive

Help
2007-08-31
2013-04-25
  • julien Roger

    julien Roger - 2007-08-31

    Hi,

    I'm using the DelayedReadArchive command to reduce memory usage for a big scene :
    4227 objects, for a total of 800 Mo on disk

    I test two renderers :
    - Pixie use more than 1,7 Go of RAM and render it in more than 40 minutes...
    - 3DeLight use a maximum of 78 Mo of RAM and render it in less than 50 secondes,

    This is not a benchmark since the scene parameters are not exactly similar (ShadingRate, etc.),
    and my intension is not to compare the renderers, but simply to use Pixie more efficiently.
    But it seems that the strategy of the delayed archives mechanism between the two renderer is very different...

    I read in an old post that Pixie has multiple memory cashs mecanisms, and that in windows the strategy
    is to keep memory since memory allocation is very time consuming. Is it the problem here ?
    Or probably I did something wrong ?

    Here is some code. in the main rib :
        ...
        WorldBegin
        Procedural "DelayedReadArchive" ["myFile.0001.rib"] [24.88011656 25.45683775 0.7999660373 0.9499659538 -12.74029522 -12.29169827]
        Procedural "DelayedReadArchive" ["myFile.0002.rib"] [25.90815325 26.3567502 0.7999660373 0.9499659538 -13.81851635 -13.24179516]
        ...
        Procedural "DelayedReadArchive" ["myFile.4227.rib"] [43.12586136 43.57445831 0.7999660373 0.9499659538 -13.81851873 -13.24179754]
        WorldEnd
        ...

    And in each myFile.####.rib (generated with LiquidMaya), for example :
        AttributeBegin
        Transform [0.5 0 0.866025 0 0 1 0 0 -0.866025 0 0.5 0 1.11217 0 -1.92634 1]
        PointsGeneralPolygons [1 ] [4 ] [3 2 1 0 ]  "vertex point P" [134.51 9.56251 15.9375 134.51 9.56251 17.0625 134.51 6 17.0625 134.51 6 15.9375 ]  "vertex normal N" [1 0 0 1 0 0 1 0 0 1 0 0 ]  "facevarying float[2] st" [0.966667 0.989011 0.0333333 0.989011 0.0333333 0.010989 0.966667 0.010989 ]
        AttributeEnd

    Thanks in advance,
    julien.

     
    • George Harker

      George Harker - 2007-08-31

      Hi Julien,

      The discrepancy is certainly a little alarming...

      DelayedReadArchive should be the same in both renderers - the archive will be read only when required as determined the bounding box overlapping a bucket which Pixie needs to render next.  There are no longer significant differences between the memory allocation mechanism on Windowns vs other platforms.

      The single thing that's likely to make the most difference is if trace attributes (visibility transmission/trace/specular/diffuse) are enabled.   That will cause the whole scene to be retained.

      ShadingRate can also make a reasonable difference.

      Which version of Pixie are you using, and is it possible to end over a scene for testing (it doesn't have to be on the forum, you can mail direct if you'd prefer).

      Do you have displacements shaders in the mix?

      Thanks

      George

       

Log in to post a comment.