####################
# マンデルブロ集合 #
####################

P/ECE上で、マンデルブロ集合を描画します。

================
インストール方法
================

「mandelbt.pex」を、P/ECEに転送してください。

========
操作方法
========

上下左右ボタン　　　　カーソルを移動します。
Ａボタン　　　　　　　カーソル位置を中心に、拡大します。
Ｂボタン　　　　　　　カーソル位置を中心に、縮小します。
ＳＥＬＥＣＴボタン　　拡大率をリセットします。続けて二回押すと、プログラムを終了します。

========
あとがき
========

ごく普通の、マンデルブロ集合描画プログラムです。
工夫した点は、計算を全部完了してから表示するのでなく、計算の途中経過をじわじわと表示する感じにしたことです。
表示の様子は、動画を見てください。

今回の目的は、マンデルブロ集合そのものではなく、P/ECE上でアイドル時間処理を実験することでした。
P/ECEのAPIには、pceTimerSetContextSwitcher()という関数があります。
マルチスレッド処理をサポートするための関数で、シンプルライブラリなどで利用されています。
でも、普通のアプリケーションではほとんど使われていないですし、僕もこれまで使ったことがありませんでした。

今回は、このAPIをアイドル時間処理に応用して、メインループ処理の残り時間でマンデルブロ集合の計算を行ってみました。
このプログラムでは、メインループ処理が軽すぎて(カーソル移動と画面コピーぐらいです)、あまり意味は無いのですけれど…
マンデルブロ集合の計算負荷の増減にかかわらず、カーソル移動の反応をもたつかせない効果はありました。
pceTimerSetContextSwitcher()は、なかなか、つかいでのあるAPIです。

==================
Sun Jul 19 2009
Naoyuki Sawa
nsawa@piece-me.org
==================
