グラフ ビューで視覚化するために、大量の (そして動的に増加する) 量のデータを圧縮するためのいくつかのアプローチを探しています。
タイムスタンプと値のペアで構成されるバイナリ ファイルがあるとします。このファイルはリアルタイムで拡大し、簡単に数ギガバイトを超える可能性があります。
現在、このデータをグラフ/プロットとして表示する複数のビューがあります。ほとんどの場合、x 軸上のピクセルよりもはるかに多くのデータがあるため、このデータを目的の解像度に圧縮する必要があります。各ビューには、画面上のサイズに応じて異なる解像度が必要になる場合があります。また、ズームインおよびズームアウトすると、その解像度がすばやく変化します。
現在のアルゴリズムは、データを同じ長さのセクションに分割し、最小値と最大値を計算します。x 軸の各ピクセルに対して、最小値から最大値までの垂直線を描画します。このようにして、外れ値を見逃さないようにすることができます。(これは要件です)
新しい解像度が必要になるたびに、別のセクションの長さを選択してファイル全体を処理する必要がありますが、これは非常に遅くなります。
解決策は、さまざまな解像度のデータを (一定時間) 呼び出すことができる、ある種のキャッシュ レイヤーを作成することです。残念ながら、外れ値を表示する方法でそのようなキャッシュを実装する方法がわかりません。
この種の問題へのアプローチを示すヒントや文献を知っていますか?
環境は Microsoft .net ですが、これは一般的な考え方に関するものであるため、違いはありません。
前もって感謝します。