ドラスピ大反省会(番外編1)

ドラスティースピアの開発中の問題といえば、開発中(7月末頃)に

ノートPCがひん曲がる大問題が発生しました

わかりやすいようにアルミ定規を挟んでみました。
赤色部分が歪んで出来た空間です。

ノートPC本体内のバッテリ膨張が原因でしょうが、不幸中の幸い今のところ基板等へのダメージはなくシャーシの変形だけで済んでいます。

とはいえこれ以上使い続けて基板へのダメージやバッテリ自体が発火しても困るので現在は使用停止しています(既に修理に出す算段もついています)。せめて昔のノートPCのようにバッテリが取り外せるようになっていれば…

しかしこのノートがメインPCなので使えなくなると色々不便なんですよねぇ

 

iPhone 開発での Sandy Bridge(HD3000)トラブル

MacBookPro13(SnowLeopard) を使って iPhone の開発を行っていたところ、 iOS SDK 4.1 で OpenGL ES Application のテンプレートからプロジェクトを作成して、そのままビルド&実行すると、iOS simulator 上で作成したアプリケーションが起動直後に終了してしまいました。Lion にしても症状変わらず。

 

http://www.iphonedevsdk.com/forum/iphone-sdk-game-development/75003-opengl-calls-causes-simulator-crash-sandy-bridge-mcbook.html

 

なるほど、xxxViewController.m の glDrawArrays() に問題があると。

確かに glDrawArrays() をコメントアウトすると異常終了しなくなります。

 

試しに他の描画関数を使ってみたところ

 

× glDrawArrays()

× glDrawElements()

× glBegin()~glEnd() ← ES では未実装

 

でした。やっぱり。

 

結局、App Store から Xcode4 をダウンロード+インストールしたら iOS SDK が 4.3 になり、正常動作するようになりました。

 

基本 Windows+VisualStudio なので、Mac にはなかなか慣れないです(´・ω・`)

ビルドの高速化

VisualStudio でのビルドの高速化をいくつか。

 

1. コンパイルの並列化

 

コンパイルオプションに /MP8(もしくは /MP4) を付ける。

ベンチマーク的には CPU コア数の2倍を設定すると一番速いかな。

 

2.RAMディスクを使ったビルド

 

(1) RAM ディスクを作る(Dataram RAMDisk 等)

(2) 環境変数 RAMTEMP を設定する( 例)RAMTEMP=r:\temp)

(3) VisualStudio で以下の設定を行う

 

中間フォルダを↓に変更

$(RAMTEMP)\$(SolutionName)\$(ProjectName)\$(Configuration)\

 

デバックコマンドとリンカーの出力ファイルを↓に変更

$(SolutionDir)$(Configuration)\$(TargetName)$(TargetExt)

 

これでビルド作業のほとんどが RAM ディスク行えます。

 

3. ipch フォルダと .sdf ファイルの保存先を RAM ディスクにする

[ツール]→[オプション]の中の[テキストエディター]→[C/C++]→[詳細]

 

常にフォールバック位置を使用 → True

フォールバック位置 → 出力フォルダ(RAM ディスク上のフォルダ)