2011年4月13日 (水)

AccessControlExceptionがでたときの簡単な対策

おひさしぶりですが、マニアックな技術メモです。誰かがつまづいたときに参考になると良いのですが・・

さて、QuickTime for Java で new MovieExporter(fileType) ;を使ったときに前に出なかった例外

java.security.AccessControlException: access denied (java.security.AllPermission )

が出るようになりました。

・・・・

とりあえず開発時になんとかしたい場合の方法として

-Djava.security.manager -Djava.security.policy=ファイルパス

を起動パラメータに加え、ファイルパスの部分には、下記のように記載したセキュリティポリシーのファイルを入れます。

grant {
permission java.security.AllPermission;
};

・・・・

で、うごきます。

ではまた

| コメント (2) | トラックバック (0) このエントリーを含むはてなブックマーク

2010年4月24日 (土)

ActionScript3 パフォーマンスチューニング メモ2

Flash Player 10 で採用された「Vector」は型を指定でき、Arrayよりも高速に動作します。

しかしながら、使い方を誤ると痛い目にあいます。

・・・
■new Vectorは、new Array よりも遅し

 new Vector.( ) ;

 new Array( ) ;

よりも遅いです。こちらのテストでは、length 1000の配列生成で4倍ほど new Vectorの方が遅くなりました。

あまりやらないかもしれませんが、小さな配列を沢山作っては消すような場合は、Arrayの方が速くなります。

・・・

■型の違うVectorの受け渡しは遅し


 Vector. を、Vector. を受けるようなメソッドに渡すのも、それなりにコストがかかります。例えば、何らかのルールでVectorを並べ変えるメソッド

 function narabekae( v:Vector.<*> ):void

を用意して、

 var v1:Vector. ;
 narabekae( Vector.<*>( v1 ) ) ;


のように呼び出す場合、 Vector. を Vector.<*> に渡す時点で、負荷が発生します。
Vector.からVector.<*>へキャストのような処理をするわけですが、実際には「Vector() グローバル関数」という関数が呼ばれており、少しだけ負荷があります。Vectorのlengthに比例して負荷が大きくなるわけではないので通常はさほど問題ではないと思います。

しかしながら、ArrayからVectorに変えて高速化を行ったつもりが、少しずつ負荷が上がってしまうこともあるので、何でもVectorにすればいいというものではないようです。

※このあたりはランタイムの実装によって変わる可能性もあると思われます。テストは 2010/04/24時点の最新版で行っております。

| コメント (1) | トラックバック (0) このエントリーを含むはてなブックマーク

ActionScript3 パフォーマンスチューニング メモ1

-----
タイトル入力後に、間違ってEnter押したところ、なにも書いていない状態でアップしてしまいました。。ので、以下全文が追記(笑)
-----

近頃、ActionScript3のパフォーマンス向上に(も)取り組んでいるので、そのメモ。


■メモ1) 「リリースビルド」と「デバッグビルド」では、パフォーマンス要因(?)が異なる

Flash Builder(旧FlexBuilder)では、「プロジェクト>リリースビルドの書き出し」からリリース用の swf が出力されます。以下、「リリースビルド」に対して、通常のビルドを「デバッグビルド」と呼んでおきます。

デバッグビルドで、

 処理Aのパフォーマンス > 処理Bのパフォーマンス

という結果が出たので、処理Aの方を選んでみたとしても、配布するときのリリースビルドでは同じであったり、逆転したりということがあり得ます。

極端な例では、

//処理A
for( i = 0 ; i < MAX ; i ++ ){
z ++ ;
z ++ ;
z ++ ;
//( z++ を 100回ぐらい下に書く)
}

と、同じ内容の処理

//処理B
for( i = 0 ; i < MAX ; i ++ ){
z ++ ;z ++ ; z ++ ; //( z++ を 100回ぐらい横に書く)
}

