Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Tags
more
Archives
Today
Total
관리 메뉴

Visual Studio

[Vulkan] Framebuffer의 재활용에 대하여 본문

Graphics

[Vulkan] Framebuffer의 재활용에 대하여

emacser 2024. 12. 13. 02:23

Framebuffer를 만들때는 Renderpass를 요구하는데, 그렇다면 Framebuffer는 렌더패스에 종속적인가?

서로 다른 렌더패스가 같은 Framebuffer를 사용할 수 없는가? 라는 의문이 들어 검색을 좀 해보았다.

 

일단 Vulkan Specification을 봤을 때, Framebuffer나 PipelineState같이 렌더패스를 사용하여 생성되는 객체들은

Renderpass Compability를 만족하면 공유해서 사용할 수 있다고 한다.

재사용이 가능한 것은 알겠는데, Framebuffer를 여러 렌더 패스가 공유하게 하면 얼마나 성능 향상을 기대할 수 있을까도 궁금해졌다.

 

https://www.reddit.com/r/vulkan/comments/bzee0u/how_important_is_reuse_of_framebuffers_and/

 

From the vulkan community on Reddit

Explore this post and more from the vulkan community

www.reddit.com

질문은 캐싱 시스템을 만드는 대신 특정 프레임에 필요한 디스크립 셋과 프레임 버퍼를 프레임 시작시에 한꺼번에 만드는 방식이 실현 가능한지, 성능적으로 고려해야 할 사항은 뭐가 있는지 물어보는 것이었는데,

답변을 종합해보자면 데스크탑 기준으로 Framebuffer 생성 비용은 매우 싸고, Descriptor Set 생성 비용은 비싸다.

모바일에서는 데스크탑에서보다 Framebuffer 생성 비용이 비싸 미리 필요한 만큼만 프레임버퍼를 생성하는 것이 의미가 있으나 Descrptor Set에 비해 구현 난이도가 높다고 한다.