タグ付けされた質問 「performance」

ゲームとそのアーキテクチャの設計と構造におけるいくつかの要因の結果としての、ゲームプレイの実行の品質、効率、および速度。

4
半径内のすべてのエンティティを効率的に継続的に見つける方法は?
非常に多数のエンティティ(ユニット)があります。各ステップで、各ユニットは近くのすべてのユニットの位置を知る必要があります(距離は定数Rより小さい場合)。すべてのユニットは連続的に移動します。これは3Dです。 平均すると、特定の制約を持つ他の特定のユニットの近くに、合計ユニット数の1%が存在します。 ブルートフォースなしでこれを効率的に行うにはどうすればよいですか?

5
Pythonパフォーマンスvsゲームメーカー[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 6年前に閉鎖されました。 私はもともと、PythonとSFMLでゲームを作成することを考えていました。PythonはC ++と比較して遅いことを理解していますが、ゲームメーカーと比較してどうですか? 私が尋ねる主な理由は、最近、コンピューターでかなり悪いフレームレートで実行されたGame Makerゲーム(The Iconoclasts)をプレイしたことです(GMA 950)。Python / SFMLでも同様のパフォーマンスの問題があるのではないかと心配しています。

2
2Dサイドスクローラー用の「最適な」ゲームループ
2Dサイドスクローラーのゲームループの「最適な」(パフォーマンスに関して)レイアウトを記述することは可能ですか?このコンテキストでは、「ゲームループ」はユーザー入力を受け取り、ゲームオブジェクトの状態を更新し、ゲームオブジェクトを描画します。 たとえば、深い継承階層を持つGameObject基本クラスを持つことは、メンテナンスに適しています...次のようなことができます: foreach(GameObject g in gameObjects) g.update(); しかし、このアプローチはパフォーマンスの問題を引き起こす可能性があると思います。 一方、すべてのゲームオブジェクトのデータと機能はグローバルになります。これはメンテナンスの頭痛の種ですが、最適に実行されるゲームループに近いかもしれません。 何かご意見は? 最適なゲームループ構造の実用的なアプリケーションに興味があります。優れたパフォーマンスと引き換えにメンテナンスの頭痛がします。


3
Unity開発でC#とUnityScriptはどのように違いますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 5年前に閉鎖されました。 言語の明らかな違い以外に、Unity3Dでゲームを開発する場合、UnityScriptとC#はどのように異なりますか? 顕著なパフォーマンスの違いはありますか? UnityScriptコードはそのままパッケージ化されていますか?はいの場合、これはゲームのモダビリティに役立ちますか? ある言語用に開発されたライブラリを使用し、他の言語用に開発することは可能ですか? 同じUnityプロジェクトで2つの言語を混在させることはできますか?C#で一部をコーディングし、UnityScriptで他をコーディングしますか?

1
nVidiaのCUDAは、経路探索計算の実行に適していますか?
GPUでパスファインディングを実行する価値があるかどうかを知りたい(nVidiaの 特定の状況で CUDAまたは同等のものする)か、それとも無駄な努力かどうか。私が想像する状況は、ボットのパスを見つける責任があるヘッドレスマルチプレイヤーサーバーです。 ナビゲーションメッシュを使用したA *パスファインディングに特に興味がありますが、GPU実行からより多くの利益を得る別のパスファインディングアルゴリズムがある場合、それを聞きたいです。

4
SVGはWebベースのゲームの実行可能なテクノロジーの選択ですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 4年前に閉鎖されました。 JavascriptのみでWebベースのゲームを行うために利用できるWebテクノロジーについて読み始めましたが、HTML5を使用したSVGについてのフィードバックはどこにもありません。実行可能な選択肢はありますか?Canvas、DOM、CSS Transformationなどのような他のテクニックと比べてパフォーマンスが良いですか?
13 performance  web  svg 

3
小さく高速なオブジェクトの衝突:トンネリングの回避
編集/更新:私の今の最大の質問は、ステップ3の「t = ...」式が良いアイデアか、それを行うより良い方法かということです。他のほとんどの問題は部分的または完全に対処されていますが、この問題に関するコメントや回答はありません。繰り返しになりますが、分析ソリューションがおそらく必要であり、速度と距離が大きすぎ、オブジェクトが小さすぎるため、私が考えることができる反復/再帰ソリューション(コメントで以下にいくつかを提案します)この種の状況をうまく処理する特別な反復/再帰ソリューションであれば、私は間違いなくそれを受け入れます)。これまでのご協力に感謝します。皆さんはすばらしく、あなたの考えと助けに本当に感謝しています! 小さい高速オブジェクト間の衝突を検出しようとしています。これは、比較的低速であっても、トンネリングが非常に簡単に発生する可能性がある状況です。 レイキャスティングは機能しません。これは、1つのオブジェクトと静止した壁の間ではなく、2つの高速オブジェクト間の衝突を検出しているためです。(レイキャスティングを誤解していない限り?)パフォーマンスは非常に重要です。可能な限り、パフォーマンスの大幅な低下を避けたいと思います。機能的で非常に効果的なクアッドツリー(http://en.wikipedia.org/wiki/Quadtree)を既に実装しているので、以下に説明するように変更して使用します。 編集:時間間隔を短くしても機能しません。このソリューションには速度が高すぎます。つまり、トンネリング衝突の大部分を逃しながら、パフォーマンスヒットが大きすぎるということです。(たとえば、時間間隔ごとに数百万単位で測定される速度で移動する約1単位のサイズのオブジェクトがあるかもしれません...) 提案された解決策: ステップ1: 各オブジェクトの動きを囲むボックスを作成し、それらのボックスを四分木に入力して、衝突の可能性のある初期リストを生成します。次の画像を参照してください(この画像は、ある位置から別の位置に移動する円形オブジェクトと、四角形を生成する動きを示しています。四角形は四分木に供給されます)。 ステップ2:(このステップをスキップしたいですか?) 四分木によって生成される可能性のある衝突のリストを調べます。起こりうる各衝突で長方形が交差するかどうかを確認します。その場合は、手順3に進みます。 編集:以下、ショーン・ミドルディッチは、掃引ボリューム/カプセルの交差点の使用を提案しました(オブジェクトが円の場合)。次の3つのオプションがあります。1)ステップ2を完全にスキップします。2)自分のやり方でステップ2を行います。3)ショーンのやり方でやる。ショーンの方法は私のボックスのアイデアよりも計算コストが高くなりますが、私の方法よりも多くの誤検知を排除し、最終ステップに到達できないようにします。 これらの3つの選択肢のうち、どれが最良であるかについて、経験からだれでも話すことができますか?(この物理エンジンをいくつかの異なる目的に使用するつもりなので、どのソリューションを簡単に測定できる特定のテストケースだけでなく、さまざまな状況で最速で動作する「一般的に最高の」ソリューションを探しています最速です)。 ステップ3: 判別式(つまり、平方根の下の部分)が負または0、衝突なし、正の場合、t =式を使用し、衝突の時間としてt値を使用します(その後、それに応じて位置を簡単に調整できます)。 ..衝突後も両方のオブジェクトが存在し続ける場合)。方程式: t =(-1/2 sqrt((2 a w-2 a x + 2 b y-2 b z-2 c w + 2 c x-2 d y + 2 dz)^ 2-4(w ^ 2- 2 w x + x ^ …

3
3Dモデルの予算。より重要な三角形または頂点の数
3Dゲームのモデルを作成するとき、予算のポリゴン(三角形)または頂点で何を測定する必要がありますか?2つのセット40000キューブで実験を行いました。1つは8つの頂点と12の三角形、もう1つは24の頂点と12の三角形です。すべてUnityで行われ、両方とも手続き的に生成されました。驚いたことに、両方のセットのパフォーマンスはほぼ同じで、両者の違いはわずかでした。 頂点の数を気にせず、三角形の数だけを見る必要があるということですか? 編集:19602の三角形と10000の頂点を持つ平面を作成し、同じ量のティラングルが39204の頂点を持つ別の実験を作成しました。私は両方の4000を生成しました。頂点の数が14 fpsから19 fpsになりました。だから、一般的には少ないほうが良いと思うが、大きな違いがあるだけだ。

1
最適なテクスチャサイズは?
私は最近、プロジェクトにテクスチャパッケージャーを追加しました。これは、次のように、一定量のテクスチャを単一のテクスチャにパックします。 たとえば、これは582x1023ピクセルのサイズです。これらのパックされたテクスチャを追加する目的は明らかにパフォーマンスを向上させることだったので、OpenGL(LWJGLを使用)テクスチャの最適なテクスチャサイズを検索したかったのです。私が見つけたものは、広くサポートされている最大テクスチャサイズはによると、1024×1024であると考えられるということでした。この例のために。明らかに、多くのテクスチャだけがそれよりも大きくなるので、これは奇妙に思えます。ほとんどのグラフィックスカードは、それより大きいテクスチャをサポートしていると確信しています。ほとんどのグラフィックスカードは、たとえば4096x4096のテクスチャ(またはそれよりも大きいかもしれません)を処理できると合理的に期待できますか? 2番目の点に来るには(これがまだ1つの質問としてカウントされることを望みますが、本質的には同じ問題に要約されます):テクスチャのサイズを2の累乗にする必要があります(256x256、512x512、1024x1024、2048x2048、..)次の2の累乗よりも小さいテクスチャをパディングしますか?よると、この質問 2011年から、それは必須ではありませんが、性能や回避マイナーなバグを向上させることができ、この1 2012年からは、あなたは間違いなくパッドのテクスチャをすべきと述べています。ですから、これらの質問は以前に尋ねられたことがわかりますが、答えが変更されたと合理的に日付が付けられており、さらにそれぞれが私の質問に部分的にしか答えていません。他のプロジェクトはどのようにこれを処理しますか? TL; DR:ほとんどのグラフィックカードで処理できるテクスチャサイズはどれくらいですか?最適なテクスチャサイズは何ですか(またはありますか)。テクスチャの幅を次の2の累乗でパディングする必要がありますか?

6
APKを実行するとAndroidのパフォーマンスが低下し、ブラウザで正常に実行されます
Phaserエンジンを使用してHTML5で小さなゲームプロジェクトを作成しました(1.1.5と1.1.6の両方を試しました)。次に、モバイルプラットフォームに移植するために、Windows Phone 8、Android、iOSでPhonegap / Cordovaを使用しました。 私のゲームには、アニメーション化された(ポイントaからポイントbに移動し、同時に回転する)約10個の要素があります。iOSおよびWindows Phone 8では、問題は発生しませんでした。 しかし、Androidでは、パフォーマンスは受け入れられません。一方、デバイスブラウザーを介してゲームを実行すると、遅延なくスムーズに実行されます。しかし、コンパイルされたAPKは非常にぎくしゃくして動作し、要素の動きは非常に遅く、ちらつきます。 マニフェストファイルで、Androidハードウェアアクセラレーションフラグが「true」に設定されていることを確認しました。falseに変更しようとしましたが、パフォーマンスの変化は反映されませんでした。 Samsung S2デバイスのAndroid 4.2でも同じことを確認しましたが、そのパフォーマンスは向上しています。しかし、Asus Nexus Tab 7(Android 4.4を実行している)では非常にぎくしゃくしていますが、OSとデバイスはどちらも最新です。また、Android 4.3(Samsung Galaxy Grand Duos)を実行している別のデバイスで確認しましたが、そのパフォーマンスもまったく良くありません。 私のゲームではWebGLとCanvasの両方のレンダリングを試みました(PhaserエンジンはPixi.jsを使用しますが、WebGLがサポートされていない場合は2dキャンバスにフォールバックします)が、変更はありません。イーゼルjsでも同様です。 他の誰かが同様の問題に直面し、ネイティブのようなパフォーマンスを得る方法を提案できる場合。cocoonjsの例を確認しましたが、滑らかで許容できるように見えますが、そのルートに行くことはできません。

1
Substanceのランタイムテクスチャキャッシングを停止するにはどうすればよいですか?
サブスタンスエンジンを使用したプロシージャルテクスチャは、キャッシュをオフにし、公開された変数を一度に1つずつ変更し、頻繁に変更し、さらに2、3回変更を試みた後でさえ、非常に迅速に更新されるようです。 ただし、基本的には反対です。たとえば、ユニットには、ダメージを受けたときに異なる方法で血液を生成する「血液」変数と、傷やへこみを生成するが治癒しても元に戻らない「戦闘服」変数があります。 そのため、変数がキャッシュされないようにするには、変数をダミー値に設定し、通常に戻してからを呼び出す必要がありますRebuildTexturesImmediately。 実行時にSubstanceに変数をキャッシュしないように指示するにはどうすればよいですか?一度変更すると、テクスチャをすばやく再生成できますか?

1
レンダリング、バッチ、グラフィカルカード、パフォーマンスなどに関する情報+ XNA?
タイトルは少しあいまいですが、私が本当に探しているものを説明するのは難しいですが、ここに行きます。 CPUレンダリングに関しては、パフォーマンスはほとんど推定が容易で簡単ですが、GPUに関しては技術的な背景情報が不足しているため、手がかりがありません。私はXNAを使用しているので、理論がそれに関連していればいいと思います。 私が実際に知りたいのは、特定の描画アクションを行うと、いつどこで何が起こるかということです(CPU / GPU)。バッチとは何ですか?効果、投影などはどのような影響を与えますか?データはグラフィックカードに保持されますか、それともすべてのステップで転送されますか?帯域幅について話すとき、グラフィックカードの内部帯域幅について話していますか、それともCPUからGPUへのパイプラインについて話していますか? 注:描画プロセスがどのように行われるかについての情報を実際に探しているわけではありません。それはGPUのビジネスです。それに先行するすべてのオーバーヘッドに興味があります。 アクションXを実行したときに何が起こっているのかを理解し、それにアーキテクチャとプラクティスを適合させたいと思います。 より良いゲームを書く方法についてより多くの洞察を与える記事(おそらくコード例付き)、情報、リンク、チュートリアルは大歓迎です。ありがとう:)

