![]() Avoid Extensive Use of Deep Collections.Ĭollections brought in by a Look File are defined at the root location that the Look File is assigned to. If the attribute values have to be tested, such as tests for the type of location, these tests are more expensive, as it requires the attributes at that location to be calculated as well.Īnother typical case is using the CEL expression //*, which is a very fast expression to match but usually means that a node runs at far more locations than it needs to. The expense is generally in running operations at nodes rather that evaluating if a location matches a CEL expression, so it's good make sure that nodes only run on the locations really necessary.įor instance: it's most efficient if a CEL statement can be made to only run on the correct locations, based on looking at the path name of the location. Make CEL Statements as Specific as Possible. For instance, the CEL statement //myGeoShape that only matches with locations called myGeoShape is very fast to run as a match when evaluating any location, but takes a very long time to collect because it has to expand the whole scene graph looking for locations with that name. It's inadvisable to run a Find and Select to test the efficiency of a CEL statement that is only going to be used for matching. 'Find and Select' Isn't a Good Test for Efficiency. The worst case is an expression with recursion that potentially needs every scene graph location to be tested. If you need to use more general CEL expressions, such as those that use wild cards, it is best to make sure these only need to run to a limited depth in the scene graph. In general it is most efficient to use a list of explicit paths for the light list. ![]() ![]() How the CEL statements are used to specify the lights (and where those lights are in the scene graph) should be set up carefully to maximize efficiency and avoid having to evaluate too many scene graph locations. LightLink allows you to use a CEL statement to determine which lights to link to, which allows a lot of flexibility in selecting which lights are linked, but involves running a collection operation at runtime. There is only one node that does a collect operation while actually evaluating the Katana recipe: the LightLink node. Guidelines for using CEL Use CEL to Specify Light Lists in the LightLink Node. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |