ページ 11

処理の遅れ

Posted: 2008年11月11日(火) 19:43
by yu
管理者様の龍神録のプロジェクトについてですが

最初にボムをうつと処理が一時的に止まってしまいます。
しかし、2回目以降は大丈夫です。


自分のPCの環境は大丈夫だと思います。
完成している方の龍神録ではボムの遅れはありませんでした。


effectを登録する際に遅れてしまうのでしょうか?・・・

どのような対策をすると回避できるのか、どなたかご教授お願いします。

Re:処理の遅れ

Posted: 2008年11月11日(火) 20:23
by Dixq (管理人)
龍神録プログラミングの館のプロジェクトで実行するとボムが遅れるが、
ゲームとしてリリースしている四聖龍神録Plusではそうはならないということですか?

ダウンロードしたそのままのプロジェクトでコンパイル・実行しても遅れますか?
50章とかのプロジェクトでもなりますか?

2回目から普通になるのならスペックの問題ではなさそうですね。

一時的に止まるというのはどれ位止まりますか?

Re:処理の遅れ

Posted: 2008年11月11日(火) 20:46
by yu
>龍神録プログラミングの館のプロジェクトで実行するとボムが遅れるが、
>ゲームとしてリリースしている四聖龍神録Plusではそうはならないということですか?

はい。その通りです。
わかりにくくてすみません;


>ダウンロードしたそのままのプロジェクトでコンパイル・実行しても遅れますか?
>50章とかのプロジェクトでもなりますか?

exeとプロジェクトでコンパイル・実行をしても遅れがでました。



>一時的に止まるというのはどれ位止まりますか?

1秒ぐらい画面がキャプチャーしたようにとまります。

Re:処理の遅れ

Posted: 2008年11月11日(火) 21:23
by Dixq (管理人)
どこでどれ位処理に時間がかかっているか、右側に表示されていると思います。
もし早すぎて確認出来ない場合は、キャプチャソフトで画面をキャプチャしてコマ送りで確認すると良いと思います。
とりあえず、どこで時間がかかっているか確認してみましょう。

Re:処理の遅れ

Posted: 2008年11月11日(火) 21:44
by yu
描画メインの時間が787.74でした。
他の処理の時間は通常通りでした。

グラフィックに問題があるのでしょうか?・・・

Re:処理の遅れ

Posted: 2008年11月12日(水) 01:18
by Dixq (管理人)
う~ん、こちらではその現象が確認出来ないのでよくわかりません・・。
ビデオカードのドライバの更新してみてはどうでしょう?
もっと原因を限定したいなら、
描画関数ごとに時間はかって表示させてみてはどうでしょう。

Re:処理の遅れ

Posted: 2008年11月12日(水) 18:49
by yu
友達と全く同じパソコンを使っているので
同じプロジェクトを友達に実行してもらったところ
ボムの遅れは全くありませんでした・・・

自分のPCの環境のせいですね・・・

勘違いですみませんでした;
自分で直してみます。

管理者様、ありがとうございました。

Re:処理の遅れ

Posted: 2008年11月12日(水) 19:48
by Dixq (管理人)
私は表面的なアドバイスしか出来ないので、もし内部的な問題ならDXライブラリの製作者様に聞いてみてはどうでしょう。
本家でも掲示板での質問・回答が充実してます。

Re:処理の遅れ

Posted: 2008年11月15日(土) 01:00
by yu
暫く、いろいろと自分で調べてみました。


どうやらbright_set.brtの値を255以外の数に変更すると処理が遅れてしまうようです。
255以外の数にするとgraph_main()内で何回かSetDrawBrightで設定しているので
SetDrawBright関数が遅れを生じさせているようでした。

実際、背景をSetDrawBrightを使って暗転させると、最初に遅れが出ました。
しかし、普通はこんなに処理がかからないのに何故でしょう・・・;
やはり自分のPCの環境が影響していそうです。

対策として、一度輝度を設定するとなれるかなと思って
ini();にSetDrawBright(0,0,0)を追加しました。
すると、ボムは遅れは解消されました。
しかし、フラッシュをしたり、背景を暗転しようとすると遅れがでました。


自分のPCのせいかもしれませんが一応
DXライブラリ内の関数なのでDXライブラリの製作者様に聞いてみることにします。

Re:処理の遅れ

Posted: 2008年11月15日(土) 14:53
by array
この現象は、以前から現在の50章まで続いて確認してます。
私も同じく、2回目以降は大丈夫なんですが。

原因が分かってるわけでなく、管理人さんが、現象を確認できないとの事なので
一応、どんなものなのか動画を撮ってみました。

http://sinkai.net/rstg/bbs0.php

※しばらくしたら、このページ消します。

使ったプロジェクトは50章です。

動画中のFPSは[30]→[12]ですが
動画キャプチャしてない時(通常時)のFPSは[55]→[12]くらいに落ちます。

Re:処理の遅れ

Posted: 2008年11月15日(土) 17:16
by Dixq (管理人)
>yuさん

マジですか~><
私の環境では255以上を指定しても255で表示されるので、255以上が指定されたら内部で勝手に255に変換されるのだと思ってました。
今考えるとなんといういい加減なプログラムでしょう^^;
改善しておきます。

>arrayさん

おぉ!バグの件はどうでも良いと思える位弾幕の方に目が行きますw
表現面白いですね^^
わざわざ動画撮って頂きありがとうございます!よくわかりました^^

Re:処理の遅れ

Posted: 2008年11月15日(土) 19:44
by yu
array様も同じ現象がおきていましたか・・・
遅れが出ないように何か対策はしていますか?

そして動画まで撮って頂いてありがとうございます。
自分も動画を撮れば管理者様に伝えやすかったかな;

Re:処理の遅れ

Posted: 2008年11月15日(土) 21:06
by array
> 遅れが出ないように何か対策はしていますか?

アホながらに原因を探してみました。結局yuさんの言うとおり、SetDrawBright()に原因がありそうです。
となると、やっぱり原因は、DXライブラリにありそうですね。

一応、ini()の変更で
---- ini.cpp - ini() ----

	bright_set.brt=254;//初期輝度は最大
と変更しても解決されるみたいです。

Re:処理の遅れ

Posted: 2008年11月15日(土) 22:17
by yu
最初にフラッシュをして、bright_set.brt=254にすると
遅れはなくなりましたw

多少ですが、実行した最初は重いですが;


array様、管理者様、ありがとうございました!



この場を借りて言いますが、
array様の弾幕の簡略化と、
アシストを作る、がとても便利で役立っています。
恥ずかしながら、弾幕の簡略化で関数の作り方がわかりました;

本当にありがとうございます!

Re:処理の遅れ

Posted: 2008年11月16日(日) 00:30
by array
> array様の弾幕の簡略化と、
> アシストを作る、がとても便利で役立っています。
> 恥ずかしながら、弾幕の簡略化で関数の作り方がわかりました;

そう言ってもらえると、とても嬉しいです。

管理人さんから、簡略化や3D弾幕、面白いというメールを貰って頑張ってたのですが

改めて役に立つと言って貰えると、頑張りがいがあります^^