FC2ブログ
戯言徒然日記開発日記東方DTMC/C++DoJaLuaCG備忘録
気が向いたら創作活動とかしてる人のチラシの裏。
--.--.-- --
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2008.01.29 Tue
 耳コピに行き詰まった・・・。こんなときはアプリをやっとこう。

 前からArrayListの議論してたので、新型のArrayListを実装してみた。これでちょっとは速くなるはずだったのだが、LinkedList使ってたときとほぼ変わらず。安定性はありそうなものの全くと言っていいほど改善されていない。なぜだろう?

 LinkedListがArrayListに劣る点というと順アクセスと任意アクセスが遅い点にある。しかしながら、今までアプリで使ってたLinkedListはiteratorパターンに似たものを使って順アクセスを高速に処理してました。そして現在のところ任意アクセスしているところはないんです。

Σ(゚Д゚; と、言うことは、つまり、

 任意アクセスがないならArrayListにする意味ない??ArrayListはArrayListで任意削除が苦手なところを考えると結局変わらず??

 実装前でバックアップとってあるものの、現状維持ならばArrayListをこのまま使っておくことにします☆

 ・・・というのも、今ついてるホーミングショットって違和感ないですか?(笑)これは時系列的に一番早く生成されたものを追うようにしているからです(^^;)全敵には自機との距離を計算させているので一番近い敵に向かうようにはすぐできるのですが、任意アクセスが嫌でしてませんでした。これで解決しますね。

 ホーミングショットは敵との判定がいい加減なのか明らかに当たっているはずなのにすり抜けてしまうことが結構見受けられます。この辺りも見直さなくてはいけませんね;
つん
ArrayListで時系列を残すのはちょっとつらいですよね;;
時系列を保持してると弾の重なりも綺麗になるので、これはなんとか残したいところです。
ArryListをSK法とやらに変更し、各要素に別途LinkedListのような時系列的に次と後ろにあるべきものの参照を持たせておくと言うのもありかも?wこれなら必要なときのみ時系列アクセスが一応可能です;(時系列アクセス時のみLinkedList並の速度になりますが;意味ないですね;)
ともあれ任意アクセスは結構つかえるのでやはり、弾幕シューティングではArrayList>LinkedListですね~;限度が決まってない場合はLinkedListじゃないと大変ですが、やはりこの基本的なアクセス速度は魅力です。
2008.01.29 Tue 07:20 URL [ 編集 ]
niffy
>>つんさん
例に高速なArrayListにLinkedList的なものを取り入れてというのはやろうとしてました。が、複雑でよくわからなくなったのでやめました。おそらく結果的により遅くなる、もしくは実現不可能です(笑)
なにげに弾幕STGはLinkedListでもいけますよ☆任意アクセスと言っても何かしらの判定をした後のアクセスになるので、その”何かしら”をイテレータによる順アクセス時に行っておけば任意(特定要素)へのアクセスも一瞬でできます。ということで実はArrayListの採用はまだ少し迷っています;LinkedListの方が個人的にソースコードが読みやすいところもあるもので・・・。
イテレータについては新しく作ったArrayListと一緒にLinkedListも公開してみようかなぁと思っているのでその時にでも☆Googleで聞いた方がわかりやすいものが出てきますけどね(^^;)
2008.01.29 Tue 23:44 URL [ 編集 ]
管理者にだけ表示を許可する

TrackBackURL
→ http://niffy67.blog110.fc2.com/tb.php/61-f3e942a5
Template by まるぼろらいと
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。