[Delphi]タスクシステムとかTListとかの勉強
- 2005/08/11
- 18:18
最近お勉強がおろそかになってるのでスレ読んで吸収しようって趣旨です。
どこかに書いておけば「間違えてやんのプ」と誰か(未来の自分含む)が修正してくれるのを期待できます。
266 名前:進可 ◆Sinka1my5k [sage] 投稿日:2005/07/05(火) 00:26:18 ID:2h8uUpfJ
やっとTLISTを理解できたぜーフゥァーハハハハ!
弾の管理に楽だね、これ。
今回のはじまりはこの辺
関係ないですがベトナム帰りはキ○ィが多いらしいです……
267 名前:名前は開発中のものです。[sage] 投稿日:2005/07/05(火) 00:42:38 ID:LxvwlDS6
ちょっとまて、今までTLISTを理解していなかったのか orz
ちなみにTLISTは、できるだけ静的に使っても速いとはいえんから、
弾の管理には不向きだよ。
268 名前:名前は開発中のものです。[sage] 投稿日:2005/07/05(火) 01:32:25 ID:fOp4H8Kz
今時のマシンならTList使っても、大丈夫だって
269 名前:名前は開発中のものです。[sage] 投稿日:2005/07/05(火) 01:51:39 ID:LxvwlDS6
TListのデフォルト配列なりItems呼び出すたびに、
function TList.Get(Index: Integer): Pointer;
begin
if (Index < 0) or (Index >= FCount) then
Error(@SListIndexError, Index);
Result := FList^[Index];
end;
が呼び出されるのは、少なくとも俺は気持ち悪いよ。
STGなんかで毎フレーム呼び出すオブジェクトに対しては使いたくない。
まあ、でも人それぞれかな?
毎回if文を通過するのはたしかにキモイですね。しかし今時のマシンなら無視できる程度なのか。いやいや少しでも速いに越したこと無いです。で、どの程度差がでるのかとベンチをとってみました。タスクシステムでよく使われるっぽい双方向リストと比べてみましたが差がでませんでした。あれれー?計り方間違えちゃったかな。
273 名前:名前は開発中のものです。[sage] 投稿日:2005/07/05(火) 08:12:07 ID:uewP0lm+
>>267
>>268
>>269
速度と安全性が反比例するのは一般常識だろ?
ふむふむ、危険なコードは速度が速いと(違
275 名前:進可 ◆Sinka1my5k [sage] 投稿日:2005/07/05(火) 22:42:36 ID:8GumEUAb
>267
確実に理解したかとなるとちょっとあやしいけど、大体の使い方は理解した。
>弾の管理には不向きだよ。
むぅ、となると弾管理に最適なのはどういう方法だろ?シューティングスレで聞いてくる。
とりあえずもっといい方法が見つかるまでは富豪プログラムで行きます。
TListが遅いとなるとDelphiのそこかしこが遅いことになるのでは(ガクガクブルブル
一行はTListに替わるものを探しにシューティングスレへ
【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 2【Delphi】
http://pc8.2ch.net/test/read.cgi/gamedev/1097836469/
シューティングゲーム製作技術総合 7機目
http://pc8.2ch.net/test/read.cgi/gamedev/1110815882/
どこかに書いておけば「間違えてやんのプ」と誰か(未来の自分含む)が修正してくれるのを期待できます。
266 名前:進可 ◆Sinka1my5k [sage] 投稿日:2005/07/05(火) 00:26:18 ID:2h8uUpfJ
やっとTLISTを理解できたぜーフゥァーハハハハ!
弾の管理に楽だね、これ。
今回のはじまりはこの辺
関係ないですがベトナム帰りはキ○ィが多いらしいです……
267 名前:名前は開発中のものです。[sage] 投稿日:2005/07/05(火) 00:42:38 ID:LxvwlDS6
ちょっとまて、今までTLISTを理解していなかったのか orz
ちなみにTLISTは、できるだけ静的に使っても速いとはいえんから、
弾の管理には不向きだよ。
268 名前:名前は開発中のものです。[sage] 投稿日:2005/07/05(火) 01:32:25 ID:fOp4H8Kz
今時のマシンならTList使っても、大丈夫だって
269 名前:名前は開発中のものです。[sage] 投稿日:2005/07/05(火) 01:51:39 ID:LxvwlDS6
TListのデフォルト配列なりItems呼び出すたびに、
function TList.Get(Index: Integer): Pointer;
begin
if (Index < 0) or (Index >= FCount) then
Error(@SListIndexError, Index);
Result := FList^[Index];
end;
が呼び出されるのは、少なくとも俺は気持ち悪いよ。
STGなんかで毎フレーム呼び出すオブジェクトに対しては使いたくない。
まあ、でも人それぞれかな?
毎回if文を通過するのはたしかにキモイですね。しかし今時のマシンなら無視できる程度なのか。いやいや少しでも速いに越したこと無いです。で、どの程度差がでるのかとベンチをとってみました。タスクシステムでよく使われるっぽい双方向リストと比べてみましたが差がでませんでした。あれれー?計り方間違えちゃったかな。
273 名前:名前は開発中のものです。[sage] 投稿日:2005/07/05(火) 08:12:07 ID:uewP0lm+
>>267
>>268
>>269
速度と安全性が反比例するのは一般常識だろ?
ふむふむ、危険なコードは速度が速いと(違
275 名前:進可 ◆Sinka1my5k [sage] 投稿日:2005/07/05(火) 22:42:36 ID:8GumEUAb
>267
確実に理解したかとなるとちょっとあやしいけど、大体の使い方は理解した。
>弾の管理には不向きだよ。
むぅ、となると弾管理に最適なのはどういう方法だろ?シューティングスレで聞いてくる。
とりあえずもっといい方法が見つかるまでは富豪プログラムで行きます。
TListが遅いとなるとDelphiのそこかしこが遅いことになるのでは(ガクガクブルブル
一行はTListに替わるものを探しにシューティングスレへ
【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 2【Delphi】
http://pc8.2ch.net/test/read.cgi/gamedev/1097836469/
シューティングゲーム製作技術総合 7機目
http://pc8.2ch.net/test/read.cgi/gamedev/1110815882/
- テーマ:プログラミング
- ジャンル:コンピュータ
- カテゴリ:オレ的学習
- CM:0
- TB:0