Skip to content

Commit c42022d

Browse files
Remove memory_allocation_sub_allocation.png (#346)
This image causes confusion by implying that the best approach is always suballocate individual VkBuffers, regardless of context. In practice, placing multiple VkBuffers in a single memory allocation is not a performance death sentence, and the reality of memory allocation is that what is performant highly depends on context.
1 parent 60e3cbe commit c42022d

File tree

4 files changed

+0
-6
lines changed

4 files changed

+0
-6
lines changed
-12 KB
Binary file not shown.

chapters/memory_allocation.adoc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ It is also worth noting that managing memory is not easy and developers might wa
1717

1818
Sub-allocation is considered to be a first-class approach when working in Vulkan. It is also important to realize there is a link:https://docs.vulkan.org/spec/latest/chapters/limits.html#limits-maxMemoryAllocationCount[maxMemoryAllocationCount] which creates a limit to the number of simultaneously active allocations an application can use at once. Memory allocation and deallocation at the OS/driver level is likely to be really slow which is another reason for sub-allocation. A Vulkan app should aim to create large allocations and then manage them itself.
1919

20-
image::{images}memory_allocation_sub_allocation.png[memory_allocation_sub_allocation.png]
21-
2220
== Transfer
2321

2422
The link:https://docs.vulkan.org/spec/latest/chapters/devsandqueues.html#VkPhysicalDeviceType[VkPhysicalDeviceType] advertises two main different types of GPUs, discrete and integrated (also referred to as UMA (unified memory architecture)). It is important for performance to understand the difference between the two.

lang/jp/chapters/memory_allocation.adoc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ Vulkan のメモリ管理に関する2つの Khronos のプレゼンテーショ
1616

1717
サブ割り当ては Vulkan では最も良いアプローチです。また、アプリケーションが同時に使用できるアクティブな割り当て数である link:https://docs.vulkan.org/spec/latest/chapters/limits.html#limits-maxMemoryAllocationCount[maxMemoryAllocationCount] が存在することも重要です。OS やドライバレベルでのメモリ割り当てと解放は非常に遅くなる可能性があり、これがサブ割り当てのもう一つの理由です。Vulkan アプリは大きな割り当てを作成し、それを自分で管理することを目指すべきです。
1818

19-
image::../../../chapters/images/memory_allocation_sub_allocation.png[memory_allocation_sub_allocation.png]
20-
2119
== 転送
2220

2321
link:https://docs.vulkan.org/spec/latest/chapters/devsandqueues.html#VkPhysicalDeviceType[VkPhysicalDeviceType] では、主にディスクリートと統合型(UMA(ユニファイド・メモリ・アーキテクチャ)とも呼ばれる)の2タイプの GPU を示しています。この2つの違いを理解することは、パフォーマンスにとって重要です。

lang/kor/chapters/memory_allocation.adoc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ Vulkan 메모리 관리에 관한 2개의 크로노스 프레젠테이션, link:
1717

1818
서브 할당은 Vulkan에서 작업할 때 가장 좋은 접근 방식입니다. 또한 애플리케이션이 한 번에 사용할 수 있는 동시 활성 할당 수에 제한을 두는 link:https://docs.vulkan.org/spec/latest/chapters/limits.html#limits-maxMemoryAllocationCount[maxMemoryAllocationCount]가 있다는 점도 중요합니다. OS나 드라이버 수준에서의 메모리 할당과 해제는 매우 느릴 수 있으며, 이것이 서브 할당의 또 다른 이유입니다. Vulkan 앱은 큰 할당을 생성한 다음 자체적으로 관리하는 것을 목표로 해야 합니다.
1919

20-
image::../../../chapters/images/memory_allocation_sub_allocation.png[memory_allocation_sub_allocation.png]
21-
2220
== 전송
2321

2422
link:https://docs.vulkan.org/spec/latest/chapters/devsandqueues.html#VkPhysicalDeviceType[VkPhysicalDeviceType]은 외장형과 통합형(UMA(통합 메모리 아키텍처, Unified Memory Architecture)라고도 함)의 두 가지 주요 GPU 유형을 나타냅니다. 이 둘의 차이점을 이해하는 것이 성능에 중요합니다.

0 commit comments

Comments
 (0)