忍者ブログ

主にウディタを使ってのゲーム製作についてのブログです  ※更新は不定期

カテゴリー「WoditorOptimizer」の記事一覧
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

CommonEvent.datを最適化して処理の高速化を図る
WoditorOptimizerを大幅アップデートしたVer2.0.0を公開しました!

DOWNLOAD(ダウンロード)

-------------------------------------------------------------------
本アプリケーションは『.NET Framework 4.5.2』 が使用されています。
起動できない場合は以下をインストールしてみてください。
http://go.microsoft.com/fwlink/?LinkId=397708
-------------------------------------------------------------------


< 主な変更点 >

・開発環境をC++/CLIからC#に移植
  各処理を全て一新しています。

・UIの一新
 


・最適化項目追加
  ・ラベル地点を含まない『回数付きループ[0]回』削除
  ・『回数付きループ[1]回』を削除してループ内の処理を取り出す
  ・変数操作の『データを呼ばない』を最適化
  ・DB書き込みを最適化
  ・CSelfX~CSelfYの変数操作分解
  ・コモンセルフ名を削除
  ・コモンイベント名を隠蔽
  ・コモンイベントのメモを削除
  ・数値入力/文字列入力の各引数名を削除
  ・返り値名を削除
  ・コモンイベント色をランダムに変更する
  ・定数回ループの展開

・既存の最適化項目改善
  ・『コモンEv名で呼出』を番号呼出に変換する
    →指定された名前が見つからなかった場合は変換しないように変更。
     従来まではコモンイベント0番が呼び出しに変換されてしまっていた。
  ・ラベル名の最適化
    →特殊文字が使用されている場合はそのコモンイベント内では
     最適化されないように変更。


・データの取り扱いにWodiKsライブラリを使用
  データの扱いをWodiKsライブラリに一任しています。
  WodiKsライブラリを使用すればここまでできるという指標を示す意図もあります。

  ※本ツールで使用しているWodiKsは未公開の最新バージョンです。
   試用してみたい方はフォルダ内のWodiKs.dllを使用していただいてかまいませんが
   マニュアルなどは一切ありませんのでご注意ください。
   (まだテスト中/未テストの機能もあるため新機能はバグまみれの恐れがあります)

・最適化後に各最適化項目に該当したものがどれだけあったか確認できる機能
 

・最適化の実行順序を示す『実行フロー』ウィンドウ
  内部でどの順番で最適化が実行されるかを可視化します。
  将来的に実装されるかもしれないプラグイン機能に向けた機能の1つです。
 

・その他
  上記以外にいくつか細かい修正が施されています。


DOWNLOAD(ダウンロード)

拍手

PR
※本ページのツールは古いバージョンです。新しいバージョンは下記で公開されています
---------------------------------------------------------------------------------------------

ウディタの『CommonEvent.dat』を解析して各コモンイベントを
最適化するツール『WoditorOptimizer』Ver1.00 を公開しました!

↓こちらからダウンロードできます。
http://ux.getuploader.com/k_shin07/download/26/WoditorOptimizer_Ver1.00.zip

◆追記◆=================================================
『MSVCP110』がありませんというようなエラーが出て起動できない方は
以下のURLから『VSU4\vcredist_x86.exe』をダウンロードして
インストールしてください。
https://www.microsoft.com/ja-jp/download/details.aspx?id=30679
========================================================

↓画面UI(クリックすると原寸大で開きます)



◆ 最適化とは?
最適化といっても一体何ができるのかよくわからないと思うので、そのあたりの解説をします。

まず結論から
ウディタの処理を高速化します!

当然、「どうやって高速化するねん」ってなりますよね。
「高速なアルゴリズムにでも書き換えるのか?」
そんなのは無理です!じゃあどうするのか、解説していきます。

ウディタで開発をするときによく使うのがコモンイベントですよね。
ほとんど処理はそこにイベントコマンドとして記述されます。
ですが、その中にはゲームの実行には無関係な
『コメント文』や『チェックポイント』『デバッグ文』などがあります。
 
