したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

おちゃめくらぶ掲示板

1617御茶目菜子:2013/06/13(木) 23:57:54
レスにょ
yuy@さんへ
>ドット単位でやっているというとGPSET命令で描かせているのでしょうか?
>それなら同じ色が続く場合だけGLINE命令で描かせて、後はGPSET命令で描かせ、
>描かない所は次の段へ飛ばせば、ある程度の高速化は図れます。

実はGPSETで行うのはそれが最も高速だからにょ。
一見すると連続する部分をカウントしてそれをGLINEで表示した方が高速に思えるけど実際は
それを行うためには前のピクセルと色が同じかどうかを判定する処理と連続する数を
カウントするためインクリメントを行う処理が必要になるにょ。
その処理はGPSETよりも遅いにょ。
GPSETを使えば判定は不要であるため読み取った色をそのまま表示が可能になるにょ。
確かに同じピクセル数の描画ならばGLINEの方がGPSETよりも速いけどこの判定処理だけで
GPSETよりも時間がかかればGLINEが高速といっても処理時間を逆転するのは不可能にょ。

ちなみに私のポリゴンルーチンに用いている高速三角形描画ルーチンはGLINEを用いており
理論上最も高速になる方法で描画しているにょ。(フラットシェーディングの場合は同じ面は
すべて同じ色で構成されるためGLINEで何ら問題はない)
プチコンではこれ以上の速度を実現するのはほぼ不可能ではないかと思われるにょ。
「ほぼ」と書いたのは配列変数を固定変数で書き直すことで高速化が可能になるためにょ。
この部分を書き直しても数%しか高速化ができないし、リストの長さは倍増するにょ。
プチコンはポケコンと同じく固定環境であるため処理速度の高速化がそのまま得られるにょ。
固定環境でないPC上でのプログラミングならば2倍速にするのと2倍の性能のPCを使うのが
等価であるため(10倍とか)よほどの高速化でないと意味がないけどプチコンならば2倍の
高速化でも十分な恩恵が得られるにょ。
ぜひ、頑張って高速化に挑戦してみて欲しいにょ。




掲示板管理者へ連絡 無料レンタル掲示板