で計測すると、デバッグビルドでは、処理Bの方が10倍速くなったり 100倍、1000倍になったりします。どれだけ早くなるかは、z++ をいくつ書くかによって変わります。しかし、リリースビルドではまったく同じ速度になります。

原因は不明ですが(ブレイクポイントを挟める仕組みが影響している?)、この現象を信じてパフォーマンスチューニングを行ってしまうと痛い目にあいます。というか、私があいました(涙)。

・・・

二つの処理を比較するときは、厳密にはリリースビルドで行わないといけないということです。

とくに注意すべきは、AとBのアルゴリズム比較で、原理的にBの方が高速なはずなのに、Bの方が行数が多い場合、結果は逆転することがあるということです。速いアルゴリズムの方が、長い記述になる状況は頻発するので注意が必要です。

結論としては、「デバッグビルドでのパフォーマンス計測を当てにするな」ということです。

本当に重要な箇所(ホットスポット?)は、リリースビルドして、サーバにアップして比較しましょう。

| コメント (0) | トラックバック (0) このエントリーを含むはてなブックマーク

2009年12月11日 (金)

「ポニョはこうして生まれた」がいつの間にか

以前の記事で、発売延期を大仰に嘆いておきながら、すっかり忘れていた「ポニョはこうして生まれた」がいつの間にか発売されてました。

フルセット1.4万は懐に優しくないですが、ここだけはケチりたくないと迷わずAmazonで注文。

とにかく、このシリーズはモノ創りに携わる全ての人が観るべき作品です!!
(今回のはまだ見てないんですけど)

・・・・

宮崎監督の「・・・はこうして生まれた」がもう一作出るといいのですが、、年齢を考えると密着取材の途中でとんでもない映像が取れてしまいそうで怖いです(笑)でも観たい!!

ちなみに、うちの施設(東京コンテンツインキュベーションセンター)の3、4階(立ち入り禁止)には、手塚治虫先生のクローンが培養?されているという噂があるような無いようなです

ポニョフルセット ポニョ もののけ

| コメント (1) | トラックバック (0) このエントリーを含むはてなブックマーク

2009年7月10日 (金)

「ポニョはこうして生まれた」は、こうして・・・

「もののけ姫はこうして生まれた」

この6時間ほどあるメイキングを、これまで20回近く観てきた。。

もの創りの難しさと楽しさを教えてくれるこの作品は、
開発に疲れた私を蘇らせてくれる強力なカンフル剤だった。

そして、観賞回数ダントツ最多を誇るこの作品の、待望の続編?

「ポニョはこうして生まれた」

が、7月3日に発売と発表された。

~・~・~

Amazonで即予約を入れ、世の中がドラクエを待ち焦がれる中、
7月3日の発売日を今か今かと待ちわびた。

しかし、発売数日前、「ポニョ生ま」は突如Amazonから姿を消した。

あまりのショックのためか、私は○屋のハンバーグ定食で食あたりを起こし、
鬼の形相で家路を急いだ。。あの時は本当に危うかったcrying

そして、ようやく今日になってその経緯が判明した。。すなわち

 「宮崎駿氏が作中で聞いていた「ワルキューレ」の使用許諾を
  取りわすれたので12月に発売延期」
YOMIURI ONLINE

ということらしい

~・~・~
作品は、作っただけでは終わりではなく、
どう届けるか、どう伝えるかも含めて作品作りなわけだが、

今度の作品は、モノ創りの「難しさ」を、その内容だけでなく、
発売延期というほろ苦い実体験で、丁寧に教えてくれている。

観る前から含蓄に富んだ、歴史に残るべきメイキング作品であるchickchick

| コメント (0) | トラックバック (0) このエントリーを含むはてなブックマーク

2009年7月 4日 (土)

Live2D Animatorバージョンアップしました

先ほど3連泊した成果

「Live2D Animator2 beta4」

を公開しましたのでお知らせしておきます。

ふぅ、疲れた。。

| コメント (2) | トラックバック (0) このエントリーを含むはてなブックマーク