goo

やはり、まだマルチプロセスは早すぎた・・・。

やはり、まだマルチプロセスは早すぎたんだ・・・。(腐ってやがる
ということで、せっかく実装したマルチプロセス機能を外しました。

高速化するけど、まだ対応している環境が少ないのが原因でお蔵入りです。
あと、仕様を色々もとに戻したので、ver 0.85.05 以上でないと対戦でバグります。
なので、ネットワーク対戦する場合は、読み込み直してからプレイしてくださいね。
コメント ( 5 ) | Trackback ( 0 )

とりあえず、通信関係をマルチプロセス化してみた件。

とりあえず、通信関係をマルチプロセス化してみました。
それに合わせて色々最適化しました。
あと、マルチプロセスに対応してない環境だとプロセスが展開されずに
シングルプロセスのまま接続を開始します。

あと、壊リス壊を初めて起動するときに時に出てくる、
ネットワーク関係のポップアップは「許可する」を押してください。
でないと、通信対戦で相手の様子が通知されません。

もっと、こちらの自宅サーバーの回線が太ければ、
皆さんにこんな思いさせなくて良いのですけどね・・・。
コメント ( 4 ) | Trackback ( 0 )

Flashのマルチプロセスで通信を分ける作業していたんだけど・・・、

Flashのマルチプロセスで通信を分ける作業していたんだけど・・・、
Androidでは使えないのね・・・。これを使った高速化はだいぶ後になりそう。

でもまぁ、一応色々試したら、6コアを半分使って5倍くらい高速化したので、
これをAndroidで使えたら、相当良い感じになるのになぁ・・・惜しい。
しかも、これはまだ最適化前のコードでの結果だから、なおさら悔しい・・・。
コメント ( 0 ) | Trackback ( 0 )

Flash Player11.4のActionScript Workerが役に立たない件。

Flashのマルチスレッド機能のActionScript Workerだけど、
(マルチスレッドと言うより、マルチプロセスっぽい)
それが全然結構役に立たない・・・。

Mutexがない共有メモリなんて、危なくて使えないし、
通信を外に投げて高速化しようとしたら、AirなのにPolicyFile必須という事態。
単独のアプリとして書きだしたらセキュリティーエラーでアクセス出来ない・・・。
Flash Player 11.4じゃあ、まだお試し版ってことですか?

一応、データ通信用のRTMFPを外部プロセスに投げるコードを書こうと思っているけど、
この分だとあんまり期待できなさそう。


~追記~

色々調べたり弄った結果、Flash Player 11.4では、
ByteArrayの.shareableの機能が未実装なので、まともなプロセス間通信ができない。
(そもそも、Mutexが未実装なのに、有効なわけないな・・・。)

しかし、一応MessageChannelでデータのやり取りは出来る・・・。
まぁ、受け取る度に送られたデータの型が何かを判別しないといけない時点で、
MessageChannelの使い勝手はあまり良くない・・・。
コメント ( 2 ) | Trackback ( 0 )

壊リス・壊をマルチスレッド化予定・・・。

FlashPlayer 11.4から追加された、ActionScript Worker・・・。
マルチスレッドというより、マルチプロセスな設計ですが、
これを使って、通信などを別スレッドに分ける作業をしています・・・。

これが出来れば、マルチコアCPUを搭載したスマートフォンなどで、
プレイ速度の向上を期待できます。が、ここで問題発覚・・・。

MutexがFlashPlayer 11.5実装予定・・・だと・・・?
Mutexなしでどうやって同期しろと・・・。

前途多難・・・。
コメント ( 1 ) | Trackback ( 0 )