0

1000 以上のフレームの画像シーケンスで多くのオブジェクトを自動的に追跡するコードを書きました。オブジェクトの境界と中心は、私のアルゴリズムによって xml で出力されます。結果を公開する Web サイトを作成しています。通常の再生、一時停止、早送り、巻き戻し機能を備えたナビゲーション可能なスライドショーを作成したいと考えています。現在、php-javascript 循環フレーム キューをセットアップしています。これは、10 フレームに画像 1 ~ 10 を含め、次にユーザーが画像 2 を見たい場合にビューを変更し、画像 11 をフレーム 1 にロードすることで機能します。この循環キュー スタイルは、通常のスクロールではうまく機能しますが、画像を 100 ミリ秒ごとに変更したいのですが、動かなくなります。こちら側でこれを行うより良い方法はありますか?

私の速度低下の主な原因は、多数のデータ ポイントを含む xml ファイルから GD に画像が動的にプロットされることです。file_get_contents と simpleXMLELement 関数を使用してデータを配列に取得し、imagepolygon を使用して画像にプロットしています。これを行うより良い方法はありますか?

各画像は約 1400 x 900 で、シーケンスのどこまで進んでいるかに応じて、30 ~ 500 個のオブジェクトが含まれています。物理的にプロットされた画像を保存しようとしましたが、ユーザーはオブジェクト 1-10 または 3,7,8-11 を分離できる必要があるため、順列の数が原因でこれは不可能です。

4

1 に答える 1

1

ブレーンストーミングタイプのアイデアをいくつか投げ出します。

  1. オブジェクトの境界を、高さと幅が設定された相対的に配置された div として描画します。このように、可能な組み合わせごとに画像を生成する必要はありません。オブジェクト トラッキングは、ページ上でオンザフライで特定のオブジェクトに対してオンにすることができます。欠点は、遅いクライアントでは 500 div のレンダリングが遅くなる可能性があることです。

  2. オンザフライでレンダリングする必要性を減らすもう 1 つの方法は、各オブジェクトのすべてのトラッキング フレームを透明な背景 (PNG または GIF) 上のポリゴンとして (1 回) レンダリングすることです。フレームを表示するときは、適切なオブジェクト トラッキング フレームをすべて背景レイヤーの上に重ねます。レンダリングの問題はありません。クライアントが 500 枚の画像を読み込む間の読み込みの遅延だけです。

  3. 毎回 XML ファイルを解析する代わりに、インクルード ファイルにすべてのデータ ポイントを含む PHP 配列を作成します。

  4. サーバー用に、より高速なプロセッサと大量の RAM を入手してください。

私が言ったように - ランダムなアイデア。考えさせられるかもしれませんし、考えるのが楽しかっただけかもしれません。幸運を。

于 2010-08-06T17:12:51.950 に答える