1
事前に計算された経路探索はまだ関連していますか?
環境 Old Lucas Arts(ScummVM時代)のポイントアンドクリックグラフィックアドベンチャーゲームは、事前に計算された経路探索を使用していました。テクニックの大まかな概要は次のとおりです。 ステップ1 各部屋の床は「ウォークボックス」と呼ばれるものに分割され、ナビゲーションメッシュのノードとほぼ同等でしたが、台形に限定されていました。例えば: ______ _____ _________ _____ \ A | B | C | D \ \_____| | |_______\ |_____| | |_________| ステップ2 オフラインアルゴリズム(ダイクストラやA *など)は、ノードの各ペア間の最短パスを計算し、使用される開始ノードと終了ノードによって各次元でインデックス付けされた2Dマトリックスにパスの最初のステップを格納します。たとえば、上記のウォークボックスを使用します。 ___ ___ ___ ___ | A | B | C | D | <- Start Node ___|___|___|___|___| | A | A | …

3
JavaScriptでマルチプレイヤーを処理する方法は?
私は、モバイルマルチプレイヤーゲームに使用する技術について少し研究しています。 これは現在のところ実験であるため、現時点では、プレーヤーが注意する必要があるのは他のプレーヤーだけです。 これがゲームではなく典型的なWebアプリケーションである場合、常にHTTPリクエストが発生するだけです。しかし、これはゲームであるため、パフォーマンスと精度が問題になります。 ゲームは複数の電話プラットフォームを対象としているため、クライアントはJavaScriptまたはJavaScriptベースのフレームワークで記述されるとしましょう。サーバー技術は完全にオープンです。 各プレーヤーは、HTTPポストと同等のものを作成し、より高速なプロトコルのみを使用する必要があります。マルチプレイヤーがWebベースである理由は、Bluetoothまたは他のローカルネットワークを介したマルチプレイヤーがプラットフォーム間で多様すぎて問題を引き起こす可能性があるためです。 それでは、質問は、JavaScriptマルチプレイヤーに使用するのに適したプロトコル/テクノロジーとは何でしょうか?サーバー側のものに関するアドバイスやそれは重要ですか?この2層アーキテクチャを削除して、電話と電話を直接接続する必要がある理由は何ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.