Prusaslicer 2.2.0 slow print times

Been using Prusaslicer 2.2.0 to slice all of my parts. The times seemed OK as I was using a 0.6 nozzle but a low layer height.

Before I printed the Core I did some deeper research and saw here that Ryan was printing the Core in 9 hours with a 0.5 nozzle. When I tried to replicate that with a 0.6 nozzle I expected to get 9 or less. Instead Prusaslicer said the print time would be 14 hours 50 mins.

image

My real target goal was to print the core with thinner layers (0.24) and use Prusaslicer’s ability to print infill every 2nd layer to keep the speed up yet have nice external details. I did this with the other parts and it works well. When I do that with the Core the time increases a little as expected but since my times were already so much more then Ryan’s 9 hours I end up at 17 hours and 59 mins.

image

If I could get down to Ryan’s 9 then I would add back the thinner layers and printing infill every other layer and be at maybe 12 hours.

I’m uploading the Prusaslicer Project files with two sets of Printer Settings. The one with 0.44 layer height I hope should have printed in 9 hours or less. The other is my target goal of 0.24 layer height with infill every other layer. Both use rectilinear fill and a 70%/30%/70% split (though I printed all of my other parts using Gyroid).

I’ve attached the zipped Prusaslicer .3mf file as a zip file. I was going to upload the resulting gcode for each profile but each (even zipped) exceed the 4M upload limit.

If anyone has an idea why the basic 0.44 profile doesn’t print close to @vicious1 's 9 hours I would be extremely grateful for the feedback.

For Review - Core_J_Primo_V1.zip (2.0 MB)

1 Like

Odd, I messed with a bunch of settings and could not get it under 11.5hrs. I do no use prusa slicer on a daily basis though.

I guess the first thing to check is the estimate accurate? Do other parts print close to the estimated time (not what the time says on the LCD the actual print time)?

Yes I believe they print in the time estimated. I will have to print something else as I only have the core left of the MPCNC to check for sure. I have looked at the run time in the LCD and not thought it off but I’ll check.

You have me stumped. I will say I paid for S3D years back because it did save significant time for me, but I believed it was just batch printing, never thought it was much faster with a single part.

I just sliced it using what I think is extremely similar setting I use in S3D and am seeing 16+hrs. Either the estimate is far off or S3D is still extremely efficient with it’s pathing. Years back it let you nest parts extremely close to limit travel and the way it would do each layer was obviously faster to limit travel it would do a full layer (as an example it has three islands on this layer) then instead of starting over when it finishes the island it is on and work backwards. It moves noticeably less than any slicer I had ever used at the time I purchased it.

You can see how the cost of S3D is nothing compared to the time I save running 6-7 printers 24/7. I remember at the time it was nearly twice as fast, then a few months later I went to the 0.5mm nozzle and it was twice as fast again. I used to print the rollers 1 at a time and they took 10 hours I think, Now I print two of the new larger ones in 7 hours.

Are you printing to an Ender 3 by chance?

It looks like Prusaslicer outputs GCODE for the Ender 3’s machine limits because it knows its running Marlin (see Machine Limits under the Printer Settings tab). I did some Googling and the Ender 3 accelerations may be low (at least that is what someone said - trying to find real number).

Here is what Prusaslicer has:

On your Ender 3 (if you have one) what does the firmware report for VMax, Accelerate and Jerk. My Ender 3 reports the following on power up:
VMax-x=500
-y=500
-z=5
-E=25

 VMin = 0
 VTravMin=0

 Accel =4000
 Accel-retract=500
 Accel-travel=4000
 AMax x=500
            y=500
            z=100
            E=1000

 Jerk Vx=20
          Vy=20
          Vz=0.4
          Ve=5

