アカウント名:
パスワード:
ゲームでGC気にしないといけない言語って変な気もするけど、そんなシビアなゲームじゃないのかな
GCは止めて使うリソースはほとんど固定しとけばいい。ちゅーかマップとかキャラでメモリサイズをざっくり分けといて、後から適当に小分けにして使いましょう的なことができる(ヒープ機構が自作できる)C/C++がおかしいんですよ、本来は。
>GCは止めて使うリソースはほとんど固定しとけばいい。
それ、バッドノウハウでしかありませんから。ある解説書では、「変数が必要になったら都度確保、変数の使い回しをしないのがC#の考え方」と書いていると思ったら、他の解説書では「頻繁に使うオブジェクトは解放せず使いまわすことで性能が向上する。」と書かれていたり。こういったところにC#の言語としての中途半端さがでてます。
本当に速度の向上をねらうならば、C++みたいにオブジェクトを値型で生成できるようにすれば根本解決なのに、使い回していたら可読性保守性が犠牲になって泥臭いだけ。すなわちバッドノウハウ。
それは単なる変数の使い回しと、使い回しを隠匿してシステム化することを混同している。君はバッドノウハウという単語を知ってるのに、GOFのFlyweightパターンは知らないのか?
Flyweightパターンと変数の使い回しは違いますから。同じ内容のインスタンスを共有するのが「Flyweightパターン」。使い終わったインスタンスを再初期化して別の用途で使うのが「変数の使い回し」。
たとえば、一時変数用の領域を静的に確保しつづけるのが「変数の使い回し」です。普通は、使用済みの一時変数はとっとと開放しますよね?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家
GC (スコア:0)
ゲームでGC気にしないといけない言語って
変な気もするけど、そんなシビアなゲームじゃないのかな
Re: (スコア:0)
GCは止めて使うリソースはほとんど固定しとけばいい。
ちゅーかマップとかキャラでメモリサイズをざっくり分けといて、
後から適当に小分けにして使いましょう的なことができる
(ヒープ機構が自作できる)C/C++がおかしいんですよ、本来は。
Re:GC (スコア:1)
>GCは止めて使うリソースはほとんど固定しとけばいい。
それ、バッドノウハウでしかありませんから。
ある解説書では、「変数が必要になったら都度確保、変数の使い回しをしないのがC#の考え方」と書いていると思ったら、他の解説書では「頻繁に使うオブジェクトは解放せず使いまわすことで性能が向上する。」と書かれていたり。こういったところにC#の言語としての中途半端さがでてます。
本当に速度の向上をねらうならば、C++みたいにオブジェクトを値型で生成できるようにすれば根本解決なのに、使い回していたら可読性保守性が犠牲になって泥臭いだけ。すなわちバッドノウハウ。
Re: (スコア:0)
それは単なる変数の使い回しと、使い回しを隠匿してシステム化することを混同している。
君はバッドノウハウという単語を知ってるのに、GOFのFlyweightパターンは知らないのか?
Re:GC (スコア:1)
Flyweightパターンと変数の使い回しは違いますから。
同じ内容のインスタンスを共有するのが「Flyweightパターン」。
使い終わったインスタンスを再初期化して別の用途で使うのが「変数の使い回し」。
たとえば、一時変数用の領域を静的に確保しつづけるのが「変数の使い回し」です。普通は、使用済みの一時変数はとっとと開放しますよね?