Я использую project.exportSVG({asString: true})
с очень большим количеством путей (тысяч). Это занимает очень много времени, и иногда скрипт просто замерзает. Функция project.exportJSON()
с другой стороны очень быстро.svg экспорт в paper.js очень медленно
Я думаю, это может быть из-за того, что exportSVG создает узел DOM, а затем выводит из него строку. Для меня просто нужна строка, что-то вроде Lite-экспорта, которое просто работает со строками, было бы потрясающе. Есть ли способ сделать это?
Я использую SVG-нить сделать Blob и сохранить его с помощью https://github.com/eligrey/FileSaver.js/
var svg = project.exportSVG({asString: true});
var blob = new Blob([svg], {type: "image/svg+xml;charset=utf-8"});
saveAs(blob, 'test.svg');
это тест сценарий я бегу на http://sketch.paperjs.org
for (var i = 0; i < 1000; i++) {
new Path.Circle({
strokeColor: 'red',
radius: 10,
position: [i, i]
});
}
var t_start, t_end;
t_start = new Date().getTime();
project.exportSVG();
t_end = new Date().getTime();
console.log('svg export: ' + (t_end - t_start));
t_start = new Date().getTime();
project.exportJSON();
t_end = new Date().getTime();
console.log('json export: ' + (t_end - t_start));