24

ゲーム ルール ロジックは非常に複雑なものを処理する必要があることがわかったので、ゲーム内ロジック スクリプト言語として、ゲーム分野で一般的ではない言語を使用することを検討しています。ゲーム内スクリプトの理由は、より少ないコードで複雑なロジックを表現することです。そのため、非常によく抽象化された言語が必要です。

しかし、よく抽象化された言語のほとんどは GC を使用します。通常、GC は CPU にバースト負荷をかけます。基本的にメモリのクリア操作は後回しにして、一気に行います。ゲームや GUI を含むリアルタイム グラフィックスにとって非常に重要です。

私の知る限り、Haskell の GC は他の GC ベースの言語とは少し異なり、その不変属性が原因です。想像するのは難しいです。これを詳細に説明したドキュメントは見つかりませんでした。

何が違うの?また、長時間実行するプログラムの CPU バーストは無料ですか? (時間の経過とともに負荷が十分に分散され、ティックごとに手動の完全な GC コマンドを呼び出すことができます)

4

3 に答える 3

6

Luke Palmerによって開始されたスレッドをここで確認することをお勧めします:http://www.haskell.org/pipermail/haskell-cafe/2010-February/thread.html#73881

于 2010-12-19T13:50:09.223 に答える
4

Joyride Labs が 2011 年にリリースした商用 Haskell ゲームNikki and the Robotsに興味があるかもしれません。

ここに画像の説明を入力

彼らはガベージコレクターを持っていても問題がないようです。

于 2011-05-12T02:57:36.550 に答える
4

Simon Marlow によるこのブログ投稿に興味があるかもしれませんが、GHC をストップ ザ ワールド コレクションから、ゲームなどのソフト リアルタイム アプリケーションにより適した一時停止時間とより並行したものに移行する方法について説明しています。

私はGHCのレイテンシプロファイルを自分でベンチマークしていませんが、私が理解しているように、これらの0.0007ミリ秒の一時停止時間は小さいように見えるかもしれませんが、そのおもちゃの三目並べプログラムにとっては小さいヒープサイズに比例しているので、実際のヒープと一時停止時間桁違いに大きくなります。

于 2010-12-19T20:08:58.373 に答える