スイングデスクトップアプリケーションを作成しています。レイヤードベクターグラフィックスを描画し、インターフェイスはスクロールバーを使用してズームインする機能を備えています。ベクターグラフィックスは約5レイヤーあり、特に1レイヤーの描画には非常にコストがかかります。レイヤーは時々再描画する必要があるかもしれません(単純なアニメーション)。
現在の状況は次のとおりです。
- バッファリングされた画像が作成されます
- すべてのレイヤーが画像に描画されます
- バッファリングされた画像は、スクロールバーを使用できるように同じサイズのパネルを使用して画面に表示されます。
ズームインするとパフォーマンスの問題が発生します。ズームすると、バッファリングされた画像が非常に大きくなる可能性があります。スケールが16xの場合、画像は60000x60でピークに達する可能性があります。オフコースこれは多くの記憶を取ります、そして私はこれを再設計したいと思います。
どこから始めればいいのかわからないのですが、車輪の再発明をしているような気がします。java2dに関する私の知識も非常に限られています。ライブラリを使用してこれを改善したいのですが、必要な機能を備えたものが必要だと思います。頭に浮かぶ図書館はありますか?