mieki256's diary



2014/05/23(金) [n年前の日記]

#1 [dxruby][cg_tools] 色変更処理も追加できた

swfをDXRubyで再生するスクリプトをまだ修正中。

色変更処理までは手が回らないかも、と思ってたけど。Shader を使ってどうにか実装できた。

ただし、Window.drawMorph() には Shader を渡すことができないので…。
  1. ウインドウサイズの RenderTarget を作成。
  2. RenderTarget に drawMorph で描画。
  3. Window.drawEx で Image の代わりに RenderTarget を渡しながら、Shader を使って色変更。
という状態に。

しかし、RenderTarget の生成と破棄を頻繁に行ったせいか、しばらく再生を続けていると DXRuby が何かの拍子に不正終了してしまう。

また、アルファチャンネルを持っている画像を描画した際に、Flash Player 上の見た目と比べて、明らかに薄く描画されてしまった。おそらく、Shader内のアルファチャンネル計算式が違うんじゃないかと…。

仕方ないので、以下のような感じにして緩和することに。

処理時間を測定。 :

スクリプト起動時、明らかに待たされるようになってきたので、ベンチマークを測ったり。
                      user     system      total        real
xml parse:        0.016000   0.000000   0.016000 (  0.023001)
get fps           0.000000   0.000000   0.000000 (  0.002000)
load image:       0.952000   0.172000   1.124000 (  1.161067)
load shape:       0.015000   0.000000   0.015000 (  0.006000)
load sprite:      0.000000   0.000000   0.000000 (  0.008000)
root tmline:      0.031000   0.000000   0.031000 (  0.031002)
てっきり Nokogiri で xmlを解析してタイムライン情報を作っていくあたりが遅いのかなと思ったけど、そこは 0.03秒ぐらいだったのでたいしたことはなかった。

スクリプト開始時に必要な画像を全てロードしているのだけど、そこで1秒以上かかってるなと。しかし、画像を読み込まないと表示できないし…。これはもう仕方ないかな…。

以下、参考ページ。

_RubyでのBenchmarkの取り方をば。 -

以上です。

過去ログ表示

Prev - 2014/05 - Next
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project