W.Deeの2008年10月の日記

kikyou.info»日記

誠に勝手ながら、kikyou.infoは2017年12月いっぱいをもって閉鎖します。ながらくありがとうございました。

最新月 : 2008年10月
2003年 [             3    4    5    6    7    8    9   10   11   12  ] 月
2004年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2005年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2006年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2007年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2008年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2009年 [   1    2    3    4    5    6    7    8    9   10   11       ] 月
前月の日記  次月の日記

2008年10月31日

ああああああああああああああああ

ああああああああ、ああああああああああああああ、あああああああ。

あああああああ!あああああああ、ああああああ。

あああああああああああああああああああああああああああああああああああ

あああ、ああああ。ああああああ、ああああああああ?あああああああああ。あああああああ、あ、あ、あ、あああああああああああああああああああああ!!

ああああああ、あああああああ

あああ、ぁぁああああぁぁぁ、あぁぁぁぁああ。あああ、ぁぁぁああああああああ。

ああああああああああ ああああああ

あああ、ああああ。↓あああ、あああ!ああ、ああ!!

ああああああああああ。ああああああああああ

  • 2008-10-31 22:43 あああああ : 「ああ-あああああああ-あああああああ.あああ」あ、『ぁ』あ『あ』あああああああああああああ。
  • 2008-11-01 14:54 ああああああああ : うわwwwwwなんだ、この「あ」はぁああああああああああああああああああああああああああああああ!!
  • 2008-11-02 00:47 W.Dee : アッー!アッー!アッー!アッー!アッー!アッー!アッー!アッー!アッー!アッー!
  • 2008-11-03 16:48 Miliardo : ああああああああああエンコーダを書いてみようか、うむ
  • 2008-11-06 05:44 Miliardo : http://www.symphonie.org.cn/files/OrzCodec.zip エンコーダ完成wwwwなんか算法か狂ったような気がするけど……まあそりゃ気のせいに決まってるだろ。使うときはCodeを適当に書き換えてみよう。
  • 2008-11-06 20:57 W.Dee : ↑あああああああああ 404 あああああああああああああああああああああああああああ↑
  • 2008-11-06 22:20 Miliardo : あああああああああ、修正しました
  • 2008-11-09 02:08 W.Dee : あぁ、ぁぁああぁあぁあああああぁぁ、ああぁ。ああ、ぁぁぁ、ああぁぁあああぁああああぁぁ。あぁ、ぁぁぁぁあぁぁあああああぁぁ、ぁぁぁあぁ。ああ、ぁ、ぁああぁぁあぁあああああぁぁ。あぁ、ああぁあぁあぁあああああぁぁ、ぁぁぁ。ああ、ぁ、ああぁあああぁあああああぁぁ。ああ、ぁ、あぁああああああああああぁぁ。
  • 2008-11-09 02:33 Miliardo : まあ、より短くなれるはずだと思う。規律をかく乱するためとは言え、無駄な情報を入りすぎた。暇があれば他の方法を試してみよう、うん。

2008年10月29日

Wineで吉里吉里がトロい件について

Kirikiri based games update screen slowly

僕も日常的にWineを使っている立場ではあるし、ちょっとした動作確認ではWine上で吉里吉里を動かしてはいるけど、まだこれ僕の方でもどういう状況でトロくなるのかわかってないんだよねー

トロくなる状況は確認してますが、タイミングや条件が不明。トランジションはするする動くときもあるけど、トランジション終了直後の画面更新が、描画が目で追えるほどにトロかったりする。

  • 2008-10-29 19:19 薫 : そういえば、何年か前にうちのゲームをWineで動かした感想をブログで書かれてた方がいましたけど、トロいらしいですね。わたしもたまにWineでWindowsのソフト動かしますけど、吉里吉里のゲームは自分で動かしてなかったかも(汗)
  • 2009-10-12 16:36 msiro : Fate/hollow体験版で試すと -dibtype=dibsectでほぼ完璧な速度になりますね。(-gsplit=noでもそこそこですが、シーン選択画面などは遅い)。環境は(wine1.1.18とwine1.1.31/ubuntu9.04)です。この手の情報ってどこかに纏まっているんでしょうか?
  • 2009-10-15 13:33 W.Dee : たぶんまとまってはいないです。まとめるならば本家の http://appdb.winehq.org/index.php でしょうね。こちらでは原因を見付次第本家に報告して本家側で問題を直してもらいたいと思ってます。

