{"title":"Building highly parallel character rigs","authors":"Guido Zimmermann, Kevin Ochs, R. Helms","doi":"10.1145/2614106.2614154","DOIUrl":null,"url":null,"abstract":"DreamWorks Animation introduced a new parallel graph system, LibEE [WATT and HAMPTON 2012] as the engine for our next generation in-house animation tool. It became clear that we needed to make changes in how we set up our character rigs for production. The new graph engine has two types of multithreading: first individual nodes are internally multithreaded, second the graph itself can run nodes and groups of nodes in parallel. The second type in particular turns out to give the greatest performance gains for the evaluation of our characters. It is also the part that is determined by the construction of the rig itself. To take full advantage of this new system we needed to restructure our characters by enabling different parts of the character to evaluate in parallel as much as possible. This talk focuses on how we build our character rigs to improve graph performance, including changes to workflows and strategies required by our transition from serial to parallel graph structures. Because our animation software engine is the first in the industry to have a parallelized graph, many of these changes are novel, and some were unexpected.","PeriodicalId":118349,"journal":{"name":"ACM SIGGRAPH 2014 Talks","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-07-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM SIGGRAPH 2014 Talks","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2614106.2614154","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
DreamWorks Animation introduced a new parallel graph system, LibEE [WATT and HAMPTON 2012] as the engine for our next generation in-house animation tool. It became clear that we needed to make changes in how we set up our character rigs for production. The new graph engine has two types of multithreading: first individual nodes are internally multithreaded, second the graph itself can run nodes and groups of nodes in parallel. The second type in particular turns out to give the greatest performance gains for the evaluation of our characters. It is also the part that is determined by the construction of the rig itself. To take full advantage of this new system we needed to restructure our characters by enabling different parts of the character to evaluate in parallel as much as possible. This talk focuses on how we build our character rigs to improve graph performance, including changes to workflows and strategies required by our transition from serial to parallel graph structures. Because our animation software engine is the first in the industry to have a parallelized graph, many of these changes are novel, and some were unexpected.
梦工厂动画推出了一个新的并行图形系统,LibEE [WATT and HAMPTON 2012]作为我们下一代内部动画工具的引擎。很明显,我们需要改变如何为制作设置我们的角色装备。新的图引擎有两种类型的多线程:第一种是单个节点的内部多线程,第二种是图本身可以并行运行节点和节点组。尤其是第二种类型,在评估我们的角色时,它能给我们带来最大的性能收益。这部分也是由钻机本身的构造决定的。为了充分利用这个新系统,我们需要通过让角色的不同部分尽可能地并行评估来重组角色。这次演讲的重点是我们如何建立我们的角色钻机,以提高图形性能,包括我们从串行到并行图形结构过渡所需的工作流程和策略的变化。因为我们的动画软件引擎是业界第一个拥有并行图的引擎,所以许多变化都是新颖的,有些甚至是意想不到的。