Home Game Development Frame graph in Vulkan: from idea to implementation

Frame graph in Vulkan: from idea to implementation

0
Frame graph in Vulkan: from idea to implementation

[ad_1]

I’ve watched the superb speak from Yuriy[1] and browse a weblog publish[2] a number of instances already, however I nonetheless can’t discover the solutions to the questions I’ve.

I actually like the concept of defining a graph of “digital sources”, it provides lots of flexibility, maintanability, and ease of use (take into consideration synchronization) in the long run. First, I assumed that the simpler option to resolve my downside (described beneath) is to implement this technique in order that the graph constructing and the transformation to the precise graphics API would not be achieved each body, solely when the circumstances (eg. graphics settings) change.

However, extending the “solely when the circumstances change” assertion to incorporate sport logic-related selections, we get to some extent the place the body graph should be rebuilt nearly each body. This can also be what Yuriy advised in his speak and I agree with it.

The principal downside

In Vulkan the entire pipeline (with the corresponding render go) should be pre-built. So the rebuilding of the entire graph each body is usually a bottleneck as I can think about. The pipeline cache may pace up issues (in idea) however avoiding sudden frame-rate drops is high precedence. However, if a pipeline (particularly the shaders) haven’t but been constructed, it may trigger a hitch up. And pre-warming the cache(s) with each doable permutations defeat the aim of the entire system.

The query

So I’m questioning if there’s a option to preserve the perfect from each worlds, rebuilding the entire graph each body whereas avoiding sudden body drops from pipeline creation.

If there isn’t a such resolution, what can be the closest factor to this sort of dynamic entire body predefinition? Should I fall again to the not often rebuild graph, and use one other technique to skip (sub)passes?

References

[1] FrameGraph: Extensible Rendering Architecture in Frostbite (GDC Vault)

[2] Render graphs and Vulkan — a deep dive (hyperlink)

[ad_2]

LEAVE A REPLY

Please enter your comment!
Please enter your name here