トップ 最新

kumaryu日記

2008-12-16 時間やばい

_ [OpenGL] どいつもこいつも

デスクトップマスコットがChrome430GTでやばい遅さだったのでRadeon買ってきた。4670が9500円程。やすいのう。

で速いことは速いんだが、描画がぶっこわれまくり。速いとかそういう問題でないよもう。

原因は法線をshort3つで渡してたこと。しかしそれで法線がおかしいならともかく、なんで頂点が壊れるんだろうか。

strideが26とかなってたのが悪い?せめて4バイトでアライメントとれよとか。

ともかくそれを直したら正しく描画できるようになった。描画読み出してレイヤードウィンドウにぶちこむのも速いし。よかった…のかな?Chromeでは遅いままな気がするけど。

でいろんな人に試してもらったらちゃんと描画できないというか、画面取り込みみたいになったって。

どうも非表示ウィンドウのフロントバッファをglReadPixelsしてたのが悪いらしい。なるほど確かにおかしくなるのもうなずける。

それが直ったら今度はGeForceで背景が透けないだと。なんでだろう。これはもう分からないのでGeForce買ってくるか。

_ デスクトップマスコット作り

設定用のツールを作ったんだがいろいろ不備ありすぎ。

Windowsで文字コードにひっじょうに悩まされる。

Windowsではrubyは普通にマルチバイト版API使うのでファイル名はShiftJIS(っぽい何か)。

MacではUTF-8。wxRubyはUnicodeモードでビルドしてるので、ファイル選択ダイアログなどで選択されるパス名はUTF-8。

面倒だが、内部コードはUTF-8、ファイルシステム関係のやりとりするときはWindowsの場合はcp932に変換する必要がある。

あとついでになるべくシステム標準のディレクトリ使いたいのでwin32/dirを使ったんだが、$KCODEをutf-8にした時だけなぜかutf-16で返してくるらしい。死ね。

しかもパス区切りが\になってるんだがMinGWのランタイムでは\をパス区切りとして認識してくれないのか、ファイルが開けん。

ほんっとうに文字コードとか面倒過ぎるな!Ruby1.9の文字コード対応ほしいなぁと本気で思ったよ。いまはまだ移行できないが。

あとなぜかかなりの頻度で落ちまくる。wxRubyが1.9.7だったので最新のにしてみたら多少良くなった。しかしまだ落ちる。

Marshal.dumpとかそのあたりかなぁ。marshal_dump/marshal_loadが悪いんだろうか。GC関連で変なバグあったしなぁ。1.8でも直ってるかもしれないけど。

_dump/_loadにしたほうが安定するだろうか。試してみるか。

あと描画と機能の追加をやりたいんだけど非常に時間がまずい。しかしもう削るような所もないので、やれるところまでやるしかないんだけどな。