parameters: (self, chainName, numThreads = None, tickClock = None,
                         threadPriority = None, frameBudget = None,
                         frameSync = None, timeslicePriority = None)
docstring: Defines a new task chain.  Each task chain executes tasks
          potentially in parallel with all of the other task chains (if
          numThreads is more than zero).  When a new task is created, it
          may be associated with any of the task chains, by name (or you
          can move a task to another task chain with
          task.setTaskChain()).  You can have any number of task chains,
          but each must have a unique name.
  
          numThreads is the number of threads to allocate for this task
          chain.  If it is 1 or more, then the tasks on this task chain
          will execute in parallel with the tasks on other task chains.
          If it is greater than 1, then the tasks on this task chain may
          execute in parallel with themselves (within tasks of the same
          sort value).
  
          If tickClock is True, then this task chain will be responsible
          for ticking the global clock each frame (and thereby
          incrementing the frame counter).  There should be just one
          task chain responsible for ticking the clock, and usually it
          is the default, unnamed task chain.
  
          threadPriority specifies the priority level to assign to
          threads on this task chain.  It may be one of TPLow, TPNormal,
          TPHigh, or TPUrgent.  This is passed to the underlying
          threading system to control the way the threads are scheduled.
  
          frameBudget is the maximum amount of time (in seconds) to
          allow this task chain to run per frame.  Set it to -1 to mean
          no limit (the default).  It's not directly related to
          threadPriority.
  
          frameSync is true to force the task chain to sync to the
          clock.  When this flag is false, the default, the task chain
          will finish all of its tasks and then immediately start from
          the first task again, regardless of the clock frame.  When it
          is true, the task chain will finish all of its tasks and then
          wait for the clock to tick to the next frame before resuming
          the first task.  This only makes sense for threaded tasks
          chains; non-threaded task chains are automatically
          synchronous.
  
          timeslicePriority is False in the default mode, in which each
          task runs exactly once each frame, round-robin style,
          regardless of the task's priority value; or True to change the
          meaning of priority so that certain tasks are run less often,
          in proportion to their time used and to their priority value.
          See AsyncTaskManager.setTimeslicePriority() for more.
docstring_summary: Defines a new task chain.  Each task chain executes tasks
          potentially in parallel with all of the other task chains (if
          numThreads is more than zero).  When a new task is created, it
          may be associated with any of the task chains, by name (or you
          can move a task to another task chain with
          task.setTaskChain()).  You can have any number of task chains,
          but each must have a unique name.
docstring_tokens: Defines a new task chain . Each task chain executes tasks potentially in parallel with all of the other task chains ( if numThreads is more than zero ) . When a new task is created it may be associated with any of the task chains by name ( or you can move a task to another task chain with task . setTaskChain () ) . You can have any number of task chains but each must have a unique name .
function: def setupTaskChain(self, chainName, numThreads = None, tickClock = None,
                         threadPriority = None, frameBudget = None,
                         frameSync = None, timeslicePriority = None):
          """Defines a new task chain.  Each task chain executes tasks
          potentially in parallel with all of the other task chains (if
          numThreads is more than zero).  When a new task is created, it
          may be associated with any of the task chains, by name (or you
          can move a task to another task chain with
          task.setTaskChain()).  You can have any number of task chains,
          but each must have a unique name.
  
          numThreads is the number of threads to allocate for this task
          chain.  If it is 1 or more, then the tasks on this task chain
          will execute in parallel with the tasks on other task chains.
          If it is greater than 1, then the tasks on this task chain may
          execute in parallel with themselves (within tasks of the same
          sort value).
  
          If tickClock is True, then this task chain will be responsible
          for ticking the global clock each frame (and thereby
          incrementing the frame counter).  There should be just one
          task chain responsible for ticking the clock, and usually it
          is the default, unnamed task chain.
  
          threadPriority specifies the priority level to assign to
          threads on this task chain.  It may be one of TPLow, TPNormal,
          TPHigh, or TPUrgent.  This is passed to the underlying
          threading system to control the way the threads are scheduled.
  
          frameBudget is the maximum amount of time (in seconds) to
          allow this task chain to run per frame.  Set it to -1 to mean
          no limit (the default).  It's not directly related to
          threadPriority.
  
          frameSync is true to force the task chain to sync to the
          clock.  When this flag is false, the default, the task chain
          will finish all of its tasks and then immediately start from
          the first task again, regardless of the clock frame.  When it
          is true, the task chain will finish all of its tasks and then
          wait for the clock to tick to the next frame before resuming
          the first task.  This only makes sense for threaded tasks
          chains; non-threaded task chains are automatically
          synchronous.
  
          timeslicePriority is False in the default mode, in which each
          task runs exactly once each frame, round-robin style,
          regardless of the task's priority value; or True to change the
          meaning of priority so that certain tasks are run less often,
          in proportion to their time used and to their priority value.
          See AsyncTaskManager.setTimeslicePriority() for more.
          """
  
          chain = self.mgr.makeTaskChain(chainName)
          if numThreads is not None:
              chain.setNumThreads(numThreads)
          if tickClock is not None:
              chain.setTickClock(tickClock)
          if threadPriority is not None:
              chain.setThreadPriority(threadPriority)
          if frameBudget is not None:
              chain.setFrameBudget(frameBudget)
          if frameSync is not None:
              chain.setFrameSync(frameSync)
          if timeslicePriority is not None:
              chain.setTimeslicePriority(timeslicePriority)
function_tokens: def setupTaskChain ( self , chainName , numThreads = None , tickClock = None , threadPriority = None , frameBudget = None , frameSync = None , timeslicePriority = None ) : chain = self . mgr . makeTaskChain ( chainName ) if numThreads is not None : chain . setNumThreads ( numThreads ) if tickClock is not None : chain . setTickClock ( tickClock ) if threadPriority is not None : chain . setThreadPriority ( threadPriority ) if frameBudget is not None : chain . setFrameBudget ( frameBudget ) if frameSync is not None : chain . setFrameSync ( frameSync ) if timeslicePriority is not None : chain . setTimeslicePriority ( timeslicePriority )