Calculate initial buffer size based on network node count.
88{
89 if (!network) {
90 return 0;
91 }
92
93 size_t node_count = network->get_node_count();
94
95 if (node_count == 0) {
97 "NodeNetwork has zero nodes. Buffer will be created with minimum size.");
98 return 4096;
99 }
100
101
102 size_t vertex_size = sizeof(Nodes::GpuSync::PointVertex);
103 size_t base_size = node_count * vertex_size;
104
105 auto allocated_size = static_cast<size_t>(
106 static_cast<float>(base_size) * over_allocate_factor);
107
108 if (over_allocate_factor > 1.0F) {
110 "Over-allocated network geometry buffer: {} nodes × {} bytes = {} → {} bytes ({}x)",
111 node_count, vertex_size, base_size, allocated_size, over_allocate_factor);
112 }
113
114 return allocated_size;
115}
#define MF_WARN(comp, ctx,...)
#define MF_DEBUG(comp, ctx,...)
@ BufferManagement
Buffer Management (Buffers::BufferManager, creating buffers)
@ Buffers
Buffers, Managers, processors and processing chains.