# brief
- 扯了30+ min,其实这东西就2个实质性好处(DC VS IC):buffer update可以并行化,Runtime(non driver)API的执行可以parallelize
- 感觉是DX12的一些东西的雏形?
# bottlenecks
- 主要面向解决cpu bottleneck
- driver比较闲
- bottleneck in game application
- 啥是deferred context
- 这个context不会马上issue commands
- "finished" into a ID3D11CommandList:FinishCommandList
- 之后再在immediate context上执行
- 官方预期的用法是:有很多线程,每个线程拿个DC(Deferred Context),然后每个线程生成command list,最后汇总到一个地方用immediate context执行
# deferred context
- 本质
- 是允许了parallel call into D3D11 API
- 说是其实可以自己实现一套这样的机制。。。只是省了你自己实现的时间
- bad:redundant state overhead(这个没看懂)
- can't do
- DC is fire&forget, can not get data back
- 有个坑:开始用deferred context时immedi
- 扯了30+ min,其实这东西就2个实质性好处(DC VS IC):buffer update可以并行化,Runtime(non driver)API的执行可以parallelize
- 感觉是DX12的一些东西的雏形?
# bottlenecks
- 主要面向解决cpu bottleneck
- driver比较闲
- bottleneck in game application
- 啥是deferred context
- 这个context不会马上issue commands
- "finished" into a ID3D11CommandList:FinishCommandList
- 之后再在immediate context上执行
- 官方预期的用法是:有很多线程,每个线程拿个DC(Deferred Context),然后每个线程生成command list,最后汇总到一个地方用immediate context执行
# deferred context
- 本质
- 是允许了parallel call into D3D11 API
- 说是其实可以自己实现一套这样的机制。。。只是省了你自己实现的时间
- bad:redundant state overhead(这个没看懂)
- can't do
- DC is fire&forget, can not get data back
- 有个坑:开始用deferred context时immedi