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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0907
roppyakukeeミリ秒単位のwaitを使いたい12解決


roppyakukee

リンク

2013/9/7(Sat) 17:37:56|NO.56962

僕の普段使っているFPSカウンタ↓

*GetFps FpsCnt ++ : nowTime = gettime(6) if nowTime ! oldTime : Fps = FpsCnt : FpsCnt = 0 : oldTime = nowTime return


連打ツールの仕上げとして、連打間隔をどうこうしていますが、
設定値よりも明らかに感覚が広くなってしまいます。
が、それは自己解決するとして
awaitはヘルプではミリ秒単位でwaitを挟むことできるとありますが、
await 1にしても64~65FPS以上になりません。
連打ソフトでは最小1ミリ秒の設定ができるようにしたいです。

windows 7 64bit
pentium p6200
4GB
(最近プロセス92とかふざけてる)

スペックもあれですが、
FPS64の壁を越えたいです。

しかし、パソコンに無知な僕ですので
解説を交えたサンプルをいただけるととても助かります。



この記事に返信する


流星群/poteto0413

リンク

2013/9/7(Sat) 17:46:57|NO.56963

await を少数値にするのでは駄目なのでしょうか。
当方の環境ではawaitの値を0.1とした場合、
d3mの方のfpsで50000超となりました
(結局重すぎてすぐ消しましたので最大何処までかは不明です。)



暇人

リンク

2013/9/7(Sat) 17:47:20|NO.56964

まず最新版のHSPにする

HSP3.4β2を公開しました
http://www.onionsoft.net/wp/archives/963



暇人

リンク

2013/9/7(Sat) 17:49:30|NO.56965

>当方の環境ではawaitの値を0.1とした場合、
多分これだと0と同じだと思う



roppyakukee

リンク

2013/9/7(Sat) 17:55:48|NO.56968

現在HSP3.3(?)を利用しています。
png読み込み未対応のバージョンでした。

テストバージョンとのことで少し怖い気もしますが、
試してみたいと思います。



流星群/poteto0413

リンク

2013/9/7(Sat) 17:57:57|NO.56969

>>暇人さん
本当ですか?
しかし await 1000 / 60等は
1.66767676…
みたいな数字になるはずですが、
1や2とはならないのですが…
await 1とawait 1000 / 60だと
1000と64の差になるのですが…(実行結果)



流星群/poteto0413

リンク

2013/9/7(Sat) 17:59:28|NO.56970

連投すいません。
いやいややっぱり0にはなっていないように思えるのですが。
0.1ならふっつーに動いたのが
0なら危うくフリーズしかけましたし…



roppyakukee

リンク

2013/9/7(Sat) 18:04:22|NO.56971

流星群s>>
そこらへんは僕も悩みました。
少数を使ったり1/10などと指定してみたり。
結局await 1でもawait 16でもFPSは64のままなので
少数以前の問題ですよね。

暇人s>>
驚きです!
FPSが800~1000あたりまで、落ち着くと・・・FPS 999~1000にまで!
感動でした。これからは最新版を使う事にします。
(テストverだとやはり不安感が。



暇人

リンク

2013/9/7(Sat) 18:12:37|NO.56972

>0.1ならふっつーに動いたのが
自分の環境では0.1でも0.9でも0でも秒間200万フレームぐらいで変らない
CPU使用率はコア一つ使い切るがフリーズはしない



暇人

リンク

2013/9/7(Sat) 18:19:06|NO.56973

>しかし await 1000 / 60等は
>1.66767676…
実数じゃないから16になるし
計算を実数にしても16.666・・・で実際に使われるのは16



kanahiron

リンク

2013/9/7(Sat) 18:30:41|NO.56974

>NO.56969
>しかし await 1000 / 60等は
>1.66767676…

どう計算しているのかわかりませんが、1000 / 60は16.6666… ですよ
await 16 = await 16.66666 = await 1000/60です

本題ですが、HSP 3.4beta2、ベータがいやならHSP 3.32bにすれば解決します
http://www.onionsoft.net/wp/archives/911



流星群/poteto0413

リンク

2013/9/7(Sat) 18:38:29|NO.56975

>>暇人さん
ごめんなさい。桁ズレてたかもしれません。
ホントですね。16ですね。すいません。


0.1,0.9の違いについては
しっかりと最終の値を見ようと付け続けてたら0.1でもPentiumさんが(のせいなのかは分からん)
無理らしくてフリーズしたので完全には分かりませんでしたが、
0.1→付けてずっと放っておくとフリーズ
0→付けた瞬間からフリーズ直前。直ぐに消さないと終わる
感じでした。



流星群/poteto0413

リンク

2013/9/7(Sat) 18:44:06|NO.56976

よく考えたら 60x2 < 1000な時点で2以上で当たり前なのに
何言ってたんだろう…
ほんとごめんなさい



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