3 CamX中每个Node的ExecuteProcessRequest什么时候被执行

在CamX或CHI中的Node,ExecuteProcessRequest什么时候被执行

请先 登录 后评论

1 个回答

凡乐

在DRQ的异步线程中调用ready nodes的ExecuteProcessRequest的。

当dependency满足或者CamX Pipeline的ProcessRequest被执行时,都会去检查和dispatch ready nodes并执行,以pipelineProcessRequest为例说明

Pipeline::ProcessRequest
1---->遍历每个Node(m_orderedNodeCount),调用 result = m_pDeferredRequestQueue->AddDeferredNode
2---->m_pDeferredRequestQueue->DispatchReadyNodes();
|-------->DeferredRequestQueue::DispatchReadyNodes
|------------>遍历m_readyNodes.NumNodes,每个Node post一个job : m_pThreadManager->PostJob(m_hDeferredWorker
|---------------->DeferredRequestQueue::DeferredWorkerWrapper
|-------------------->DeferredRequestQueue::DeferredWorkerCore
|------------------------>Node::ProcessRequest
|---------------------------->result = ExecuteProcessRequest(&executeProcessData); //具体Node的ExecuteProcessRequest被执行


请先 登录 后评论