人気ブログランキング | 話題のタグを見る
ブログトップ
コンピュータと共にある創造的日常
uneoyaji.exblog.jp

メディアアート・プロジェクトにハマったオヤジの日常生活
by une0exct
DT4 バグフィックスと最大フレームレート設定機能追加
RGB⇔HSB変換も一段落したので、早速 DT4 に組み込んでみた。ぱっと見て、ほとんど変わらない。まっいいか。
ちょっとした拡張だけど、最大フレームレートを環境設定で変更できるようにした。遅いマシンのときに、遅くてもいいから一定速度で動かしたいときには役に立つだろう。
あと、ウィンドウの右下をドラッグするとハングアップするというバグを見つけた。これは、かなり致命的。へたするとマシン自体がハングアップする。というのは、ウィンドウサイズを変更するたびにスクリーンを描画するための作業メモリーを再割り当てする。この大量のメモリー動的割り当てシステムコールが発行されると、もちろん、システムは可能なかぎり仮想記憶を使ってまでもメモリーを割り当てようとし、実際、これはディスクおよびCPU両方に結構な負荷になる。で、応答無しになってしまう。ずーっと待っていれば、そのうち復帰する可能性もあるが、いつになるのかわからないところが恐ろしい。デバッグ中、我慢できず2回も電源ボタン長押しという最終手段を実行してしまった。ディスクファイルにどれくらいのダメージがあったかは分からないが。プロセス当たりの仮想記憶割り当て上限を決めておいてもいいんだけど、アプリによっては平気で1GBとるのもあったりして、むやみには設定できないところがつらい。なんのかんの考えたあげく、ドラッグを無視すべく、しかし、ズームボタンは生かしておきたいので、NSWindow の delegate 用メソッドの windowWillResize と、NSView の viewDidEndLiveResize を使って切り抜けた。ドラッグしかけると、プログラムの実行が中断してしまうのが欠点だが、ハングアップよりは良かろう。
by une0exct | 2008-04-07 22:39
<< MacOS X で使える赤外線... デバッグにハマるのは精神上よくない >>