Workgroup sizes of 8 along with reducing the amount of work groups improves performance 20x
This commit is contained in:
@@ -329,31 +329,10 @@ impl CanvasState {
|
||||
|
||||
|
||||
*/
|
||||
//TODO should probably use cpu accessible buffer instead of recreating immutes each frame
|
||||
/*
|
||||
CpuAccessibleBuffer::from_iter(
|
||||
|
||||
device.clone(),
|
||||
BufferUsage::vertex_buffer(),
|
||||
self.colored_drawables.iter().cloned(),
|
||||
).unwrap().0;
|
||||
*/
|
||||
|
||||
//if self.colored_vertex_buffer.len() == 0 {
|
||||
|
||||
|
||||
|
||||
self.colored_vertex_buffer.clear();
|
||||
{
|
||||
let g = hprof::enter("Colored Vertex Buffer : From Data");
|
||||
self.colored_vertex_buffer.push(
|
||||
ImmutableBuffer::from_data(self.colored_drawables.clone(),
|
||||
BufferUsage::vertex_buffer(),
|
||||
self.queue.clone()).unwrap().0
|
||||
);
|
||||
}
|
||||
{
|
||||
let g = hprof::enter("Colored Vertex Buffer : From Iter");
|
||||
let g = hprof::enter("Colored Vertex Buffer");
|
||||
self.colored_vertex_buffer.push(
|
||||
ImmutableBuffer::from_iter(
|
||||
self.colored_drawables.iter().cloned(),
|
||||
@@ -363,18 +342,10 @@ impl CanvasState {
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
self.colored_vertex_buffer.clear();
|
||||
//println!("{:?}", self.colored_vertex_buffer.last().unwrap().size());
|
||||
//self.colored_vertex_buffer.pop();
|
||||
// }
|
||||
// println!("{} {}", self.textured_vertex_buffer.len() , self.textured_drawables.len());
|
||||
|
||||
// if self.textured_vertex_buffer.len() != self.textured_drawables.len() {
|
||||
self.textured_vertex_buffer.clear();
|
||||
for (k, v) in self.textured_drawables.drain() {
|
||||
{
|
||||
let g = hprof::enter("Textured Vertex Buffer : From Iter");
|
||||
{
|
||||
let g = hprof::enter("Textured Vertex Buffer");
|
||||
for (k, v) in self.textured_drawables.drain() {
|
||||
self.textured_vertex_buffer.insert(
|
||||
k.clone(),
|
||||
ImmutableBuffer::from_iter(
|
||||
@@ -384,19 +355,7 @@ impl CanvasState {
|
||||
).unwrap().0,
|
||||
);
|
||||
}
|
||||
// {
|
||||
// let g = hprof::enter("Textured Vertex Buffer : From Data");
|
||||
// self.textured_vertex_buffer.insert(
|
||||
// k.clone(),
|
||||
// ImmutableBuffer::from_data(v.first().unwrap().clone(),
|
||||
// BufferUsage::vertex_buffer(),
|
||||
// self.queue.clone()
|
||||
// ).unwrap().0
|
||||
// );
|
||||
// }
|
||||
//self.textured_vertex_buffer.pop();
|
||||
}
|
||||
// }
|
||||
}
|
||||
|
||||
fn get_solid_color_descriptor_set(&self, kernel: Arc<CanvasShader>) -> Box<dyn DescriptorSet + Send + Sync> {
|
||||
|
||||
Reference in New Issue
Block a user