![]() If your scene contains expression nodes that use the getAttr command the DG graph will be missing explicit dependencies which will result in an incomplete EG. Specifically, when we find EG nodes without dependents, we can initiate additional processing (e.g., rendering) since we are guaranteed that no downstream nodes will require computed results. This further enables pipelining of some operations. ![]() Because the EG encodes node-level dependencies, when evaluating a given EG node, you know that all inputs coming from dependent nodes have already been calculated. With dirty propagation disabled, computing your scene at a given frame involves walking the EG, scheduling, and evaluating EG nodes. Unlike previous versions of Maya that propagated dirty on every frame, Maya now disables dirty propagation once the EG is built, and reuses the existing EG until it becomes invalid. Dirty propagation is the process of walking through the DG, from animation curves to renderable objects, and marking the attributes on DG nodes as needing to be re-evaluated (i.e., dirty). Maya uses the DG’s dirty propagation mechanism to build the EG. For example, you may have loaded a new scene and no EG may have been built yet, or you may have changed your scene, invalidating a prior EG. A valid EG may not exist for various reasons. This dependency is represented by a connection in the EG. Destination node(s) employ data from the Source node(s) in order for the Destination Node(s) to perform evaluation. The EG is a simplified version of the Dependency Graph (DG), consisting of DG nodes and connections. Prior to evaluating your scene, the EM checks if a valid EG graph exists. The EM schedules EG nodes across available compute resources. For now, let’s focus on understanding key Maya evaluation concepts.Īt the heart of Maya’s new evaluation architecture is an Evaluation Manager (EM), responsible for creating a parallel-friendly description of your scene, called the Evaluation Graph (EG). As you can imagine, the amount of parallelism depends on how your scene has been constructed. Similarly, if your scene has a single complex character, it may be possible to evaluate sub-sections of the rig simultaneously. For example, if your scene contains different characters that are not constrained to one another, Maya recognizes this and evaluates each character at the same time. Unlike previous versions of Maya, which were limited to parallelizing individual nodes, Maya now includes a mechanism for scene-level graph analysis and parallelization. Starting from Maya 2016, Maya accelerates existing scenes by taking better advantage of your hardware. If you would like an overview of related topics prior to reading this document, check out Supercharged Animation Performance in Maya 2016. This guide will be of interest to riggers, TDs, and plug-in authors wishing to take advantage of speed enhancements in Maya. It covers key concepts, shares best practices/usage tips, and lists known limitations that we will aim to address in subsequent versions of Maya. This guide describes the Maya features for accelerating playback and manipulation of animated scenes.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |