discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Automatic Reload and Preview too slow

NH
nop head
Sat, Nov 26, 2016 2:10 PM

As I have mentioned before OpenSCAD becomes unresponsive when Automatic
Reload is enabled and I have a project with lots of files. I think this is
because it checks used files recursively, so if every file in an
application uses a library with lots of files in it they get checked many
times. If that is true then a simple fix is to keep track of the files
already checked. I.e. recognise the dependencies are a DAG rather than a
tree.

Why not disable the checking if OpenSCAD has had focus for a short time? If
you are using an external editor then it only changes files when it has
focus, or in my case just as it looses focus. I then wait for OpenSCAD to
update and then try to pan around with the mouse. This is painful because
it is continually looking for file changes but while it has focus they are
never going to change.

As I have mentioned before OpenSCAD becomes unresponsive when Automatic Reload is enabled and I have a project with lots of files. I think this is because it checks used files recursively, so if every file in an application uses a library with lots of files in it they get checked many times. If that is true then a simple fix is to keep track of the files already checked. I.e. recognise the dependencies are a DAG rather than a tree. Why not disable the checking if OpenSCAD has had focus for a short time? If you are using an external editor then it only changes files when it has focus, or in my case just as it looses focus. I then wait for OpenSCAD to update and then try to pan around with the mouse. This is painful because it is continually looking for file changes but while it has focus they are never going to change.
MK
Marius Kintel
Sat, Nov 26, 2016 5:25 PM

On Nov 26, 2016, at 09:10, nop head nop.head@gmail.com wrote:

As I have mentioned before OpenSCAD becomes unresponsive when Automatic Reload is enabled and I have a project with lots of files.

This is an open issue scheduled for the next milestone:
https://github.com/openscad/openscad/issues/1237

We’ll eventually get to it, help would be appreciated.

I would think that using the efficient file system watching mechanisms that comes with each OS would be vastly more efficient. I’ve also updated the issue to mention DAG traversal to more efficiently collect dependencies.

In terms of application focus: This sounds a bit like a can of worms in terms of dealing with all kinds of OS’es and workflows.
..but if the above takes too long to fix it might make sense to provide a stop gap measure to optionally turn off automatic reload for the OpenSCAD windows that has focus.

-Marius

> On Nov 26, 2016, at 09:10, nop head <nop.head@gmail.com> wrote: > > As I have mentioned before OpenSCAD becomes unresponsive when Automatic Reload is enabled and I have a project with lots of files. This is an open issue scheduled for the next milestone: https://github.com/openscad/openscad/issues/1237 We’ll eventually get to it, help would be appreciated. I would think that using the efficient file system watching mechanisms that comes with each OS would be vastly more efficient. I’ve also updated the issue to mention DAG traversal to more efficiently collect dependencies. In terms of application focus: This sounds a bit like a can of worms in terms of dealing with all kinds of OS’es and workflows. ..but if the above takes too long to fix it might make sense to provide a stop gap measure to optionally turn off automatic reload for the OpenSCAD windows that has focus. -Marius
T
Troberg
Fri, Dec 2, 2016 9:23 AM

In terms of application focus: This sounds a bit like a can of worms in

terms of dealing with all kinds of OS’es and workflows.

..but if the above takes too long to fix it might make sense to provide a
stop gap measure to optionally turn off automatic reload for the OpenSCAD
windows that has focus.

That would mess with my workflow. I have a program which (among other
things) generates some scad files, and it can take a while to run. So, I
often start it, then switch to OpenSCAD, waiting for the changes to pop up.

--
View this message in context: http://forum.openscad.org/Automatic-Reload-and-Preview-too-slow-tp19369p19423.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

> In terms of application focus: This sounds a bit like a can of worms in terms of dealing with all kinds of OS’es and workflows. > ..but if the above takes too long to fix it might make sense to provide a > stop gap measure to optionally turn off automatic reload for the OpenSCAD > windows that has focus. That would mess with my workflow. I have a program which (among other things) generates some scad files, and it can take a while to run. So, I often start it, then switch to OpenSCAD, waiting for the changes to pop up. -- View this message in context: http://forum.openscad.org/Automatic-Reload-and-Preview-too-slow-tp19369p19423.html Sent from the OpenSCAD mailing list archive at Nabble.com.
MK
Marius Kintel
Fri, Dec 2, 2016 2:03 PM

On Dec 2, 2016, at 04:23, Troberg troberg.anders@gmail.com wrote:

[…] optionally turn off automatic reload for the OpenSCAD
windows that has focus.

That would mess with my workflow. I have a program which (among other
things) generates some scad files, and it can take a while to run. So, I
often start it, then switch to OpenSCAD, waiting for the changes to pop up.

I expect there to be lots of interesting workflows.
optionally is the keyword from my stop-gap suggestion - I think it would have to be a checkbox in Preferences.

-Marius

> On Dec 2, 2016, at 04:23, Troberg <troberg.anders@gmail.com> wrote: > >> […] optionally turn off automatic reload for the OpenSCAD >> windows that has focus. > > That would mess with my workflow. I have a program which (among other > things) generates some scad files, and it can take a while to run. So, I > often start it, then switch to OpenSCAD, waiting for the changes to pop up. > I expect there to be lots of interesting workflows. _optionally_ is the keyword from my stop-gap suggestion - I think it would have to be a checkbox in Preferences. -Marius