問題タブ [frame-rate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb6 - ffmpeg のヘルプ
cmd ウィンドウで実行された FFmpeg プロセスの最後の行を読み取ることができます。このソースでは、スクリプト ホスト モデル オブジェクト参照を使用します。
ラインはこんな感じ。これは、コマンド ウィンドウ (一番下) の最後の行です。
私のvb 6.0アプリでプログレスバーを作成するために時間の一部をカットしました。しかし、cmd プロセスでは、値 13 が存在し、この値は Total duration と呼ばれます。しかし、私はこの行を読むことができません.ffmpegのcmdウィンドウの最後の行から13行上にあるこの行を読むためのコードまたはアイデアを誰かが持っています...
c++ - float の桁数のカウント
私は c++ での OpenGL の初心者向けチュートリアルに従っていますが、ac# プログラマーとして始めたので、多くのことを当然のことと考えてしまいました。そのため、FPSの読み取り値を出力にデバッグ印刷しているときに問題が発生しました。メソッドは頭のてっぺんから DebugPrintString のようなもので、char* を受け取り、基本的に「FPS: x」を出力していたと思います。scanf_s を使用して fps 値を文字配列に配置していましたが、ここに問題があります。文字配列の大きさはどのくらいですか?
もう少し詳しく説明しましょう。通常、フレーム/秒は適切な数値ではないため、私の FPS の読み取り値は float として保存されます。つまり、私の番号は 60 かもしれませんし、59.12345 かもしれません。60 には 2 バイトしか必要なく、59.12345 には 8 (ピリオドに 1) が必要です。それで、「ああ、桁数を数えなければならない、問題ない!」と思いました。男の子は私がショックを受けていました。
桁数を数える方法を作成しました。小数点以下の左側を数えるのは簡単でした。まず、整数としてキャストして小数点を削除し、10 で除算します (実際には、ビットシフトがあったと思います)。 0 になるまで何回できるかを数えます。右辺の桁を数えます。10 を掛けて、その桁を引きます。これを 0 になるまで繰り返します。このメソッドは通常 32 を返します。それで、私はWTF'dしてデバッグでそれを見ました.浮動小数点数を掛けると、よく知られている精度の問題のために数字の列を効果的に上に移動すると、別の数字が追加されたことがわかりました!
私はいくつかの主要なグーグルを行いましたが、実際には char str[128] と scanf if in then do strlen(str) - 1 (null ターミネータ) の上に何も見つかりませんでした。しかし、私はよりエレガントなソリューションを望んでいました。最後に、それをintとしてキャストし、9999 fpsに十分な値を許可し、fps> 9999かどうかを確認するチェックも追加しましたが、それが起こるとは思いません. SEG FAULTよりも安全です:(
TLDR: float の桁数を取得する方法はありますか? scanf はどのようにそれを行いますか?!
長い投稿で申し訳ありませんが、私の欲求不満を共有したかっただけです >:D
編集:スペルミス
opengl - FPSはこれをどのように計算しますか?
私のOpenGLの本では、次のように書かれています。
「このようなシステムでよくあることは、フレームが複雑すぎて1/60秒で描画できないため、各フレームが複数回表示されることです。たとえば、フレームの描画に1/45秒かかる場合、次のようになります。 30 fpsで、グラフィックは1/30 1/45 =フレームあたり1/90秒、つまり3分の1の時間アイドル状態です。」
「フレームを描くのに1/45秒かかると30fpsになる」という文の中で、なぜ30 fpsしか得られないのですか?45 fpsの方が正しいのではないでしょうか?
signature - Amazon FPSマーケットプレイスで決済リクエストの署名を生成するにはどうすればよいですか?
ドキュメントは本当にひどいです、そしてクレジットカードの支払いを予約するためのボタンを作成することはかなり簡単ですが、その支払いを解放することができることは苦痛です。私は実際にその署名を生成するのに最も苦労しています。
以前にFPSを使用していて、アイデアがある人はいますか?
ありがとう!
frame-rate - レース カー ゲーム、より高速なコンピューターでより速く動く車
なぜそうなるのかは理解できますが、それを防ぐ方法についてはまったくわかりません。シナリオは、フレームごとに、あらかじめ定義された特定のピクセルだけ車を動かすというものです。低速または高速のコンピューターを使用すると、何が起こるかというと、1 秒あたりのフレーム数が増減するため、車の動きが遅くなったり速くなったりします。どうすればそれを防げるのかと考えていました。
どのライブラリを使用しても同じ問題が発生するのではないかと思います...そのようなリアルタイムの作業を行うのはこれが初めてです。
c++ - OpenGL での FPS の構築: 銃が錐台に対してクリップされています
私は OpenGL を使用して一人称シューティング ゲームを構築しています。銃のモデルをカメラの前に浮かせようとしています。リソース逆コンパイラ (.obj に変換してロード) を使用して、Fallout 3 からモデルをリッピングしました。
ただし、画面上では次のように表示されます。
銃の三角形の半分は、円錐台と思われる部分にクリップされています。
こんな感じでカメラの前に置きました。
そこで、元のマトリックスを保存しGL_MODELVIEW
、恒等マトリックスをロードし、銃をカメラの少し右側に移動してレンダリングします。これは、SceneNode のレンダリング ルーチンです。
そのため、独自のモデルと子 SceneNode をレンダリングします。最後に、実際のメッシュ レンダリングは次のようになります。
銃だけのクリッピングをオフにする方法はありますか? 他のゲームはどのようにこれを行うのですか?
前もって感謝します。
frame - この fps カウンターが不正確な理由がわかりません
ゲームで 1 秒あたりのフレーム数を追跡しようとしています。fpsを平均として表示したくありません。キーを押したり、モデルを追加したりしたときにフレームレートがどのように影響されるかを確認したいので、変数を使用して現在の時刻と前回の時刻を保存し、それらが 1 秒異なるときに fps を更新します。
私の問題は、約 33 fps を表示していることですが、マウスを非常に速く動かすと、fps が 49 fps に跳ね上がります。また、フレーム カウンターに関係のない単純なコード行を変更したり、プロジェクトを閉じて後で開いたりすると、fps は約 60 になります。垂直同期がオンになっているため、マウスがまだ有効かどうかわかりません。 fps。
フレームごとに発生する更新関数にある私のコードは次のとおりです。
変数宣言は次のとおりです。
ここで何が問題なのか、それを修正する方法、または fps をカウントするより良い方法があれば教えてください。ありがとう!!!!!!
私はDirectX 9を使用していますが、それが関連しているとは思えず、PeekMessageを使用しています。代わりに if else ステートメントを使用する必要がありますか? これが私のメッセージ処理ループです:
algorithm - ローリング ウィンドウで 1 秒あたりのメッセージ数を計算していますか?
ミリ秒単位の解像度でプログラムにメッセージが入ってきます (ミリ秒あたりゼロから数百メッセージまで)。
分析をしてみたいと思います。具体的には、メッセージが着信するたびに更新される、メッセージ数の複数のローリング ウィンドウを維持したいと考えています。たとえば、
- 最後の 1 秒間のメッセージ数
- 過去 1 分間のメッセージ数
- 過去30 分間のメッセージ数を過去 1 時間のメッセージ数で割った値
「最後の 1 秒間に 1,017 件のメッセージ」のような単純なカウントを維持することはできません。メッセージが 1 秒よりも古い時期がわからないため、カウントに含めるべきではないためです...
私は、すべてのメッセージのキューを維持し、1 秒より古い最も新しいメッセージを検索し、インデックスからカウントを推測することを考えました。ただし、これは遅すぎるようで、多くのメモリを消費します。
これらの値をリアルタイムで効率的に取得できるように、プログラムでこれらのカウントを追跡するにはどうすればよいですか?
android - FPSが一定のAndroidゲーム?
一定の FPS でゲーム ループを実装しています。25~30FPSで十分だと思います。あなた自身の経験からのアイデアはありますか?FPS をまったく制限する必要がありますか?
c# - .NET でのメソッドとスレッドのタイミング
アプリには 2 つのスレッドがあります。メインの UI スレッドと、wm_WiiMoteChanged イベント ハンドラー (バックグラウンド スレッド) によって開始される別のスレッドです。メインスレッドでは、いくつかのビデオ処理を行います。以下に示す関数がありprocessFrame
ます。そのコードを使用して、各フレームの処理時間を測定し、1 秒あたりのフレーム数を測定します。
行をコメント アウトするwm.WiiMoteChanged ...
と (以下を参照)、フレーム レートは約 15 ~ 20 fps であり、ビデオを見ると、これは正しいように見えます (わずかなラグがあります)。
しかし、この行のコメントを外す、つまりイベント ハンドラーを追加すると (それ自体でスレッドが生成されます)、fps は 40 ~ 50 まで上がりますが、これは間違いなく間違っています。
なぜこれが起こるのか誰かが私に説明できますか? ありがとう。
より多くのコード:
編集
この行が wm_WiimoteChanged に存在する場合にのみ、これが発生します。
ibxOutput.Image = new Image<Bgr, Byte>(_irViewAreaBitmap);
補足:この行も遅延が大きくなる原因です。これを設定する前に行われた処理は、実際には高速です!