Cacoo開発チームの木村(@cohhei)です。Cacooでは図形の描画にScalable Vector Graphics(以下、SVG)を採用しています。本記事では、CacooのサーバーサイドにおけるSVGの生成手法の刷新と、それによって得られた図のエクスポート機能のパフォーマンス向上についてご説明します。 要約 サーバーサイドでのSVGの生成方法を変更しました。 結果として、SVGエクスポートが約4倍速くなりました。 PDFエクスポートもその恩恵を受けて早くなりました。 図の内容に依存しますが、1シートあたり1.5〜2倍ほど高速化しました。 技術的にはHeadless Chromeからjsdomを使ったSVG生成に切り替えました。 クライアントサイドのTypeScriptのコードをNode.jsで実行させています。 SVG?エクスポート?生成?とは? SVGとはXMLをベースとした2
![Cacooのエクスポート機能が4倍速くなりました!SVGの生成手法の刷新によるパフォーマンスの向上 | Cacooブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/80468574b9128d9eea07e23236c0287941451110/height=288;version=1;width=512/https%3A%2F%2Fcacoo.com%2Fwp-app%2Fuploads%2Fsites%2F2%2F2020%2F04%2FTitle.png)