HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0326
新入りフルスクは重くて当たり前?6解決


新入り

リンク

2014/3/26(Wed) 15:42:19|NO.60971

640x480の状態で500fps近く出るにもかかわらず、1920x1080にすると70に落ち込みます(待機命令はawaitのみ)。
上記の結果は両方とも枠なしウィンドウの状態です。
これは仕様ですか? それとも何か問題があるのでしょうか?
fpsを表示させるd3getfps()関数以外は、全て標準命令です。



この記事に返信する


葡萄色

リンク

2014/3/26(Wed) 16:01:59|NO.60972

多分描画範囲が広くなったからじゃないのかな・・・
参考にならなくてすみません・・・



新入り

リンク

2014/3/26(Wed) 16:02:58|NO.60973


#include "d3m.hsp" bgscr 0,640,480,,0,0 randomize repeat stick exit if(exit&128) : end repeat 100 color rnd(256),rnd(256),rnd(256) boxf rnd(ginfo_winx),rnd(ginfo_winy),rnd(ginfo_winx),rnd(ginfo_winy) loop color 255,255,255 : boxf 0,0,ginfo_winx,20 pos 0,0 : color : mes d3getfps() redraw 1 : redraw 0 : await loop

bgscr 0,640,480,,0,0

bgscr 0,1920,1080,,0,0
では後者が前者よりも約84%の速度低下を見せました。
言い方を変えると前者の速度は後者の6.25倍です。

まあ画素数が6.75倍になっているのでそこまで不思議な数字ではありません。
が、さすがにそれほど差が出るものなのかな〜と不思議に思います。

それとも別の拡張命令を使えば解消されますか(出来れば使いたくない)?



KA

リンク

2014/3/26(Wed) 16:05:06|NO.60974

仕様というか、表示範囲が増えるので当然と言えば当然です。



KA

リンク

2014/3/26(Wed) 16:07:03|NO.60975

根本的に解消させたいのなら、高性能なPCを使いましょう。



暇人

リンク

2014/3/26(Wed) 18:21:47|NO.60979

何もおかしい事は無いと思うけど?
1920*1080/640*480=6.75
ドットの数が1920*1080は640*480の6.75倍なので単純に考えれば描画時間も6.75倍になる
500fps/6.75は約74なので500fpsが70fpsに落ちてる事に何も不思議は無い

フルスクリーンで一画面の描画時間を短くしたいなら
デスクトップの解像度を640*480に変更(ゲームの場合大抵これ)するか
Directx等を使う(Directxでもフルスクリーンは解像度変更するのが普通だけど・・・)



新入り

リンク

2014/3/26(Wed) 19:29:52|NO.60982

>KAさん

わりかし高性能な性能なんですよね・・・。
それに自分だけの問題ではないですし。

>暇人さん

やっぱりDirectXになっちゃいますよね。
このフルスクを用いる作品はそこまで力を入れてないので良いとして、
次からはDirectXを用いて作っていこうと思います。

皆さんありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.