読みやすくするためや、パッと見で処理の内容を分かりやすくするために
たくさん挿入したりしますよね?

今では知っている人も多くなっているとは思いますが
これらのイベントコマンドにも処理負荷が存在するんです。

システム変数108番「[読]現フレームのコマンド処理数」などで確認すれば
しっかりとカウントされていますので、負荷が存在するのも納得することでしょう。

それらの負荷はとても軽いので、特に影響を受けることが無い場合がほとんどですが
もし、1000回とか2000回とか回る多重ループ内にたくさん記述されていた場合はどうでしょう?
そういった感じで場合によっては知らぬ間に顕著に
負荷影響を受けているかもしれません。

だからと言って、『コメント文』等を挿入しないなどの選択を取るわけにはいきませんよね?
そんなことをすれば何をやっている処理か分からなくなります。

そこで、この『WoditorOptimizer』の出番です。
このツールでは、各コモンイベントを管理している『CommonEvent.dat』を解析して
それらの不要なイベントコマンドを一括で削除して処理を最適化することができます。
(『CommonEvent.dat』は『Data』フォルダ内の『BasicData』フォルダに格納されています)

開発中に削除できないなら、配布時にだけ削除すればいいというわけです。



コマンド削除以外による最適化機能も実装されています。
現在実装されている項目は以下の画像の通りです。(画面スクリーンショットから抜粋)

『コメント文をデバッグ文に変換する』『デバッグ文をコメント文に変換する』
についてはオマケで実装しただけで、最適化とは関係無い項目にあたります。

上記の各項目についての詳細は配布データ内の『機能詳細.txt』をご覧ください。


また、『CommonEvent.dat』を解析にすることによってデータの集計も可能になっているので
以下のような機能も実装しています。(画面スクリーンショットから抜粋)

総イベントコマンド数では、全てのコモンイベント内のイベントコマンド数の合計
表示されています。
大規模なゲームになると10万超えたりもするでしょうから、自分の作っているゲームの
コマンド数の総計を調べたりして楽しむのもありでしょう。

また『イベントコマンド数グラフ比較』では
以下のように各コモンイベントのイベントコマンド数を比較することができます。


以上でこのツールの解説を終わりたいと思います。

もしバグやこんな機能がほしいとか要望があれば
報告して頂けると幸いです。
ツイッターのハッシュタグ『#WoditorOptimizer』が付けられているツイートについては
できるだけ閲覧するようにするのでそちらに要望等あれば呟いていただいても結構です。
(全て回収できるとは限りませんが)


※このウディタ用ツール『WoditorOptimizer』は
 以前公開していた『WECDeletor』の後継ソフトにあたります。
 現状 『WECDeletor』のようにイベントコードに対しての削除はできませんが
 将来的にはオマケとしてイベントコードに対しても実行できるモードを
 用意するかもしれません。

拍手

Woditoride - April Fool's Day Edition
┗最新版公開日 : 2018/04/01

WoditorOptimizer - Ver2.0.1
┗最新版公開日 : 2017/08/31

WoditorOptimizer - Ver1.00 -
┗旧バージョン : 2015/04/18

WECDeletor - Ver1.01 -
┗最新版公開日 : 2012/11/03
03 2024/04 05
S M T W T F S
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
HN:
K-Shin07
性別:
男性
趣味:
ゲーム製作
自己紹介:
趣味でゲームを作っています
プログラマーです

開発ツール・使用言語等
WOLF RPG エディター
・HSP
・C
・VB
・Java
・C++
・C++/CLI
・C#
・アセンブラ
・Haskell

・PHP
・Ruby

・WPF

・DirectX( 9.0c )
・PhysX( 3.X系 )

Mail
 k07.alpha.stella[あっとマーク]gmail.com
[01/04 NONAME]
[01/04 NONAME]
[07/25 なつき]
[02/26 たかねぇ]
Copyright ©  -- α-Stella[R]_ブログ --  All Rights Reserved

Design by CriCri  /  Material by 妙の宴  /  Background by K-Shin07  /  powered by NINJA TOOLS / 忍者ブログ / [PR]