Multi-threaded "Slice All": Parallel processing for separate build plates #1045

Open
opened 2026-04-05 16:43:54 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @JebTheKerbal on 1/17/2026

Is there an existing issue for this feature request?

  • I have searched the existing issues

Yes. I frequently print large-scale multi-part projects (such as full cosplay armor sets) that are organized across many separate build plates within a single project file (.3mf).

Currently, when I select "Slice All", OrcaSlicer processes the plates sequentially (Plate 1 -> Plate 2 -> Plate 3). Even with a high-end multi-core CPU (e.g., Ryzen 9 7950X or Intel i9), the slicer often only utilizes a fraction of the available cores because the parallelism is limited to the scope of a single plate. This results in the CPU running at low utilization while the user waits for a long queue of plates to process one by one.

Which printers will be beneficial to this feature?

All

Describe the solution you'd like

I would like an option to enable concurrent/parallel slicing when the "Slice All" command is triggered.

Logic: The slicer should spawn separate slicing worker threads/processes for different plates simultaneously.

Implementation: If I have 16 cores and 8 plates, the software could theoretically slice all 8 plates at the same time, rather than in a linear queue.

Safety: This could be governed by a Preference setting (e.g., "Max concurrent slicing tasks") to prevent system freezing on systems with limited RAM.

Describe alternatives you've considered

Manual Multitasking: Opening 4 separate instances of OrcaSlicer and manually loading different subsets of parts. This breaks the workflow of having a single "master" .3mf file for the assembly.

Status Quo: Waiting for the sequential process to finish, which is inefficient on modern hardware.

Additional context

This feature targets "embarrassingly parallel" workloads. While parallelizing the geometry calculations of a single model has diminishing returns due to dependencies, slicing distinct plates is a perfect candidate for parallelization because Plate A's G-code generation has zero dependency on Plate B.

Expected Benefit: Drastic reduction in total slicing time for multi-plate projects by utilizing idle CPU cores.

*Originally created by @JebTheKerbal on 1/17/2026* ### Is there an existing issue for this feature request? - [x] I have searched the existing issues ### Is your feature request related to a problem? Yes. I frequently print large-scale multi-part projects (such as full cosplay armor sets) that are organized across many separate build plates within a single project file (.3mf). Currently, when I select "Slice All", OrcaSlicer processes the plates sequentially (Plate 1 -> Plate 2 -> Plate 3). Even with a high-end multi-core CPU (e.g., Ryzen 9 7950X or Intel i9), the slicer often only utilizes a fraction of the available cores because the parallelism is limited to the scope of a single plate. This results in the CPU running at low utilization while the user waits for a long queue of plates to process one by one. ### Which printers will be beneficial to this feature? All ### Describe the solution you'd like I would like an option to enable concurrent/parallel slicing when the "Slice All" command is triggered. Logic: The slicer should spawn separate slicing worker threads/processes for different plates simultaneously. Implementation: If I have 16 cores and 8 plates, the software could theoretically slice all 8 plates at the same time, rather than in a linear queue. Safety: This could be governed by a Preference setting (e.g., "Max concurrent slicing tasks") to prevent system freezing on systems with limited RAM. ### Describe alternatives you've considered Manual Multitasking: Opening 4 separate instances of OrcaSlicer and manually loading different subsets of parts. This breaks the workflow of having a single "master" .3mf file for the assembly. Status Quo: Waiting for the sequential process to finish, which is inefficient on modern hardware. ### Additional context This feature targets "embarrassingly parallel" workloads. While parallelizing the geometry calculations of a single model has diminishing returns due to dependencies, slicing distinct plates is a perfect candidate for parallelization because Plate A's G-code generation has zero dependency on Plate B. Expected Benefit: Drastic reduction in total slicing time for multi-plate projects by utilizing idle CPU cores.
MrUnknownDE added the enhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancement labels 2026-04-05 16:43:58 +02:00
Sign in to join this conversation.
No Label enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/OrcaSlicer#1045