[Delphi]タスクシステムとかTListとかの勉強 その4
- 2005/08/11
- 20:09
話題は一転、タスクシステムに管理される側の話。
ゲーム実行中にメモリを動的に確保して良いか否か。
282 名前:名前は開発中のものです。[sage] 投稿日:2005/07/06(水) 23:33:15 ID:piyt1tSN
向こうのスレで弾をいちいちnewするとかいう話が出てたけど、
真似しないように。
Game Programming Gems 4でも言われてますね。余談ですがTListを使う場合、ゲームスタート前にCapacityを十分大きくしておかないと速度低下の原因になります。初めてシューティング作った時にハマりました。ゲーム中に弾や敵キャラのインスタンスをCreateしても大して問題になったことは無いですがこれは目に見えて遅くなります。
283 名前:名前は開発中のものです。[sage] 投稿日:2005/07/06(水) 23:45:24 ID:3yhwVqUL
>>282
オレやってるんだけどww
実際に、プロファイルとってみたことある?
描画処理と、実行処理(弾の移動とか)とを切り分けるとわかるが、
圧倒的に描画処理が重いんだよね。
今時の環境じゃ、気にならんというのがオレの結論。
284 名前:名前は開発中のものです。[sage] 投稿日:2005/07/06(水) 23:49:41 ID:3yhwVqUL
あと、10年前ならいざしらず、古典的なタスクシステムも、
今時やるのはアホらしいというのが俺の結論だな。
自前でメモリ管理するより、クラスとポリモフィズム、
逐次メモリ確保の方が開発も速くで保守も楽。
第一、Delphiのメモリ周りって小さいオブジェクトの確保に最適化されてるとか、知ってる?
とか、いいながら、>>278がどんな方法でやってるか気になって夜も寝られない。
教えてください。お願いします。
285 名前:名前は開発中のものです。[sage] 投稿日:2005/07/06(水) 23:55:55 ID:C/FxYc5E
おいらもTList継承したクラスでいちいちnewしてますが速度気になりません。
そういう細かい最適化より、どうやってゲームを面白くするかに気を割いたほうがいいと思うので
これ以上速くなってもなあって感じです。
諸兄の言う方法で速度が2倍3倍になるなら是非にもと思うけど。
おいらも>>278は気になるなあ。
ソース全部とは言わないけど、どんな風になってるか簡単な構造だけでも教えてほすい。
メモリの動的確保支持派登場。Delphiって事前にある程度まとめて確保してくれるのでゲームのキャラのパラメータ程度の(要するにトータルで数百キロバイト程度なら)本当に動的に確保するわけじゃないって感じで覚えてるのですが検索したら全然でてこない。昔やったことはしっかりメモしとかないとダメだなぁ。嘘覚えてたらどうしよう(^^;。TListは遅くなるのになぜ他はいいんだろう。それはともかく>>278氏に注目が集まっています。みんな本当は1㍉でも速くなるなら知りたいんですよ。それがゲーム製作技術板クオリティ!!
ゲーム実行中にメモリを動的に確保して良いか否か。
282 名前:名前は開発中のものです。[sage] 投稿日:2005/07/06(水) 23:33:15 ID:piyt1tSN
向こうのスレで弾をいちいちnewするとかいう話が出てたけど、
真似しないように。
Game Programming Gems 4でも言われてますね。余談ですがTListを使う場合、ゲームスタート前にCapacityを十分大きくしておかないと速度低下の原因になります。初めてシューティング作った時にハマりました。ゲーム中に弾や敵キャラのインスタンスをCreateしても大して問題になったことは無いですがこれは目に見えて遅くなります。
283 名前:名前は開発中のものです。[sage] 投稿日:2005/07/06(水) 23:45:24 ID:3yhwVqUL
>>282
オレやってるんだけどww
実際に、プロファイルとってみたことある?
描画処理と、実行処理(弾の移動とか)とを切り分けるとわかるが、
圧倒的に描画処理が重いんだよね。
今時の環境じゃ、気にならんというのがオレの結論。
284 名前:名前は開発中のものです。[sage] 投稿日:2005/07/06(水) 23:49:41 ID:3yhwVqUL
あと、10年前ならいざしらず、古典的なタスクシステムも、
今時やるのはアホらしいというのが俺の結論だな。
自前でメモリ管理するより、クラスとポリモフィズム、
逐次メモリ確保の方が開発も速くで保守も楽。
第一、Delphiのメモリ周りって小さいオブジェクトの確保に最適化されてるとか、知ってる?
とか、いいながら、>>278がどんな方法でやってるか気になって夜も寝られない。
教えてください。お願いします。
285 名前:名前は開発中のものです。[sage] 投稿日:2005/07/06(水) 23:55:55 ID:C/FxYc5E
おいらもTList継承したクラスでいちいちnewしてますが速度気になりません。
そういう細かい最適化より、どうやってゲームを面白くするかに気を割いたほうがいいと思うので
これ以上速くなってもなあって感じです。
諸兄の言う方法で速度が2倍3倍になるなら是非にもと思うけど。
おいらも>>278は気になるなあ。
ソース全部とは言わないけど、どんな風になってるか簡単な構造だけでも教えてほすい。
メモリの動的確保支持派登場。Delphiって事前にある程度まとめて確保してくれるのでゲームのキャラのパラメータ程度の(要するにトータルで数百キロバイト程度なら)本当に動的に確保するわけじゃないって感じで覚えてるのですが検索したら全然でてこない。昔やったことはしっかりメモしとかないとダメだなぁ。嘘覚えてたらどうしよう(^^;。TListは遅くなるのになぜ他はいいんだろう。それはともかく>>278氏に注目が集まっています。みんな本当は1㍉でも速くなるなら知りたいんですよ。それがゲーム製作技術板クオリティ!!
- テーマ:プログラミング
- ジャンル:コンピュータ
- カテゴリ:オレ的学習
- CM:0
- TB:0