discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

2015.02.05 less responsive

NH
nop head
Wed, Feb 11, 2015 4:48 PM

I think the pausing might be proportional to the number of dependent files
when auto reload is on.

On 11 February 2015 at 16:45, nop head nop.head@gmail.com wrote:

Turning off automatic reload seems to fix the pausing issue.

On 11 February 2015 at 16:31, nop head nop.head@gmail.com wrote:

Not easily because it has lots of dependencies but the render in short
bursts issue seems to be any part of Mendel90. For example bar-clamps.scad
does it.

On 11 February 2015 at 16:25, Marius Kintel marius@kintel.net wrote:

On Feb 11, 2015, at 09:13 AM, nop head nop.head@gmail.com wrote:

Even a relatively simple design with only four render()ed parts chugs

at about one frame per second whereas it pans and rotates in real time with
the old version.

That doesn't looks like a Mendel90 part. Could you share that design?

-Marius


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

I think the pausing might be proportional to the number of dependent files when auto reload is on. On 11 February 2015 at 16:45, nop head <nop.head@gmail.com> wrote: > Turning off automatic reload seems to fix the pausing issue. > > On 11 February 2015 at 16:31, nop head <nop.head@gmail.com> wrote: > >> Not easily because it has lots of dependencies but the render in short >> bursts issue seems to be any part of Mendel90. For example bar-clamps.scad >> does it. >> >> On 11 February 2015 at 16:25, Marius Kintel <marius@kintel.net> wrote: >> >>> On Feb 11, 2015, at 09:13 AM, nop head <nop.head@gmail.com> wrote: >>> >>> > Even a relatively simple design with only four render()ed parts chugs >>> at about one frame per second whereas it pans and rotates in real time with >>> the old version. >>> > >>> That doesn't looks like a Mendel90 part. Could you share that design? >>> >>> -Marius >>> >>> >>> _______________________________________________ >>> OpenSCAD mailing list >>> Discuss@lists.openscad.org >>> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >>> >> >> >
MK
Marius Kintel
Wed, Feb 11, 2015 4:59 PM

On Feb 11, 2015, at 06:35 AM, nop head nop.head@gmail.com wrote:

It seems to take about 5 seconds to render a frame when you drag with the mouse. 2013.06 takes about 1 second. That still seems poor when most objects have render() statements in them, so should just be a mesh to draw.

That is curious. I get ca. 5 fps on the full Mendel90 design here.
Which hardware are you using?

Also, you’re comparing to 2013.06 (which is ancient). How does 2014.03 relate to all this?
I don’t see a noticeable difference between the versions.

-Marius

On Feb 11, 2015, at 06:35 AM, nop head <nop.head@gmail.com> wrote: > It seems to take about 5 seconds to render a frame when you drag with the mouse. 2013.06 takes about 1 second. That still seems poor when most objects have render() statements in them, so should just be a mesh to draw. > That is curious. I get ca. 5 fps on the full Mendel90 design here. Which hardware are you using? Also, you’re comparing to 2013.06 (which is ancient). How does 2014.03 relate to all this? I don’t see a noticeable difference between the versions. -Marius
MK
Marius Kintel
Wed, Feb 11, 2015 5:13 PM

On Feb 11, 2015, at 11:48 AM, nop head nop.head@gmail.com wrote:

I think the pausing might be proportional to the number of dependent files when auto reload is on.

That would make sense. The auto-reload is checking for any changes and this feature was improved to pick up changes in dependencies too.
The dependency walking apparently takes a bit of time on some systems. We should look into using OS-specific file change notification services as they’re likely a lot faster, at least on systems which offer such services.

Anyway, I’ll have a second look at this in case there’s a bug which causes excessive checking.

Just to clarify: Does turning off Auto-reload resolve all the performance regressions you reported?

-Marius

On Feb 11, 2015, at 11:48 AM, nop head <nop.head@gmail.com> wrote: > I think the pausing might be proportional to the number of dependent files when auto reload is on. > That would make sense. The auto-reload is checking for any changes and this feature was improved to pick up changes in dependencies too. The dependency walking apparently takes a bit of time on some systems. We should look into using OS-specific file change notification services as they’re likely a lot faster, at least on systems which offer such services. Anyway, I’ll have a second look at this in case there’s a bug which causes excessive checking. Just to clarify: Does turning off Auto-reload resolve all the performance regressions you reported? -Marius
NH
nop head
Wed, Feb 11, 2015 5:16 PM

Yes, with auto reload turned off the latest version is actually much more
responsive than the old one with the full model loaded.

Older versions are fine with it turned on. The latest I have is
2014.02.25.  Do you want me to try 2014.03?