Yet to confirm (but I’m guessing they are overridden by the Prusaslicer GCode, starting at line 19:

M201 X500 Y500 Z500 E10000 ; sets maximum accelerations, mm/sec^2
M203 X500 Y500 Z12 E120 ; sets maximum feedrates, mm/sec
M204 P1500 R1500 T1500 ; sets acceleration (P, T) and retract acceleration (R), mm/sec^2
M205 X10.00 Y10.00 Z0.20 E2.50 ; sets the jerk limits, mm/sec
M205 S0 T0 ; sets the minimum extruding and travel feed rate, mm/sec

OK, I think I found part of the issue and it is subtle. I’m running an Ender 3 Pro on original firmware 1.1.6.2. The current Marlin seems to use Jerk values that are 1/2 of what I have in firmware and that matches the Prusaslicer numbers.

In Marlin 1.1.8 the Ender 3 config was changed in Pull Request 8888 but it appears Marlin may have made the associated code change earlier in 1.1.0 but I would have to dig through the Ender version of the code to see if their 1.1.6.2 included that change. I’m guessing but I don’t think it did as when I init the EEPROM I get Jerk values of 20, 20, 0.4 and 5 (these must be in the firmware).

Bottom line I think Prusaslicer is correct but only for a Ender 3 running modern Marlin.

I’ll need to try changing these or just delete the lines from the GCODE now that I think about it.

No I used my own settings for the mp3dp’s.

1 Like

Does that slicer pass along the accelerations or just use them for estimated time?

Most slicers do not pass anything but axis speeds along.

The GCODE has the M201, M203, M204 and M205 lines. Modern Marlin will use these values (I haven’t confirmed this in the Ender 3’s 1.1.6.2 code base yet).

I just did review the Ender 3’s 1.1.6.2 code base Configuration.h vs Marlin 2.0.x’s.

New Marlin has a #define CLASSIC_JERK that is NOT defined. Instead Marlin 2.0.x uses Junction Deviation Factor a much more complex and better piece of code to determine how to handle corners - the config says EJERK may still be used but the other JERKs are not defined in Marlin 2.0.x.

Creality’s Ender 3 (1.1.6.2 for the Pro) code bases does define all of the JERKs. Their values match the Prusaslicer values but they are 1/2 of what I see from the LCD on the Ender 3 Pro after it is powered on.

Bottom line (I think):

  1. if you have an Ender 3 with modern firmware then it will ignore the Jerk settings from Prusaslicer as it uses Junction Deviation Factor,
  2. if you have an Ender 3 (Pro) with 1.1.6.2 Creality firmware then it will use the Prusaslicer Jerk numbers,
  3. the Prusaslicer Jerk numbers will 1/2 the values seen in the Ender 3 Pro’s LCD (my best guess is that these appear two places in the Creality Ender 3 Pro code or their firmware installed doesn’t match the firmware source in Github).

I’ll need to do some tests and see if these changes to Prusaslicer setting make any real work difference with 1.1.6.2 firmware. I think it is time to upgrade to Marlin 2.0.x on my Ender 3 Pro - maybe a 32bit board though.

I found out with my new printer that prusa slicer sets accelerations and feedrates in the gcode. The only way to get it to stop is to set the machine type to repetier. Pretty goofy if you ask me.

Yikes, all sorts of settings to be careful of.

I mean it is a cool OPTION, like if you know you need to change things for a single print, or run some tests but it would be cool if it was an easier option.

Yeah. I don’t think it is a bad choice, but it needs to be way more obvious. I know a lot of gcode, but I printed quite a lot without knowing that was doing that (and I kept saving it with M500 after good prints).

Prusaslicer is great for me because it takes a lot of work off your shoulders. As someone who does not have any clue at all, I was glad it did. Even the different Filaments have different settings. For instance it prints Prusament with 215°C, DasFilament with just 210°C after the first layers (which didn’t work for white, that needed 220°C. Took me an hour to figure that out). Prusa wants to give users an out of the box experience, which, under normal circumstances, works pretty well I’d say.
I haven’t found the option yet to print 70/30/70 for instance, which sucks, but it must be there somewhere. As I said: Beginner friendly, if you want more, you really have to dive into it.

Thanks @jeffeb3 I set Prusaslicer to

as you suggested and it stopped overriding the Ender 3 Pro’s firmware settings. Time will now tell how long the print takes, but the first few layers look good.

I just saw this yesterday in Don’s file.
height
Right click, height modifier.

1 Like

Works well.

Add a height range modifier of 26mm to 116mm with the same layer height as the rest of the model. Then to that add an infill modified of 30%. Make sure the infill for the whole model is 70%.

I’m printing the core now and it transitioned to 30% as expected.

2 Likes

Completed printing the core using Repetier, not Marlin, in Prusaslicer Printer Settings on an Ender 3 Pro. Didn’t run any faster but I do believe it ran cleaner.

0.6 noozle, 0.24 layer height, 3 perimeters, 6 top & bottoms, 70%/30%/70% infill every 2nd layer

Took 18 hours and 15 mins.

2 Likes

That’s good. Honestly for me, there is very little difference between 9 hours and 18 hours, as long as I start it early enough in the day. Having it run overnight is NBD, and once I’m done printing the parts for a project, these printers just sit here idly waiting for me to come up with the next job.

It was still worth the effort. I now understand why I was seeing some cosmetic artifacts in some prints. With the firmware settings overridden attempting to tune speeds was futile. Since the core printed very cleanly, I can now build from here with a better understanding of Prusaslicer.

1 Like