1800エントリですの

STATUS: 故障中

 このエントリで1800エントリ目の日記ですの♪
 
 例によってベンチアプレットを作ってみたですの。

 → Typhoon 1800 bench mark (applet)

 マウスボタンをプレスすると、どんどんボールが出てきて渦を巻くんですの。 
 ボクの1.7Ghzマシン(Win2k+IE6.0+Sun製VM)では、ボール1800個のとき39FPSですの。よろしかったらベンチ結果を教えて欲しいですの。

・参考
 1500エントリ & ベンチapplet , 結果1 , 結果2

コメント

FallenSand

STATUS: 故障中

 processingの小物プログラムを追加しました。

 →FallenSand (applet)
 

 天井に張り付いている砂(青白)に(マウスで)切れ込みを入れると落下して地面に溜まります。
 少しずつ削ったりして楽しんで下さい。

 また、カーソルキーの左右で画面の回転、SHIFTキーを押しながらドラッグすると砂(黄色)を生成できます。変な地層作ったりして遊べます。

【操作方法】
ドラッグ : 砂に切れ込みを入れる(砂削除)
SHIFT+ドラッグ : 砂を生成
カーソルキー左右:画面回転

# sakuraたんサーバに置いてみました → dokokano.comに移しました

コメント

Magnet Balls

STATUS: 故障中

 processingの小物プログラムを追加しました。
 
 →Magnet Balls (applet)


 お互いに引かれたり反発するボールのシミュレーションです。
 クリックでオレンジのボール、SHIFT+クリックで青いボールが置かれます。
 
 同じ色同志のボールは反発し、異なる色のボールは引かれ合います。各色同数置くとなんとなく2個づつのペアになります。数のバランスが崩れるとこれはこれで面白い動きになります。いろいろ試してみて下さい。
 スペースキーを押すとカーソル位置にボールが引かれます。ちょっと干渉してみたいときにどうぞ。

【操作方法】
クリック : オレンジのボールを置く
SHIFT+クリック : 青いボールを置く
SPACE:ボールをカーソル位置に引き寄せる

○ P5のバグ?

 if ( key == SHIFT ) println("press SHIFT");
 if ( key == CONTROL ) println("press CTRL");
 
 って書いて、SHIFTキーを押すと
 
press SHIFT
press CTRL

 と表示される。
 CTRLキーを押すと、なにも表示されない。
 
 定数の値間違ってない?

コメント

Ball 1500ベンチ結果(2)

STATUS: 故障中

 昨日の集計のあとにもベンチ結果を頂きました。ご協力有り難うございます。

Ball 1500 bench mark
http://www.dokokano.com/ftlabo/applet/P5Demos/?pgname=ball1500bench

