PipelineSet icon indicating copy to clipboard operation
PipelineSet copied to clipboard

Adding to a set after calling BuildAllAsync()?

Open nlguillemot opened this issue 8 years ago • 1 comments

Since each IPipelineSet has its own file watcher thread, it might be nice if one could take the set union of two IPipelineSets, so they can share the same thread.

Why would you have more than one IPipelineSet in the first place? Because maybe you load some pipelines when the game starts, then some more when the level is loading, and so on.

It's maybe not so bad that each set has its own thread, since that thread is only necessary if live-reloading is enabled, which likely shouldn't be enabled in builds for customers. In that case you pay the overhead of a few sleeping threads only in your development build. Just don't create a PipelineSet for each PSO, if you have many such PSOs. So maybe this issue is more a TODO about adding a #define flag to turn off the live reloading.

nlguillemot avatar Nov 21 '16 22:11 nlguillemot

Another case where set union might be interesting is if you want to share a root signature between >1 sets, and the root signature comes from a file (as opposed to being user-supplied).

nlguillemot avatar Nov 21 '16 23:11 nlguillemot