SVG Export - Compound Paths Cause Performance Issues & Unexpected Results
Windows 10, Illustrator 25.2.3 | System info attached and repro file attached.
There are 2 artboards and asset exports defined in the file.
They are the same illustration with 1 difference - the "grouped" version has a set of paths grouped together, and the "compound" version has those same paths combined into a compound path.
I ran 3 test exports with my repro file, increasing paths: first 500 paths, then 1000 paths, and finally 1500 paths. Here's the export times:
Test 1 | 0500 paths | Grouped: 10 seconds | Compound: 130 seconds
Test 2 | 1000 paths | Grouped: 14 seconds | Compound: 300 seconds
Test 3 | 1500 paths | Grouped: 15 seconds | Compound: 430 seconds
The CEP HTML Engine is churning the whole time the export is pending, so there might be an issue with how it handles these compound paths.
The performance issue aside - Illustrator does not warn the user this delay is happening. Instead, it says the export is completed. This is a really confusing issue to experience and it can cause serious problems.
Even if you disable 'export in background', this delay happens invisibly in the background.
If the user is overwriting existing files, they really will think the export is complete:
- They seem to have the files they expect in their destination folder.
- Illustrator has reported that the export is complete.
But it isn't. Unless they check the timestamps on the files, they are going to move forward with their old files.
This issue really compounds if there are multiple assets being exported that all trigger this delay, because they trickle in to the export folder as they finish. The only way to know when these files are completed is to record the actual time you start the export, and check every timestamp for the files you're looking at to make sure they've been updated after that point. Yikes.
The final issue, and maybe the craziest to me - if the user closes Illustrator during this delay, Illustrator will actually delete the JSON export file from AITEMP but not finish the export! The export just gets abandoned without the user knowing.
Please for my sanity, resolve this issue. This was a doozy to sort out so I hope this info helps!