問題タブ [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.
xna - XNAでFPSを正しく計算する方法は?
現在のFPSを表示するコンポーネントを作成しました。
その最も重要な部分は次のとおりです。
ほとんどの場合は問題なく動作しますが、最近問題が発生しました。
次のコードをゲームのUpdateメソッドに入れると、奇妙なことが起こり始めます。
このコードの主なアイデアは、常に異なるスレッドでpathFindingアルゴリズムを実行することです。
奇妙なことに、FPSが大幅に低下することがあることは明らかですが、表示されるFPSは1秒に1回よりも頻繁に変化します。このコードを理解していれば、FPSは1秒に1回以上頻繁に変更することはできません。
誰かが私に何が起こっているのか説明できますか?
2010年3月26日編集
Drawメソッドのコードも掲載しました。
2010年3月31日編集Venesectrixの質問への回答
1)固定または可変の時間ステップで実行していますか?
IsFixedTimeStepおよびSynchronizeWithVerticalRetraceがtrueに設定されています。
2)これが発生したときにXNAウィンドウを移動していましたか?
いいえ
3)XNAウィンドウにフォーカスがありましたか?
はい
4)それはどれほど目立ちましたか(つまり、更新が速すぎて読めない、または更新が1秒以上かろうじて)?
私は更新を読むことができました、FPSは1秒間に約3回更新していました。
5)そして、これはすべて、そこにあるスレッドコードでのみ発生しますか?
はい
actionscript-3 - FPS をプログラムするのではなく、システム時間でアニメーションの速度を決定する
ActionScript 3 でカード ゲームを作成しています。各カードは、Flash CS4 からエクスポートされたムービークリップを拡張するクラスのインスタンスによって表されます。このムービークリップには、カード グラフィックとフリップ アニメーションが含まれています。カードを裏返したいときは、このムービークリップで gotoAndPlay を呼び出します。
フレーム レートが遅くなると、すべてのアニメーションの終了に時間がかかります。Flash はデフォルトで、クリップ内のすべてのフレームが確実に描画されるようにムービークリップをアニメーション化するようです。そのため、プログラムのフレーム レートがクリップのフレーム レートを下回ると、アニメーションはより遅いペースで再生されます。
アニメーションを常に同じ速度で再生し、その結果、常に同じ時間画面に表示したいと考えています。フレーム レートが遅すぎてすべてのフレームを表示できない場合、フレームはドロップされます。この方法で Flash にアニメートするように指示することはできますか? そうでない場合、この動作を自分でプログラムする最も簡単な方法は何ですか?
python - Python + Pygameでフレームレート(fps)を上げる方法は?
私は、Bejeweledと10 Days地理ボードゲームのクロスとして想像している、カードを交換する小さな世界旅行ゲームに取り組んでいます。これまでのところ、コーディングは問題なく進んでいますが、フレームレートはかなり悪いです...現在、Core2Duoでは20代が低くなっています。これは、Intelの3月の開発者競争のためにゲームを作成しているので問題です。これは、パワー不足のAtomプロセッサを詰め込んだネットブックを真っ向から狙っています。
これがゲームの画面です:
(出典:necessarygames.com)
私はPythonとPygameに非常に慣れていません(これは私が最初に使用したものです)、そして悲しいことに正式なCSトレーニングが不足しています...つまり、おそらく多くの悪い習慣が起こっていると思います私のコードでは、最適化できる多くのことがあります。古いPythonの手が私のコードを見て、最適化のための明白な領域が見つからないかどうかを気にしないのであれば、私は非常に感謝しています。
ここから完全なソースコードをダウンロードできます(Python 2.6 + Pygame 1.9): http: //www.necessarygames.com/my_games/betraveled/betraveled_src0328.zip
ここでコンパイルされたexeファイル:www.necessarygames.com/my_games/betraveled/betraveled_src0328.zip
私が心配していることの1つは、イベントマネージャーです。これには、パフォーマンス全体が含まれている可能性があります。もう1つは、レンダリングです。私は、常にすべてを画面に表示しているだけです(レンダリングルーチンを参照してください)。以下の私のgame_components.pyで); 最近、変更された画面の領域のみを更新する必要があることがわかりましたが、それがどのように正確に達成されたかについてはまだ霧がかかっています...これは大きなパフォーマンスの問題である可能性がありますか?
どんな考えでも大歓迎です!いつものように、PayPal経由であなたの時間とエネルギーを「チップ」して喜んでいます。
ジョーダン
編集:
以下のアドバイスのおかげで、コードでcprofileを実行しました。誰かがこの出力を見て、何が期待され、何が期待されないかを私に知らせてくれるなら、それは素晴らしいことです。
p.strip_dirs()。sort_stats('cumulative')。print_stats()の出力は次のとおりです。
p.strip_dirs()。sort_stats('time')。print_stats()の出力は次のとおりです。
ソースの一部を次に示します。
Main.py
event_manager.py
Rooms.py
sdl - SDL で一定のフレーム レートを実現する
一定のフレーム レートで実行される SDL プログラムを作成しようとしています。ただし、プログラムが大幅に遅れており、多くのフレームをスキップしている場合でも (低いフレームで実行されており、あまりレンダリングされていない場合でも)、私はそれを見つけています。
私のプログラムをよりスムーズに実行するための提案はありますか?
iphone - OpenGL ES インストゥルメントの精度
iPhone向けのゲームを開発しています。30FPS で十分だと判断したので、アプリが 1/30 秒ごとにレンダリング バッファを提示できるようにするコードをいくつか書きました。これを Instruments で検証しようとすると、さまざまな情報が得られました。
iPod Touch (2009 年版、32G) では、Core Animation Frames Per Second が 30 FPS と報告されます。
iPhone 3G では、非常にさまざまな結果が得られます。30 FPS 未満というわけではありません。定期的に 30 FPS を超えています。実際には 36 ~ 39 に近い値にぶら下がっているようです。
この異常を調査するために、独自の FPS をアプリに追加し、毎秒 1 回更新しました。両方のデバイスで 29 FPS を維持しています。
それで、何が起こっているのかについて何か提案はありますか?私はインスツルメンツが正確であることを期待しているので、それが不正確に見えることは本当に心配です. どこかにバグがあると思いますが、見つけられません。
iphone - 古いiPhone/iPodのフレームレート?
古いiPodやiPhoneのフレームレートは60fpsですか?iPhoneで時間間隔を計算するためのすべての方法(cftimeinterval、nstimer、timesince1970など)がすべて悪いデータを提供していることがわかったので、フレームレートを60と想定することにしましたが、古いAppleデバイスで可能かどうかはわかりませんこれで実行します。
java - Java を Python に変換 -- PEM 証明書ファイルで文字列に署名
次の Java を Python に相当するものに翻訳しようとしています。
これは、AWS FPS で使用される PKI 署名検証用です。http://docs.amazonwebservices.com/AmazonFPS/latest/FPSAccountManagementGuide/VerifyingSignature.html
ご協力いただきありがとうございます!
actionscript-3 - Flash ActionScript アニメーションに 72 FPS を使用しても安全ですか?
私は Flash ActionScript を使用したジェネレーティブ アート アニメーションに取り組んでおり、72 FPS のフレーム レートでは 30 FPS 以下のレートよりもはるかに滑らかに表示されます。
Intel Pentium E2200 Dual CPU @ 2.20 Ghz では、Flash Player は 72 FPS でのアニメーション中に 9% 以上をほとんど使用しません。アニメーションは非常に短い時間 (それぞれ 10 秒未満) 実行することを意図しています。
このフレームレートを使用しても安全ですか?
opengl - 位置とオイラー角からルックアット ベクトルを計算する
位置ベクトルとオイラー角のピッチとヨー (x と y 回転) で構成されるカメラを使用して、FPS スタイルのカメラを実装しました。射影行列を設定した後、回転させてカメラ座標に変換し、次にカメラ位置の逆に変換します。
これで、それぞれ独自のカメラを備えたいくつかのビューポートがセットアップされました。すべてのカメラから、他のカメラの位置を (単純なボックスとして) レンダリングします。これらのカメラのビュー ベクトルも描画したいと思いますが、位置とオイラー角からルックアット ベクトルを計算する方法がわかりません。元のカメラ ベクトル (0, 0, -1) にカメラの回転を表す行列を乗算してから、変換されたベクトルにカメラの位置を追加しようとしましたが、まったく機能しません (ほとんどの場合、私がベースから離れた方法):
私が望むのは、カメラから視線方向に向かって線分を描くことです。この例をあちこち探しましたが、何も見つからないようです。
どうもありがとう!
client-server - FPSマルチプレイヤーゲームのサーバーがクライアントを更新するための一般的な戦略は何ですか?
友人と私は、FPSサーバーが接続されているクライアントを更新する方法について話し合っていました。バトルフィールドバッドカンパニー2で浮気をしている男のビデオを見て、画面上の敵の位置がどのように強調されているかを見て、考えさせられました。
彼の主張は、サーバーはクライアントに直接関連する情報でのみクライアントを更新するというものでした。つまり、サーバーは、敵のプレーヤーがクライアントから離れすぎている場合、または効率上の理由でクライアントの視界から外れている場合、敵のプレーヤーに関する情報を送信しません。しかし、彼は確信が持てませんでした。彼は、誰かが岩の後ろに隠れていて、誰も見ることができないという例を挙げました。プレーヤーが視線に3人のプレーヤーがいる場所で突然ポップアップした場合、サーバーが必要な情報を送信している間、プレーヤーが画面に表示されるまでに50ミリ秒の遅延が発生します。
私の主張は反対でした。サーバーがクライアントにすべてのプレーヤーに関するすべての情報を送信し、クライアントに許可されているものと許可されていないものを分類させるというものでした。サーバーがすべてをクライアントに送信し、いわばクライアントに手間のかかる作業を行わせる方が、実際には計算コストが低くなると思いました。また、これがチートプログラムの仕組みであると考えました。サーバーパケットを傍受し、敵の位置を取得して、クライアントのビューに表示します。
だから質問:現代のファーストパーソンシューティングサーバーがクライアントを最新の状態に保つために採用している一般的なポリシーや戦略は何ですか?