Joined: May 18, 2021
Post Count: 255
Status:
Offline
Re: Floor have huge size in svg (tens of Mb)
Holy guacamole! It finished after a mere 48 mins. It produced a 6 MB file. I will try the higher levels and see if the time taken increases, and/or if the filesize changes.
Italy
Joined: Nov 17, 2021
Post Count: 465
Status:
Offline
Re: Floor have huge size in svg (tens of Mb)
Ok,ok, 10 minutes were enough, I don't want your CPU burns :) Maybe the PNG encoding algorithm entered an infinite loop (just to be clear, this algorithm is not mine, it is part of the FreeHEP library already included in SH3D, my plugin just switches the default encoder from the one from Sun Microsystem to the one from FreeHEP). I'll try to reproduce the issue to find the bug, in the meanwhile please uninstall the plugin or don't try to export to SVG, I'm not going to refund you if your CPU melts down
Italy
Joined: Nov 17, 2021
Post Count: 465
Status:
Offline
Re: Floor have huge size in svg (tens of Mb)
Oh, you replied while I was writing my last message. So there is no infinite loop, just a poor performance algorithm. If you can share the file that produces the problem it would be easier for me to reproduce the issue and find a workaround.
Joined: May 18, 2021
Post Count: 255
Status:
Offline
Re: Floor have huge size in svg (tens of Mb)
I'm not even convinced the compression is working. I tried with compression set at 0 and 1 so far and they both produced 6,052 KB files and both took approximately 48 min. I'm assuming the command I posted is what you intended. I'm just in the middle of running a level 5 test to see if that produces the same result. Once that completes I'll see if stripping the file back to just the background image still causes the long delay, and post it up for you as a stripped back example.
Italy
Joined: Nov 17, 2021
Post Count: 465
Status:
Offline
Re: Floor have huge size in svg (tens of Mb)
I used:
.\SweetHome3D.exe -Dpng.compression=0
Sorry, I forgot to mention Java properties cannot be set this way when running SH3D from the exe. You have to create a configuration file named "SweetHome3D.l4j.ini" within the same directory where the exe is located (i.e. C:\Program Files\Sweet Home 3D) with the following content:
Joined: May 18, 2021
Post Count: 255
Status:
Offline
Re: Floor have huge size in svg (tens of Mb)
Okay, so I switched to using the ini, so I'm actually getting different behaviour. So a file created at compression=9 was ~1,015 KB, and at compression=1 the same source file created a file of 1,644 KB. Curiously compression=0 failed, truncating the file, and resulting in invalid svg. Even more curious is that all three take around 48 min, even the comp=0 failure.
Joined: May 18, 2021
Post Count: 255
Status:
Offline
Re: Floor have huge size in svg (tens of Mb)
One unpleasant thing I've discovered is if you use a small repeating pattern on a floor, the whole area is saved as a single large image. It does not use patterns and transforms available in the SVG spec. This is probably one of the worst offenders for bloating the svg plan export. Even the hashed fill of the walls is turned into a massive image. So for every wall type used, and every floor texture used you will have an image spanning the extents of their use, which can be 1000's of pixels in both dimensions.