いま日本でもっとも多く手に入るモデル形式、PMD/VMDをサポートしてみました。
まずは何とか動いているというレベルですが、自作のショボい棒人形と違って、とても華やかになりますね。でも時々スカートが荒ぶって、あられもない姿になってしまうので、まだ多くの修正/調整が必要そうです。まぁ、男の子遺伝的にはウェルカムなんですが、見えそうで見えないところに夢があるような気がするので…
PMDは、Lat式ミクVer2.3(Latさん作)
VMDは、スイートマジック(くきょ@せっきょんさん作)
コードは、irrmmdとmeshio (ousttrueさん作)を取り込む形で作成しました。
皆さん、いい仕事してますね。
2011年8月26日金曜日
2011年8月15日月曜日
仮想3D空間を作って遊びたい
2011年8月3日水曜日
Rubyの拡張ライブラリのプロファイルをとる方法メモ
Rubyからロードされて実行される拡張ライブラリの処理をプロファイルする方法です。
(gprofなどの一般的な方法は、拡張ライブラリ内の処理まではプロファイルしてくれません)
現状、プロファイルできることが判明しているのは、oprofileとgoogle-perftoolsです。
どちらもubuntuならaptで簡単にinstallできました。
oprofile
システム全体のプロファイリングを目的としているものなので、まわりで動いているプロセスも全部プロファイルされてしまいます。
また、カーネル側の設定によっては使えないので、クラウド系サービスなどの環境でカーネル設定を変更できない場合は使えません。
$ sudo opcontrol --reset
$ sudo opcontrol --start
$ ruby load-ext.rb
$ sudo opcontrol --shutdown
$ opreport -l
google-perftools
私としては、こちらがお勧めです。
下記の方法で、サンプリングによる関数呼び出しのプロファイル結果が出ます。
$ LD_PRELOAD=/usr/lib/libprofiler.so CPUPROFILE=./profile.out ruby load-ext.rb
$ google-pprof --text /usr/bin/ruby ./profile.out_5941
5941はプロセスIDです。
プロファイル絡みでは、これ以外にヒープのメモリリークチェックやプロファイル結果のグラフ化などができます。
登録:
投稿 (Atom)