2008年10月23日

Pandoraほしい

Pandora

うーむ、手軽に開発ができる…かなぁ。

Pandoraにも搭載されている?TIのOMAP3によるデモシーン

OpenGL ES 2.0 とな!

メモリ128MBはちときついっす。X起動してからの仮想端末でのfreeの実行に何秒かかってんのよwあれ、でもX起動してもSwap used が 0 だなあ。

平気で200MBぐらいコンパイラが使うからなぁ。あーこれで512MBぐらい積んでてくれればもっといいのだが……。

ソフトウェアレンダリングでもQuake IIが60fpsでてるとか。搭載されている3Dハードウェア使わずに。

Engadget 日本版の記事

値段は手頃なので欲しい。ううむ。

  • 2008-10-25 01:05 Miliardo : 私もほしいね、こういうカスタマイズできる携帯端末を持つのは昔からの夢なんだよ。 gcc4などのコンパイラなら無理かもしれないが、代わりに早期バージョンや、pccなど軽量なコンパイラなら問題ないだろう。あとは、Linuxカーネルとシステムツールを軽量化して(Busyboxを導入とか)、或いはNetBSDやTinyXなどの軽量ものを使えば、なんとかなるかも?
  • 2008-10-26 17:47 W.Dee : どうせ誰かがメモリ増設改造やりだすだろうから、それを真似るぜ!
  • 2008-10-27 23:04 Miliardo : いやその、Wikiによれば、そっちの128Mメモリはチップ内建のものみたいですから増設は不可能。PCBの写真を見てみたら、外部メモリのためのプラグやランドなどが一切ないので私涙目。ええどそれに、普通の人間にとって、専用の設備がなければ、SMDチップの扱いは難しいと思いますよ。
  • 2008-10-29 10:41 W.Dee : wiki見てきました。無理かー。増設がチップの仕様として不可能だったら諦めるしかないですね。表面実装タイプのチップの半田付けは僕は普通にやります。普通のはんだごてで(笑)
  • 2008-10-30 01:30 Miliardo : 普通のはんだごてで…なんか凄いよ。私は昔、数件のDSPやメモリなどの高価チップを壊した経験があるので、それからずっとSMDやBGAタイプのチップにトラウマを抱えていた。(涙
  • 2008-10-31 20:28 W.Dee : http://japanese.engadget.com/2008/10/31/pandora-upgrade/ メモリ倍増キターー!

2008年10月12日

USB sound and Linux box

Ubuntu Hardy (2.6.24) では SoundBlaster X-fi がうまく使えなかったので、Roland UA-5 を接続して USB オーディオでサウンドを再生しているんですが……。

しかしサウンドの初めや、再生している途中に「ブツッ」といった感じでサウンドが途切れるというか、ノイズがはいってしまいます。

うーん、どこをいじれば改善するのやら……。plusaudio や Rythmbox の優先度をいじっても改善しないとなるとカーネルモジュール内のどこかかな。USBオーディオへの同期転送が時々追いつけないとかそういう奴でしょうかね。

  • 2008-10-12 06:38 W.Dee : ガチャガチャいじってたらpluseaudioのdefault-fragment-size-msecをデフォルトの25から50に増やしたら再生中のブツブツは消えました。再生開始時のブツッはなくならないです。うーん、まあいいか

2008年10月11日

レジスタマシンとスタックマシン

http://d.hatena.ne.jp/unagi127g/20080811

あーと、なんでTJS2がレジスタマシンかというと、最初はネイティブコードへのJITterをつける予定だったので、あー、こっちの方がJITterの実装が楽そう、と思ってのことだったと思います。結局JITterはつけずにバイトコードインタプリタを積んだだけでしたが。なので元々あれはネイティブコードを吐く前の「中間形式」でした。ソースコード名に「Intermediate」という単語が混じってるのがあるのはそれの名残りです。

ちなみに他にレジスタマシンなのはParrot VMとか。LLVMは中間形式(SSA形式ですが)を実行するバイトコードインタプリタがレジスタマシンですね。

TJS2のVMのモデルとしては、ローカル変数も、計算中の一時変数もすべてレジスタとして扱うモデルです。すべてがレジスタに置かれるため、スタックや主記憶領域のようなものはありません。

こういうモデルでのレジスタマシンのメリットは、比較的命令コード数が少なくなるということでしょうか。

たとえばローカル変数同士の計算で a = b*c + d*e; とあった場合、レジスタマシンスタックマシンでは

load b
load c
mul
load d
load e
mul
add
storep a

みたいな感じの命令列になると思うのですが、TJS2だと基本的に2アドレス命令形式なので

cp  tmp1, b     // tmp1=b
mul tmp1, c     // tmp1*=c
cp  tmp2, d     // tmp2=d
mul tmp2, e     // tmp2*=e
add tmp1, tmp2  // tmp1+=tmp2
cp  a,    tmp1  // a=tmp1

みたいになります (TJS2はコンパイラはおバカなのであんまり命令コード数減ってないですけど)。実際のバイトコードインタプリタの実効効率がこれで上がるかどうかは実のところ比較したことがないのでわかりません。オペランドの分だけ命令に必要なバイト数が長くなってメモリアクセスが増えるしメモリアクセスの局所性もおそらく減るから、もしかしたら結局はトントンじゃないのーみたいな気はしてます。

Risseもレジスタマシンですが、この場合は内部でSSA形式で簡単な最適化を行ってます。SSA形式はそもそもそれがレジスタマシンに近い表現なので、それをそのままVM命令にしちゃったのが今のRisseのVMという感じになります。

Risseは今のところ3アドレス命令形式なので、上記のような計算だったら、

mul tmp, b, c  // tmp = b*c
mul b, d, e    // b = d*e
add c, tmp, b  // c = tmp+b

みたいな命令が出力されます (最終的な答えは c に入る; b と c に対応するレジスタは以降参照されていないことが分かっているので再利用されている)。

RisseはまだVMの最適化には手をつけていないし、そもそも今のRisseのVMは仮の実装なので、これから先どのような構成になるのかは後で考えたいと思います。最近JavaScriptインタプリタ方面で実行速度戦争がおきてるようなので適当にテクニックを盗みつつ……。

  • 2008-10-13 17:39 T. : Risseは実行中にオンメモリでバイトコード吐いてVMに食わせると言う事は出来ないのでしょうか?TJS2がそういうことは出来ずKAG3が純粋なインタプリタだったのでそういうことが可能ならば実行中にバイトコード吐いて最適化するADVエンジンをRisseオンリーで作ってみたいのですが・・・
  • 2008-10-13 18:50 W.Dee : いやTJS2もRisseもコンパイル時にオンメモリでバイトコード吐いて、それをVMが食ってますけど……?
  • 2008-10-15 20:38 T. : そういうことではなくJavaVM上で動くLLのように言語が持つAPIからバイトコードを生成しVMにロード出来ますか?という事です。javaによるjsの実装であるRhinoのコンパイルモードでの実行やGroovyやJRubyがよくやっている手法です。
  • 2008-10-18 20:51 W.Dee : 一旦RisseなりTJS2なりのスクリプトを文字列としてあたえてそれをコンパイルしてオンメモリで実行ならばできます。直接のバイトコード生成はTJS2ではサポートしてません。Risseではサポートするか決めてませんがASTレベルでのスクリプトへのアクセスを可能にするかもしれません。

2008年10月7日

pngnq

ちょっとまえにPNG画像を減色する必要があって適当な減色ソフトを探していたのですが、pngnqというソフトが目に止まりました。

減色には、よく使われているメディアン・カット法ではなくて、ニューラルネットワークを利用した方法でパレットを決めるんだとか。元となっているアルゴリズムのページ NeuQuant: Fast High-Quality Image Quantizationのテストイメージをみると確かにいいかんじ。

このpngnq、先日よく見るとアルファチャンネルつきインデックスカラーにちゃんと対応してるんですね、これ。こっちのメリットは大きいかも。

2008年10月6日

Blenderの流体シミュレーション

トキワ荘からの日記移植。

Blenderには流体シミュレーションがついています。

この流体シミュレーションは格子ボルツマン法(Lattice Boltzmann Method; LBM) といって、セルオートマトンの一種です。

http://graphics.ethz.ch/~thuereyn/ntoken3/ ここの方が開発したものらしいです。

LBMは空間を格子に区切って演算を行うのでメモリを食いますが、液体の量が増えても演算速度が(あまり)落ちないというメリットがあります。32bit windows版だとあんまり大きな空間のシミュレーションはできなかったのですが、最近環境をガラリと全部Linux 64bitにしたんで、メモリたくさん食っても大丈夫な演算ができるようになりましたー。

一方、もう一つの主要な流体シミュレーション法であるパーティクル法では、液体をパーティクルの集まりとして近似してパーティクル同士のモーメントだとか衝突だとかを計算するもので、液体の量に応じて演算負荷がかかります。こちらは物理演算アクセラレータなどで高速な演算ができるようにしたものなどがあるようです。

どっちがいいかは用途によるんだろうなぁ。とりあえずBlenderではLBMだということです。

で、お遊び。

http://kikyou.info/misc/miku.avi

どろどろどろどろどろどろ……

モデルデータはまささんからお借りしました。ご快諾ありがとうございます!

  • 2008-10-06 13:37 ダダ : 3Dエロゲでローションプレイが可能になるということですね、わかります。(`・ω・´)
  • 2008-10-06 14:32 ひろにー : また、なんつーものをwww
  • 2008-10-06 23:44 はむはむ : 最高の技術で、素的な動画・・・・ありがとうございました。

最近追加されたコメント

  1. 2009-11-20[MTM04で展示します] 2010-01-08 21:12 wa : 一日持たないのでまったりローダーにウプしてます。 http://u6.getuploader.com/fels/download/6/mazoclock.JPG
  2. 2009-11-20[MTM04で展示します] 2010-01-07 18:46 wa : ありゃ、もう流れますたか・・・。もう一回ウプしておきます。 電話線は激しくマゾかったです。リッツ線なんだもん・・・w http://www.dotup.org/uploda/www.dotup.org537985.jpg.html
  3. 2009-11-20[MTM04で展示します] 2010-01-07 17:20 W.Dee : おお、すばらしい。よかったですー。なんかキットに同梱した電話線ケーブルが激しく扱い辛いことに後で気づいたです。 …ってuploda流れちゃってて画像みえませんorz
  4. 2009-11-20[MTM04で展示します] 2010-01-06 00:15 wa : パスワードは 54321 です。
  5. 2009-11-20[MTM04で展示します] 2010-01-06 00:08 wa : 先日キットを配布していただいた者です。完成しましたのでご報告まで~(^_^)/ >> http://www.dotup.org/uploda/www.dotup.org532651.jpg.html
  6. 2009-11-20[MTM04で展示します] 2010-01-04 15:26 W.Dee : >airさん すみません、残ってません >DaRKSiDeさん、とりあえずAAAAレコードを消しました
  7. 2009-11-01[コミケ受かりました] 2010-01-02 23:00 W.Dee : ういー、お越しいただきありがとうでしたー!
  8. 2009-11-20[MTM04で展示します] 2009-12-29 19:35 DaRKSiDe : 手元の環境(IPv6)からkikyou.infoへのアクセスに非常に時間がかかり難儀しております。kikyou.infoにAAAAレコードがあるため、そちらに繋ごうとしてタイムアウトしてからv4で繋がってるようです
  9. 2009-11-20[MTM04で展示します] 2009-12-29 15:57 air : 初めまして、airといいます。マゾ向け電波時計を作りたいと思っているのですが基板ってまだ余っていらっしゃるのでしょうか・・・?
  10. 2009-11-01[コミケ受かりました] 2009-12-08 22:42 大久保の学院生 : お久しぶりー。カタログ見ましたよw 当日時間未定だけど顔出しに行くつもりなんでよろしうにー
  11. 2009-11-01[コミケ受かりました] 2009-11-05 10:53 W.Dee : よく確認したら8個だった
  12. 2009-11-01[コミケ受かりました] 2009-11-02 13:22 W.Dee : >Miliardoさん いや、条件は知りませんが「自主製作ハードウェア」っていうジャンルはありますよ。正式に。同人ハードウェアという形で過去にもいろいろな物が販売されています。