Bug: Why is Preform processing all the time?

When I load a complex model (like http://www.thingiverse.com/thing:23588), preform seems to be computing stuff (slices?) all the time.

I max-up a bit more than 1 core (on a 2year old laptop) all the time even when I’m not doing anything which is strange.

I can understand a peak load when the user is performing an action, but why a constant load?

A side effect of this is the interface itself is becoming very laggy: and I’m not talking about a change in visualization like a rotation or a zoom, but just to enter a number in any of the text fields is terribly slow and unresponsive.

Any chance this could change in the next releases?

Thanks for your answer,

Cheers

Damien, I have noticed this load on my CPU also.  I loaded the model you are referring to myself and found no lag.  I set the supports running and that sent the CPU use up to a peak of 27% while using about 3.5GB RAM.  When the process finished it settled at around 15% and 2.5GB RAM when nothing was being done.  I then amended  some values and it was perfectly responsive with very little lag to worry about.

My Computer:

Tower PC running Windows 7 Pro

HDD:   Standard Mechanical HDD with default swap files active.

CPU:    Intel I7 3770K CPU running at 3.5GHz

RAM:   8GB

Graphics:   NV GTX650

So my computer very average compared to gamers machines.  However, it could be that the Preform software is in some way rendering “dynamically” and refreshing the image constantly even if nothing is being altered.  If it is then the specification of your computer will be an important issue to consider.  While it may only be 2 years old the specification of the computer would be of interest so we can compare.

It would be interesting to hear what causes the load from Formlabs . . . .

Thanks Nigel for your test,

that confirm the ‘always processing’ state, we can hope it’s something simple like the slices are computed all the time when they shouldn’t.

Otherwise if it’s only to display a shaded with reflections  version of the model, It’s not really necessary so hopefully they will propose a different view (turn off reflection/wireframe…) or optimize the soft to render only when necessary.

As for my machine it’s far from a crappy rig but it’s far from a gamer one… (2.4Ghz I5, 4G ram but integrated video controller)

Hopefully we’ll get some feedback.

Cheers

The first time I installed the software on one of my laptops, Preform was really slow making it unusable. I did not check the specs of this computer but I bought it last year and the stl file I was playing with was light (less than 5Mo). Working with this kind of file, the software should be very responsive and should work with any computer. I hope that Formlabs will fix this issue as well.

Thanks,

Fabien,

would it be possible to share your STL?

As mine is relatively heavy (~500k/triangle), if you can reproduce the behavior with a much smaller file it proves the issue.

Cheers

Sure! Here is the stl:

By the way, I cannot imagine the size of your stl with a 500k/triangle setting! How do you generate it?

Thanks,

I’m not the author of the gyroid ball so I’m not sure how it was generated.

STL comes in 2 flavors, binary and text. The binary are much more compressed. The ball is a binary file (~26MB for 550k triangles), but the yoda bust here http://www.thingiverse.com/thing:10650 is 150MB for 614k triangle… So it’s much more efficient to export your mesh in binary. Look in the options of your soft it should be possible to configure that.

BTW, I’ve tried your turbine file, I couldn’t load it first, but after removing one of the surface with netfabb solved the issue. The load was no where close to the one with the gyroid but continuously there. Must be related to the fact that you have only 18k triangle in it. :slight_smile:

Cheers

Thank you Damien for this feedback! To be honest, my library of stl is so large that I just picked one file that was the size I told you. Sorry for not taking the time to check it on Preform. I have different files going from few Kb to more than a 100 Mb so if you want to run further tests please let me know.

On my side, I need to check the specs of my laptops because Preform works much better with my 4 years old computer than the one which has just few months…

Thanks again.

I’ve opened a bug report #446 as this issue is definitely strange…

Cheers

Not very strange at all, actually.  I do some 3D graphics programming, so out of curiosity I hooked up my favorite OpenGL debugger to PreForm to see what’s going on.  It looks like PreForm just renders the whole scene in a loop as fast as it can (limited by vsync, usually to 60 frames per second), whether you’re doing anything or not.  I suspect that’s where all of this processing time is going- just redrawing the same view over and over.  This is pretty typical for games where something is always moving, but it’s a little silly for programs like this that mostly only have to redraw in response to input.  Not knowing anything about the internals of their code, I’d guess that fixing this isn’t trivial, but not a big deal either.

(Psst, Formlabs developers:  Why you no use VBOs?)

Good day Andrew,

thanks for that details analysis, so my initial guess was right they are just refreshing the same picture again and again.

Not knowing OpenGL I don’t know how easy it is to fix, but I doubt you have no way to render the view (without the GUI/slice) and keep the result as long as nothing changed (beside the GUI). So for refresh you just overlay the different elements…

As for the severity, It actually render the soft non usable in my setup, it’s also creating all sort of side effects when I’m working on an heavy model:

  • I don’t have the progress bar (during supports generation for ex)

  • Checking the slices is slow as hell & necessary for the moment until the soft is fixed

  • any GUI input is difficult

So yes it is a big deal for some of us :slight_smile:

Cheers