name          CPU      clock time(ms FPS FPS/GHz VM  Memo
------------- -------- ----- ------- --- ------- --- ----------------
fslasht       Pentium4 3060M  64,406  37    11.9 SUN
fslasht       Celeron   800M 164,046  15    18.8 MS
fslasht       Pentium4 1700M  89,238  27    15.8 MS
mera          AthronXP 2500M 107,016  22     8.8   
ucha          Crusoe    933M 207,809  11    11.8     VAIO U3
Katuragi      G4        550M 233,322  10    18.2 SUN PowerBook G4
Katuragi      Pentium4 2800M  57,152  50    17.8
KUSANAGI      Pentium4 2400M  64,188  40    16.6 SUN
KUSANAGI      Efficeon 1000M 129,716  19    19.0 SUN MURAMASA
KUSANAGI      Pentium3  866M 152,950  16    18.5 MS  DELL LatitudeC400
Kim H Yusuke  G4             339,285   7             PowerBook G4
Kim H Yusuke  Pentium4 2400M 132,094  21     8.6
Acanthopanax  G4        800M 187,787  14    17.5 SUN iBook G4
take0m        Pentium3  600M 262,147  10    16.7     IBM Thinkpad X20
9DO           AthronXP 2500M  80,282  30    12.0 SUN TurboLinuxDesktop10
etsav         K6-2      450M 656,570   3     6.7
etsav         Pentium3  700M 233,666  10    14.3     HP omnibook 500
etsav         PentiumM 1400M 131,709  19    13.8     Compaq Evo N620c
von_yosukeyan Celeron  1800M 114,265  21    11.7
k_u           AthlonXP 2600+  81,778  32    12.3
arawas        PentiumM 1600M  59,976  42    26.3     ThinkPad T41 2373-3PJ

 Memo欄に特に記述が無いのは、デスクトップのWindows機です。
 最速(FPS)は KaturagiさんのP4マシン(IBM ThinkCenterS50)、FPS/GHzトップは arawasさんのThinkPad T41 2373-3PJでした。IBM強し。
 FPS/GHzでは、PentiumM機が飛び抜けて高いです。etsavさんのCompaq機は表では低い結果になっていますが、ベンチ中600〜800MHzで動作していたとのことで、700Mhz換算では27.1とトップクラスの値になりました。あとはG4が安定して高めの結果になってますね。
 

コメント

Processing小品 x6

STATUS: 故障中

 いくつか小さなデモプログラムを作ったので公開します。
 
 →Processing Demos

 ※ページ下のスクリーンショットをクリックするとプログラムが切り替わります。

● WingFlips
 パレットアニメーションで鳥の羽ばたきのようなものを表現。マウスのX,Y座標で翼(?)が描かれます。いろいろと動かして試してみて下さい(左右:大きさ , 上下:形 が変化します)。まずは、上の1/3くらいの高さで右から左にゆっくりマウスを動かすとそれっぽくなります。

● circlecle
 シマシマの円の中心がマウスをぐんにょり追っかけます。sqrt関数を贅沢に使ってます。

● WarmPlace
 マウス位置を中心に左右からぐんにょりしてきます。なんとなく、ぽかぽかです。冬に観て下さい。マウスはあまり動かさないほうがそれらしいイメージになります。

● PaintSat
 マウス位置を中心にした軌道上が塗られていきます。クリックするとエフェクトが切り替わります(無し→スクロール→赤黄白パレット→ワイヤーフレーム→炎もどき)

● PollGrid
 ポールがマウスを避けます。マウス位置によりでスクロール、クリックするとポールが近づくようになります(トグル)。SHIFTキーを押すとスクロールが止まります。

● AniPaint
 マウスで絵を描くとパレットアニメーションぽく動きます。

コメント

ProcessingのFPS精度テスト

FPS Test for P5

STATUS: 故障中

ProcessingのFPS精度テスト

 Processingで、FPSを高くすると動きがぎこちなくなることがあるので、実際のFPS値を測定するアプレットを作ってみました。
 指定したFPSでの、実際のFPS,描画間隔(interval)を表示します。
 FPS,Intervalの値は最新100回の値を元に算出しています。
 高FPSに設定すると、Intervalが大きく変動するようです。これは実行する環境にもよるようです。
 そもそも時間を計測している millis() メソッドの精度がどれほどのものか謎なのですが…。

 また、サウンドを連続すして鳴らすと遅延が発生することがあります。
 どうやら再生中にstopすると遅延が起きるようです。
 複数のBSoundインスタンスを用意して順番に再生することでコレを改善するようにしてみました。
 [p]キーを押すと従来の方式で再生(連続最盛時に遅延あり)。
 [s]キーを押す、またはマウスクリックで、改善された方法で再生します。

【キー操作】
    Key operation
        [1] to [9] set FPS ex.) [3]=30FPS , [6]=60FPS
        [+],[-] inc/dec FPS
       
        [r] reset statistics
       
        [p] Play SE (RAW Style)
        [s] Play SE (Cooked Style)
        (click) Play SE (Cooked Style)

コメント

BSound使用時のウエイト回避案

STATUS: 故障中

 processingの標準のサウンド機能(BSoundクラス)を使うと、再生時に数百ms単位でウエイトが発生することがあります。
 これではゲームに使えません。
 (ゲーム開始時に1度だけ再生開始すればよいBGM等には問題は無い)

 しかしながら実際、BSoundを使用している個所をみると大抵次のようにかかれています。

 stop( se );
 play( se );
 ※ se は BSoundのインスタンス

 上記のようなコードになるのは、一度再生(play)したあとは、再生が続いている・いないに関わらず停止(stop)をしないと、次の再生が出来ないためです。
 これに対し、試しに停止と再生を別にキーに割り当てて、別々に操作できるようにしたところ、再生直後に停止を行った場合のみウエイトが発生していることがわかりました。

 以上の事から回避案としては…
A) 再生中に次の再生が必要になった場合は無視する
 再生中を判定するメソッドは無いので、再生開始時刻を保持しておきそこから一定時間を再生中として判断する。
 再生されている時間の計算は、lengthメソッドで得られたデータ長をサンプリングレートで割る。

B) 一つの効果音に対して複数のBSoundインスタンスを用意する
 複数のBSoundインスタンスに同一の音声ファイルをロードしておき順番に使用する。
 最初のインスタンスでの再生が完了する前に1順してしまうと、やはりウエイトが発生してしまうので、A)案と併用する。

コメント