Floor have huge size in svg (tens of Mb)

This topic has been viewed 10701 times and has 21 replies
Thread status: Active
Still a problem with your graphic card? [img]http://www.sweethome3d.com/images/flags/en_small.gif[/img]
User avatar
Gildaniel
Posts: 135
Joined: Fri Aug 11, 2017 10:57 am
Country: Russia

Floor have huge size in svg (tens of Mb)

Post by Gildaniel »

There are floor size problem of .svg files, the bigger room - the bigger file size. Slow download of huge files, using in web.

Is it possible to reduce the size somehow?

Here 4 examples:

1. Only backround room, 4Mb

https://woodmouse.ru/test/size1.svg


2. Only walls, 18Mb

https://woodmouse.ru/test/size2.svg


3. Walls and rooms, 28Mb

https://woodmouse.ru/test/size3.svg

4. Background room, walls and rooms, 49Mb

https://woodmouse.ru/test/size4.svg
User avatar
Daniels118
Posts: 503
Joined: Wed Nov 17, 2021 9:04 pm
Country: Italy

Re: Floor have huge size in svg (tens of Mb)

Post by Daniels118 »

Your problem is here:
Image
I've resampled the embedded image using an svg editor and now the file is just 123 KB:
https://daniels118.altervista.org/temp/size1b.svg

The black fill is actually a high resolution image. Where it comes from?
User avatar
Gildaniel
Posts: 135
Joined: Fri Aug 11, 2017 10:57 am
Country: Russia

Re: Floor have huge size in svg (tens of Mb)

Post by Gildaniel »

> Where it comes from?

Hello! This is just normal sweethome walls drawn and exported to svg.

If they can be resampled, probably it's could be done within the export, not to use other tools?
User avatar
Daniels118
Posts: 503
Joined: Wed Nov 17, 2021 9:04 pm
Country: Italy

Re: Floor have huge size in svg (tens of Mb)

Post by Daniels118 »

What follow is non a solution, just some considerations useful for further analysis.

It seems SH3D encodes the pattern for all the walls in a single PNG image when exporting to the SVG format (the PNG is embedded into the SVG). This means even if you have just 2 small walls, the farther they are, the larger the image will be. Now this shouldn't be a great problem, because PNG supports compression and the blank space between walls is prone to give high compression ratios.

The problem is the PNG image is produced without compression [:D]

In fact, I have achieved small file size even without resampling the PNG, just running an optimizer.

I will take a look to the code responsible for the exporting, but maybe Puybaret already know where and how to fix the issue.
User avatar
Gildaniel
Posts: 135
Joined: Fri Aug 11, 2017 10:57 am
Country: Russia

Re: Floor have huge size in svg (tens of Mb)

Post by Gildaniel »

[quote

I will take a look to the code responsible for the exporting, but maybe Puybaret already know where and how to fix the issue.[/quote]

Oh, thank you!

I didn’t even think that the matter was in the walls, it always seemed to me that the larger the "garden" room, the larger the size of the picture.

Usually I export first floor with garden (to show home positioning), and first floor without garden, and second picture almost two times smaller.

Like here https://woodmouse.ru/3dplan/un/5.html
User avatar
Daniels118
Posts: 503
Joined: Wed Nov 17, 2021 9:04 pm
Country: Italy

Re: Floor have huge size in svg (tens of Mb)

Post by Daniels118 »

Hello Gildaniel, I've built a plugin which solves the problem!
You can download it from the sourceforge page.
User avatar
Gildaniel
Posts: 135
Joined: Fri Aug 11, 2017 10:57 am
Country: Russia

Re: Floor have huge size in svg (tens of Mb)

Post by Gildaniel »

Ooh, Daniel, It works, so good!!!

Now SVG weight is 1,5Mb instead of 49Mb before!
I am so grateful to you!
sjb007
Posts: 300
Joined: Tue May 18, 2021 1:49 pm

Re: Floor have huge size in svg (tens of Mb)

Post by sjb007 »

Not sure why, Daniel, but it seems I'm your nemesis [;)]

I have an architects floorplan as a background image in a big SH3D file I've been working on. It seems that your SVG Tuner really doesn't like that image. It just never finishes exporting after many minutes. It works in a few seconds without the plugin. If I disable the background containing layer, it works OK with your plugin, so it seems specifically linked to that background image. Last symptom is if I cancel a stalled export, then try a second export, nothing happens after selecting the file name. It would suggest something went badly wrong, and the function is no longer callable somehow.

Nothing in the logs from your autologger plugin.

Amazing job of pumping out these plugins by the way.
User avatar
Daniels118
Posts: 503
Joined: Wed Nov 17, 2021 9:04 pm
Country: Italy

Re: Floor have huge size in svg (tens of Mb)

Post by Daniels118 »

Not sure why, Daniel, but it seems I'm your nemesis
AHAHAH [:))]
Please check the cpu usage using the task manager while exporting to svg.
I suspect that compressing that image could be too heavy for the compression algorithm.
I was expecting there might be problems, so I figured out a way to change the default settings without rebuilding the plugin. You could try to decrease the compression level by starting sh3d with a java property named png.compression,it accepts integer values in range 0-9 (the default is 9).
sjb007
Posts: 300
Joined: Tue May 18, 2021 1:49 pm

Re: Floor have huge size in svg (tens of Mb)

Post by sjb007 »

I used:

Code: Select all

.\SweetHome3D.exe -Dpng.compression=0
Which should be no compression as I understand it. Anyway, same issue. The export never completes, the same as without the parameter, and the process cpu usage sticks at betweeen 16 and 20%. (I have a 4C/8T mobile i7.) The svg file is created, but 0 KB still after >10 minutes. I'll leave it running a while, but I think it is borked still.
Post Reply New Topic

Who is online

Users browsing this forum: No registered users and 1 guest