kumaryu日記
2009-01-07 iMacは…
_ でなかった
基調講演見張ってたのにiMacもMac miniもないなんて…。
_ [monotone] monotone 0.42リリース
昨年末に0.42出てたの見逃してた。いつもの意訳。
2008年12月26日金曜日 22:08:00 UTC
0.42をリリース。
変更点
- 'automate show_conflicts'の出力が変更されました。
ファイル内容の衝突に対するデフォルトの衝突解決とその他の衝突に対する
ユーザーによる衝突解決が追加されました。
'directory_loop_created'は'directory_loop'に変更されました。
- フランス語、ブラジルポルトガル語(Brazilian-Portuguese)、
日本語の翻訳が古くなったので添付されなくなりました。
それらを更新してくれる人がいたらmonotone-devel@nongnu.org
までご連絡ください。
バグ修正
- 'mtn db kill_rev_locally'をリビジョンでの変更が適用された
ワークスペースから実行するとinodeprintを更新しない問題を修正しました。
- 最近発生したパフォーマンスの問題を修正しました。
* 0.40から16進数へのエンコード/デコードを余計にやっていました。
これの修正でだいぶ速くなりました。
* 0.40から'automate stdio'中の各コマンド間で毎回データベースの
再初期化をしていました。
これで結構遅くなっていたので、コマンド間でデータベースを開きっぱなしにするようにしました。
- 0.38で導入されたLuaベースのMonotone拡張がtarballに含まれていなかったのを修正しました。
- _MTN/optionsが空や存在しない'keydir'エントリを持つときにmonotoneが
死んでいたのを修正しました。
また、無効なオプションがあったときにうまく検出できるようになり、
もっとまともなエラーメッセージを出すようにしました。
- 2048以上のコマンドライン引数を指定したときにmonotoneが落ちるのを修正しました。
- マージプログラムにvimを使っているときにenterキーを押すようにプロンプトを
表示するのを止めました。
- ネットワークからのごみを受け取ったときなどのデコードエラー時に、
いろいろと失敗を通知するのでは無く、警告を出すようにしました。
これはorigin-aware sanity checks(訳注:わからなかった)の概念を
導入したことにより実現したものです。
- 'a.{i.{x,y},j}'のようなネストしたワイルドカード指定でmonotoneが落ちるのを
修正しました。
- 'ignore_file'フックの標準実装で.mtn-ignoreファイルの改行が
windowsでもunixでも読み込めるようになりました。
(訳注:CRLFでもLFでもおっけーということ)
新機能
- 新しいコマンド'mtn ls duplicates'が追加されました。
指定したリビジョンやワークスペースで全く同じファイルの一覧を出力してくれます。
- 新しいオプション--no-workspaceで、ワークスペース内でmonotoneを実行しても
そのワークスペースの事を無視させることが出来るようになりました。
- 新しいコマンド群'mtn conflicts *'が追加されました。
これはmergeやpropagateの競合の解決を非同期に行う機能を提供します。
- 新しいコマンド'automate file_merge'は2つのリビジョンから2つのファイルを指定し、
内蔵の行マージプログラムを実行して結果を出力します。
- 新しいコマンド'automate lua'が追加されました。
これはmonotoneのフックのようなlua関数を指定してautomateコマンドとして
呼び出すことが出来るものです。
これは特にユーザー設定(たとえば無視されるファイル、ブランチのキー、
パスワードなどmonotonercファイルで管理されるような物)などを取得するのに
便利です。
- 新しいコマンド'automate read_packets'が追加されました。
これは'mtn read'と同じように公開鍵のようなデータパケットを読み込むことが
出来るものです。
- 'merge'や'propagate'でユーザーがコミットメッセージを指定できるようになりました。
'merge rev rev'や'propagate branch branch'といったメッセージが
ユーザー指定のメッセージの前に付きます。
これを付けないようにするには--no-prefixを指定してください。
内部的な変更
- Botanを1.7.12に更新しました。
まだ日本語訳入ってた気がするのは上書きインストールしたからだろうか。俺が訳してもいいんだが、訳はともかくメール書くのが億劫だわ。
ls unknownとかが速くなったけどそれでもまだWindowsでは遅いような。Windowsで使ってるのはおもに会社で、家で使うよりもはるかに大きい規模のブランチだからなだけかも知れないけど。
ls duplicatesは地味にいい機能かもしれない。本当に地味だが。
mergeにメッセージ付けられるのはいいね。今までマージしたよ!ぐらいしか分からなかったものね。
mtn conflictsはよくわからない。あとでドキュメントみとこう。
_ [OpenGL] オフスクリーンでMSAA
デスクトップマスコットでMSAAかからないんだよねぇ。
Windows版はコンテキストの二段階作成がめんどいのでやってないだけ。コンテキスト作らないとwgl関数取得できないのなんとかならんのかねMS様。いまさらやらんだろうけどさ。
問題はMac版で、PBuffer使っちゃうと、うちのiMac(RadeonX1600)ではMSAAが使えないみたい。SamplebuffersもSamplesも0だ。
じゃあGF9400MなMacBookでは、というと出来た。ように見えたけど出来てない。
というのも、OpenGL Profilerで見た限りではSamplebuffersは1だし、Samplesも4に出来てる。
でも描画結果はどうみてもかわってないなぁ。
うまくいってるようなパラメータ返ってくるのはドライバが微妙なんだろうか。やっぱりPBufferでMSAAは無理?
やっぱりMacでもWindowsと同じように非表示のビューに描けばいいかなと思ってやってみたんだけど、なんかうまくいかん。
手抜きで描画先のビューの下にNSOpenGLViewを非表示でくっつけたのはまずかったか。いくら描画しても全く何も表示されん。
ドキュメントみると、非表示のビューからテクスチャを作る方法があるらしい。いやテクスチャ作る必要は無いんだが。でも出来ればPBufferかFBO使えとも書いてあるね。
うーん、やはりMSAAなFBOに描いちゃうのが一番面倒が少ないかなぁ。それだったら拡張さえあれば確実にできるし。
いやしかし描画コードをいろいろ変えなきゃならんわけで、面倒が少ないとはいえんな。コンテキスト作る所でいろいろ苦労する必要は無いけど、描画周りがかえって面倒だろ。
ん?でもそうでもないか。FBOをとっかえひっかえするわけじゃないから、一回設定したら描画してblitするだけじゃん。
まあいいや。とりあえずもうちょっとMacで非表示ビューへのレンダリングを試してみるか。FBOはそれがやっぱりダメとなってからでもいいわな。