新しい Chrome の実験的なプロファイラーのおかげで、私が開発している Canvas2D アプリについてさらに情報を得ることができます。以下に示すように、グリフ キャッシュ メモリの使用量は膨大です。
なぜそうしているのかという理由の 1 つは、パスに沿って各文字を 1 つずつ描画しているためだと思います(現在、パスに沿ったテキストをサポートしているのは Firefox だけだからです)。したがって、各文字がグリフ キャッシュに追加されるため、メモリの使用量が膨大になり、レンダリング速度が非常に遅くなります。
限られたリソースで作業している Android では特に心配です。テキストをそのようにレンダリングしない限り、アプリは基本的に使用できません。
この記事は、小さなオフスクリーン キャンバスと呼び出しを使用するとパフォーマンスが大幅に向上することを示唆していdrawImage
ますが、それは 2 年前のことです。
では、Chrome のグリフ キャッシュは実際にどのように機能するのでしょうか。に渡された各文字、各単語、各文字列をキャッシュしfillText
ますか? 文字または のタプルのみでキャッシュします(character, size)
か?