I have never updated from 2013.06 because it does everything I need. My
only desire was concat, but that didn't make it until this last one I
believe.

It seems like it is nothing to do with rendering but something to do with
looking for file changes. It doesn't rattle the disk so the file stats must
all be cached so I don't see why it would be slow.

On 11 February 2015 at 16:59, Marius Kintel marius@kintel.net wrote:

On Feb 11, 2015, at 06:35 AM, nop head nop.head@gmail.com wrote:

It seems to take about 5 seconds to render a frame when you drag with

the mouse. 2013.06 takes about 1 second. That still seems poor when most
objects have render() statements in them, so should just be a mesh to draw.

That is curious. I get ca. 5 fps on the full Mendel90 design here.
Which hardware are you using?

Also, you're comparing to 2013.06 (which is ancient). How does 2014.03
relate to all this?
I don't see a noticeable difference between the versions.

-Marius


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

Yes, with auto reload turned off the latest version is actually much more responsive than the old one with the full model loaded. Older versions are fine with it turned on. The latest I have is 2014.02.25. Do you want me to try 2014.03? I have never updated from 2013.06 because it does everything I need. My only desire was concat, but that didn't make it until this last one I believe. It seems like it is nothing to do with rendering but something to do with looking for file changes. It doesn't rattle the disk so the file stats must all be cached so I don't see why it would be slow. On 11 February 2015 at 16:59, Marius Kintel <marius@kintel.net> wrote: > On Feb 11, 2015, at 06:35 AM, nop head <nop.head@gmail.com> wrote: > > > It seems to take about 5 seconds to render a frame when you drag with > the mouse. 2013.06 takes about 1 second. That still seems poor when most > objects have render() statements in them, so should just be a mesh to draw. > > > That is curious. I get ca. 5 fps on the full Mendel90 design here. > Which hardware are you using? > > Also, you're comparing to 2013.06 (which is ancient). How does 2014.03 > relate to all this? > I don't see a noticeable difference between the versions. > > -Marius > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
MK
Marius Kintel
Wed, Feb 11, 2015 5:28 PM

On Feb 11, 2015, at 12:16 PM, nop head nop.head@gmail.com wrote:

I have never updated from 2013.06 because it does everything I need.

We did fix a number of automatic reload issues in 2014.03 - I think you initiated the bug reports which led to those fixes.
This was related to burst-writing of files, as well as correctly picking up dependencies.

I’m pretty sure that the performance issues was introduced in that release.
If you could verify that 2014.03 and 2015.02-RC2 behave in the same way for you, that would indeed be very helpful.

-Marius

On Feb 11, 2015, at 12:16 PM, nop head <nop.head@gmail.com> wrote: > > I have never updated from 2013.06 because it does everything I need. We did fix a number of automatic reload issues in 2014.03 - I think you initiated the bug reports which led to those fixes. This was related to burst-writing of files, as well as correctly picking up dependencies. I’m pretty sure that the performance issues was introduced in that release. If you could verify that 2014.03 and 2015.02-RC2 behave in the same way for you, that would indeed be very helpful. -Marius
MK
Marius Kintel
Wed, Feb 11, 2015 5:32 PM

On Feb 11, 2015, at 12:16 PM, nop head nop.head@gmail.com wrote:

I have never updated from 2013.06 because it does everything I need. My only desire was concat, but that didn't make it until this last one I believe.

PS! In 2015.02 we have some features which may work for you, in addition to concat (and list comprehensions):

o View All in GUI
o Ability to write to camera parameters in the .scad file
o Much faster hull() and minkowski() for common cases
o Much faster 2D pipeline

-Marius

On Feb 11, 2015, at 12:16 PM, nop head <nop.head@gmail.com> wrote: > > I have never updated from 2013.06 because it does everything I need. My only desire was concat, but that didn't make it until this last one I believe. > PS! In 2015.02 we have some features which may work for you, in addition to concat (and list comprehensions): o View All in GUI o Ability to write to camera parameters in the .scad file o Much faster hull() and minkowski() for common cases o Much faster 2D pipeline -Marius
NH
nop head
Wed, Feb 11, 2015 5:36 PM

OK I will try 2014.03.

2013.06 does slow down appreciably when the full model is loaded and auto
reload is on but nowhere near as much as 2015, so I hadn't noticed it.

On 11 February 2015 at 17:28, Marius Kintel marius@kintel.net wrote:

On Feb 11, 2015, at 12:16 PM, nop head nop.head@gmail.com wrote:

I have never updated from 2013.06 because it does everything I need.

