mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-16 19:35:57 +08:00
Parallelized PrintObject::_slice(), make_slices() code.
This commit is contained in:
parent
1e6cf0cd98
commit
73439b7acb
@ -1133,7 +1133,10 @@ void PrintObject::_slice()
|
|||||||
end:
|
end:
|
||||||
;
|
;
|
||||||
|
|
||||||
for (size_t layer_id = 0; layer_id < layers.size(); ++ layer_id) {
|
tbb::parallel_for(
|
||||||
|
tbb::blocked_range<size_t>(0, this->layers.size()),
|
||||||
|
[this](const tbb::blocked_range<size_t>& range) {
|
||||||
|
for (size_t layer_id = range.begin(); layer_id < range.end(); ++ layer_id) {
|
||||||
Layer *layer = this->layers[layer_id];
|
Layer *layer = this->layers[layer_id];
|
||||||
// Apply size compensation and perform clipping of multi-part objects.
|
// Apply size compensation and perform clipping of multi-part objects.
|
||||||
float delta = float(scale_(this->config.xy_size_compensation.value));
|
float delta = float(scale_(this->config.xy_size_compensation.value));
|
||||||
@ -1166,6 +1169,7 @@ end:
|
|||||||
// Merge all regions' slices to get islands, chain them by a shortest path.
|
// Merge all regions' slices to get islands, chain them by a shortest path.
|
||||||
layer->make_slices();
|
layer->make_slices();
|
||||||
}
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<ExPolygons> PrintObject::_slice_region(size_t region_id, const std::vector<float> &z, bool modifier)
|
std::vector<ExPolygons> PrintObject::_slice_region(size_t region_id, const std::vector<float> &z, bool modifier)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user