タグ

マルチスレッドに関するedo_m18のブックマーク (2)

  • Unityでマルチスレッドプログラム | Nyahoon Games Pte. Ltd.

    Unity用のプラグイン、Fast Shadow Receiverを開発したときの話。 Unityは基的にシングルスレッドで動くゲームエンジンである。マルチコアプロセッサの場合、スキニングの処理はマルチスレッドで行なわれるのだが、スクリプトで書かれた処理はシングルスレッドが大前提である。 しかし、Unityエンジンが管理していないデータを扱うぶんにはマルチスレッドで処理しても良い。驚いたことにUnityのObjectはnullチェックをすることすらマルチスレッドで出来ないのである。Objectは比較演算子をオーバーライドしていて、nullチェックをするにもUnityエンジンにお伺いを立てているようである。 というわけで、メインスレッドでUnityのObjectから情報を集めておいて、その情報をワーカースレッドに渡してバックグラウンドで処理をすることになる。このときに便利なのがSystem

  • Unityでマルチスレッド(前半)

    http://unitygems.com/threads/ November 2, 2012 はじめに ゲームでマルチスレッドを活用することに興味がある場合、この記事が役立つようにしたい。スレッドは比較的複雑なトピックだがマスターすることでマルチプロセッサのあるハードウェアや、プロセッシングを管理可能な単位に分割するのが大変な場合に大きなメリットが生じるものだ。 スレッドが実際に役立つケースをあげると: A* のようにレベルマップの多くのデータを処理する必要があるアルゴリズム メッシュ変形など大量の点データを扱う処理 サーバへの長時間のアップロード QRコード認識のような画像処理 スレッドとはプログラムの他のスレッドと同時に実行されるプロセスだ。マルチプロセッサ搭載のマシンでは完全に同時実行の場合があるが、そうなるかはスレッドの数がプロセッシングコアの数より多いかによって決まる。 Unit

  • 1