We did fix a number of automatic reload issues in 2014.03 - I think you
initiated the bug reports which led to those fixes.
This was related to burst-writing of files, as well as correctly picking
up dependencies.

I'm pretty sure that the performance issues was introduced in that release.
If you could verify that 2014.03 and 2015.02-RC2 behave in the same way
for you, that would indeed be very helpful.

-Marius


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

OK I will try 2014.03. 2013.06 does slow down appreciably when the full model is loaded and auto reload is on but nowhere near as much as 2015, so I hadn't noticed it. On 11 February 2015 at 17:28, Marius Kintel <marius@kintel.net> wrote: > On Feb 11, 2015, at 12:16 PM, nop head <nop.head@gmail.com> wrote: > > > > I have never updated from 2013.06 because it does everything I need. > > We did fix a number of automatic reload issues in 2014.03 - I think you > initiated the bug reports which led to those fixes. > This was related to burst-writing of files, as well as correctly picking > up dependencies. > > I'm pretty sure that the performance issues was introduced in that release. > If you could verify that 2014.03 and 2015.02-RC2 behave in the same way > for you, that would indeed be very helpful. > > -Marius > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
NH
nop head
Wed, Feb 11, 2015 5:47 PM

2015.02 reduces the first render time from 20 minutes 27 to 17 minutes 20
second, which is worth having.

The view all seems to shrink the Mendel90 excessively, perhaps because it
is tall and thin.

I noticed the load directory is no longer relative to the file that is
currently loaded. It seemed to get changed by opening a file in another
instance. This is very confusing for me because I have nearly identical
development and release directory structures so I ended up loading the
wrong version and when it takes 17 minutes that is not good. Also it is
hard to spot as there isn't much difference.

On 11 February 2015 at 17:36, nop head nop.head@gmail.com wrote:

OK I will try 2014.03.

2013.06 does slow down appreciably when the full model is loaded and auto
reload is on but nowhere near as much as 2015, so I hadn't noticed it.

On 11 February 2015 at 17:28, Marius Kintel marius@kintel.net wrote:

On Feb 11, 2015, at 12:16 PM, nop head nop.head@gmail.com wrote:

I have never updated from 2013.06 because it does everything I need.

We did fix a number of automatic reload issues in 2014.03 - I think you
initiated the bug reports which led to those fixes.
This was related to burst-writing of files, as well as correctly picking
up dependencies.

I'm pretty sure that the performance issues was introduced in that
release.
If you could verify that 2014.03 and 2015.02-RC2 behave in the same way
for you, that would indeed be very helpful.

-Marius


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

2015.02 reduces the first render time from 20 minutes 27 to 17 minutes 20 second, which is worth having. The view all seems to shrink the Mendel90 excessively, perhaps because it is tall and thin. I noticed the load directory is no longer relative to the file that is currently loaded. It seemed to get changed by opening a file in another instance. This is very confusing for me because I have nearly identical development and release directory structures so I ended up loading the wrong version and when it takes 17 minutes that is not good. Also it is hard to spot as there isn't much difference. On 11 February 2015 at 17:36, nop head <nop.head@gmail.com> wrote: > OK I will try 2014.03. > > 2013.06 does slow down appreciably when the full model is loaded and auto > reload is on but nowhere near as much as 2015, so I hadn't noticed it. > > > > On 11 February 2015 at 17:28, Marius Kintel <marius@kintel.net> wrote: > >> On Feb 11, 2015, at 12:16 PM, nop head <nop.head@gmail.com> wrote: >> > >> > I have never updated from 2013.06 because it does everything I need. >> >> We did fix a number of automatic reload issues in 2014.03 - I think you >> initiated the bug reports which led to those fixes. >> This was related to burst-writing of files, as well as correctly picking >> up dependencies. >> >> I'm pretty sure that the performance issues was introduced in that >> release. >> If you could verify that 2014.03 and 2015.02-RC2 behave in the same way >> for you, that would indeed be very helpful. >> >> -Marius >> >> >> _______________________________________________ >> OpenSCAD mailing list >> Discuss@lists.openscad.org >> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >> > >
GW
G. Wade Johnson
Wed, Feb 11, 2015 6:45 PM

On Wed, 11 Feb 2015 17:16:13 +0000
nop head nop.head@gmail.com wrote:

Yes, with auto reload turned off the latest version is actually much
more responsive than the old one with the full model loaded.

Older versions are fine with it turned on. The latest I have is
2014.02.25.  Do you want me to try 2014.03?

I have never updated from 2013.06 because it does everything I need.
My only desire was concat, but that didn't make it until this last
one I believe.

It seems like it is nothing to do with rendering but something to do
with looking for file changes. It doesn't rattle the disk so the file
stats must all be cached so I don't see why it would be slow.

