[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: [jfriends] Re: Pick処理について




さいとうです。

# 元記事がまだ届いてないので、なんとも言えないのですが...。

At  3:44 PM 99.7.19 +0900, Kazuya Maebashi wrote:
>前橋です。
>
>Numakuraさん:
>>これはなぜでしょうか? 幾何学的に処理するとは、前橋さんと同じこと
>>を指摘しているのですよね。これだと、かなり遅くならないでしょうか?
>>仮想VRAMは、アルゴリズムが単純というより、速度面からの選択です
>>ので、この方法はちょっとJavaではきびいかなと思って投稿したんですが...
>
>仮想VRAMだと、図形を描画する度に、仮想VRAMにも同様の図形を描
>画しなければなりませんよね。それもJavaで、ちまちまと。
>
>画面への描画は、適当なところでnative methodに落ちて、可能な
>らハードで描画すると思うんですが。
>
>この仮想VRAMは、画面の座標系に合わせて作るのでしょうから、
>Zoomしたら、作り直しになりますし。
>
>トータルの速度で見れば、きっと幾何学的に処理する方法の方が速
>いと思います。

一般的に速度はループの回数で決定します。
ということで、直線描く為にループする回数より、
幾何学的なチェックを行う回数(=例えば、Pickする直線等の個数)
の方が一般的に少ないハズです。

# 1回の幾何学的なチェックにかかる計算時間で
# 何ピクセル描画できるかを調べるのも面白いかもしれません。

あと、普通は、全部の直線(などの幾何学的プリミティブ)に対して、
幾何学的なチェックは*行いません*。

バウンディングボックス等をあらかじめ求めておき、
それを用いてフィルタリングし、チェックする対象を減らす、という
処理を行います(というか、僕ならそうする)。

# まあ、全部チェックしても速度的に問題ないならば、
# そのままだけど :-P

2つ作ってみて、アルゴリズムによる速度の差を
体感するのも面白いとおもいますよ :-)
---
さいとうこうじ