mieki256's diary



2018/02/19(月) [n年前の日記]

#1 [dxruby] DXOpalでタイルマップBG描画その3

DXOpal で、1チップ 64x64 ドットのタイルマップBGを描画した場合は 60FPSが出たのだけど。32x32ドットのタイルチップならどうなるのか気になったので試したり。

ちなみに、 _以前作成したlove2d用のサンプル のマップデータが、1チップ 32x32ドットだったので、ソレを使用。

_DXOpal fake draw_tile (1 chip : 32x32 ver.)

640x480のウインドウサイズ、1チップ 32x32ドット、レイヤーは2枚の状態だけど。なんだかビミョーな結果になった。ちなみに OSは Windows10 x64。

browserCPU usage (%)60FPS
Firefox ESR 52.6.0 x6422 - 27failure
Google Chrome 64.0.3282.167 x6413 - 18success
Microsoft Edge 41.16299.248.013 - 19success
Vivaldi 1.14.1077.50 x8613 - 18success

Firefox ESR だけは、CPUを1コア使い切ってしまって、60FPSが出ない。タスクマネージャで確認すると、4コアCPU上でCPU使用率が25%を超えてるから、おそらく1コアを使い切ってる。

つまり、Firefox を使うと、1チップが 32x32ドットのタイルマップBGは、手元の環境でも処理が重過ぎて、60FPSで描画できない模様。

1チップ 64x64ドットにすれば改善するけど、それはそれで、ちょっと大き過ぎるのだよなあ。48x48 なら、どうなるのだろう…。

Tiledのエクスポートしたjsonについて。 :

昨日までは、Tiled上で、タイルレイヤーのみを使うマップデータを作成して使っていたけど。love2d のサンプルで使ったマップデータはオブジェクトレイヤーも含んでいたので、そのまま読み込むとエラーが出て、ちょっとハマった。

各レイヤーは、「"type" : "tilelayer"」といった具合に、そのレイヤーの種類を示す情報も持っているので、レイヤー群を順々に調べていく時に、タイルレイヤー以外は見ないようにしておく必要がある。とメモ。
  res["layers"].each do |layer|

    next if layer["type"] != "tilelayer"
    # ...
もちろん、実際のゲーム制作では、敵セットテーブルや地形アタリの指定等をするために、えてしてオブジェクトレイヤー情報も使うことになるだろうけど…。

以上です。

過去ログ表示

Prev - 2018/02 - 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

カテゴリで表示

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


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

Powered by hns-2.19.6, HyperNikkiSystem Project