Would this be on a Windows system?

I've been bitten in the past by the brain-dead way that MS handles
directory structures. Parent (and grandparent, etc) directories with
large numbers of entries can effect access times for files.

I don't know if they have fixed that recently, but it used to be the
bane of my existence.

G. Wade

On 11 February 2015 at 16:59, Marius Kintel marius@kintel.net wrote:

On Feb 11, 2015, at 06:35 AM, nop head nop.head@gmail.com wrote:

It seems to take about 5 seconds to render a frame when you drag
with

the mouse. 2013.06 takes about 1 second. That still seems poor when
most objects have render() statements in them, so should just be a
mesh to draw.

That is curious. I get ca. 5 fps on the full Mendel90 design here.
Which hardware are you using?

Also, you're comparing to 2013.06 (which is ancient). How does
2014.03 relate to all this?
I don't see a noticeable difference between the versions.

-Marius


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

--
C++ tries to guard against Murphy, not Machiavelli.
-- Damian Conway

On Wed, 11 Feb 2015 17:16:13 +0000 nop head <nop.head@gmail.com> wrote: > Yes, with auto reload turned off the latest version is actually much > more responsive than the old one with the full model loaded. > > Older versions are fine with it turned on. The latest I have is > 2014.02.25. Do you want me to try 2014.03? > > I have never updated from 2013.06 because it does everything I need. > My only desire was concat, but that didn't make it until this last > one I believe. > > It seems like it is nothing to do with rendering but something to do > with looking for file changes. It doesn't rattle the disk so the file > stats must all be cached so I don't see why it would be slow. Would this be on a Windows system? I've been bitten in the past by the brain-dead way that MS handles directory structures. Parent (and grandparent, etc) directories with large numbers of entries can effect access times for files. I don't know if they have fixed that recently, but it used to be the bane of my existence. G. Wade > On 11 February 2015 at 16:59, Marius Kintel <marius@kintel.net> wrote: > > > On Feb 11, 2015, at 06:35 AM, nop head <nop.head@gmail.com> wrote: > > > > > It seems to take about 5 seconds to render a frame when you drag > > > with > > the mouse. 2013.06 takes about 1 second. That still seems poor when > > most objects have render() statements in them, so should just be a > > mesh to draw. > > > > > That is curious. I get ca. 5 fps on the full Mendel90 design here. > > Which hardware are you using? > > > > Also, you're comparing to 2013.06 (which is ancient). How does > > 2014.03 relate to all this? > > I don't see a noticeable difference between the versions. > > > > -Marius > > > > > > _______________________________________________ > > OpenSCAD mailing list > > Discuss@lists.openscad.org > > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > > -- C++ tries to guard against Murphy, not Machiavelli. -- Damian Conway
AC
Alan Cox
Wed, Feb 11, 2015 6:47 PM

On Wed, 11 Feb 2015 12:13:53 -0500
Marius Kintel marius@kintel.net wrote:

On Feb 11, 2015, at 11:48 AM, nop head nop.head@gmail.com wrote:

I think the pausing might be proportional to the number of dependent files when auto reload is on.

That would make sense. The auto-reload is checking for any changes and this feature was improved to pick up changes in dependencies too.
The dependency walking apparently takes a bit of time on some systems. We should look into using OS-specific file change notification services as they’re likely a lot faster, at least on systems which offer such services.

Probably not if you are dealing with tens or hundreds of files only and
those files are currently in use or regularly accessed. All the stat data
will be cached in memory. The one exception would be networked file
stores (where generally notifiers don't work anyway).

If you are opening the files to re-check them then depending upon the OS
and the configuration you may well cause disk writes (updating last
accessed times), which if they spin the disk up can add odd delays.

Alan

On Wed, 11 Feb 2015 12:13:53 -0500 Marius Kintel <marius@kintel.net> wrote: > On Feb 11, 2015, at 11:48 AM, nop head <nop.head@gmail.com> wrote: > > > I think the pausing might be proportional to the number of dependent files when auto reload is on. > > > That would make sense. The auto-reload is checking for any changes and this feature was improved to pick up changes in dependencies too. > The dependency walking apparently takes a bit of time on some systems. We should look into using OS-specific file change notification services as they’re likely a lot faster, at least on systems which offer such services. Probably not if you are dealing with tens or hundreds of files only and those files are currently in use or regularly accessed. All the stat data will be cached in memory. The one exception would be networked file stores (where generally notifiers don't work anyway). If you are opening the files to re-check them then depending upon the OS and the configuration you may well cause disk writes (updating last accessed times), which if they spin the disk up can add odd delays. Alan