[過去ログ] DXライブラリ 総合スレッド その18 (981レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
828(1): 814 2015/09/07(月)19:10 ID:nsmH+La5(1/6) AAS
実験しました
for(i=0; i<=100; i++){drawcircle(); waittimer(1000);}の場合も
for(i=0; i<=100; i++){drawcircle(); waittimer(100000);}の場合も
最初の円を表示する時間はいずれも3秒前後でした。もちろん次の円以降は
waittimerの影響で後者のほうが100倍遅いですが…
つまりdraw系の関数は、連続でdrawが実行されない場合は3秒たったら
出力されるってことでいいですかね?
829: 814 2015/09/07(月)19:37 ID:nsmH+La5(2/6) AAS
違うな…
やっぱりわかんね…
10ミリwaitかませたら、最初は3秒でも次以降は10ミリ秒未満で連続で
表示されるってことだからな…
何故drawcircleが連続であるときは、一気に表示されずに
waitを挟むと連続的に表示されるのか?
これが謎です
830: 814 2015/09/07(月)19:53 ID:nsmH+La5(3/6) AAS
分かった分かった
最初の3秒はたぶん描画と関係ないんだ、エンジンを準備してるとか
そういう話なんだろうな。
さっき
for(i=0; i<=100; i++){drawcircle(); waittimer(1);}
で試したら、こっちは10秒くらいたってから一気に表示
for(i=0; i<=100; i++){drawcircle(); waittimer(10);}
省3
832: 814 2015/09/07(月)19:55 ID:nsmH+La5(4/6) AAS
でなんでdrawcircleを待ってるかって言うと
一々描画のエンジンを呼んでたら処理量が多くなるから
描画エンジンのバッファを一定期間開放して溜まったら表示みたいに
したほうが効率的なんだろうね
ここまで分かると本当に気持ちいいな
834: 814 2015/09/07(月)20:03 ID:nsmH+La5(5/6) AAS
>>831
描画の仕組みは裏画面に表示してから出力って事じゃないんですか?
DrawCircle内部にScreenFlip関数があるんでしょう。
で、あるとして問題はタイミングですよ。
LoagGraphみたいに内部にScreenFlipが無い場合はScreenFlipをこちからから
呼べるけどDrawCircleの場合はできないですからね。
だから、DrawCircleが一気に呼ばれた場合はScreenFlip関数が競合してしまうから
省2
835: 814 2015/09/07(月)20:14 ID:nsmH+La5(6/6) AAS
>>833
DxLib_Init()
これに3秒かかるんでしょう?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.030s