問題タブ [vsync]

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.

0 投票する
0 に答える
502 参照

opengl - GPUView で vsync 間隔を変更する方法

GPUView で vsync の切り替えをクリックすると、OpenGL アプリが 75 fps の 75 Hz モニターで実行されているにもかかわらず、間隔がデフォルトで 16.6 ms (60 Hz) に設定されているように見えます。GPUView で vsync 間隔を変更するにはどうすればよいですか?

0 投票する
1 に答える
2143 参照

c++ - Xlib アプリで VSYNC を待つ方法は?

XWindow Drawable、Pixmap、および XRender を使用して画面に何かを描画しています。時々ちらつきがあることがわかります。VBLANK を待つ方法はありますか? 私はすでにたくさんのグーグルで、森の中でコインを探しているような気がします.

関係する OpenGL はありません。Linux(Ubuntu)です。(nano)sleep() を使用することもできますが、いつ描画するかを知る必要があります。

0 投票する
1 に答える
962 参照

android - Libgdx デスクトップではなく Android の Vsync を無効にする

こんにちは、ゲームの vsync を無効または有効にしたいのですが、このリンクを見つけました https://github.com/libgdx/libgdx/wiki/Fullscreen-&-vsync

そのため、アプリのデスクトップ バージョンの設定を変更することができました。私の質問は、これを Android で実行したときの状況も変わるのでしょうか? 私が知る限り、それは機能していないようで、構成用のLwjglApplicationConfigurationの代わりにandroidlauncherにはAndroidApplicationConfigurationがあります。

Androidでこれを行う方法はありますか?

0 投票する
1 に答える
1372 参照

linux - Linux + QT での画面のティアリングの回避

私が理解している限り、X11 は画面のティアリングを避けるためのダブル/トリプル バッファ メカニズムをサポートしていません。だから私はopenGLウィジェットを使用しようとしましたが、openGL + raspberry pi + qt4のサポートがまったくないことを理解しました。

私が求めているのは、ビデオカメラからフレームをキャッチし、それらを処理し、画面に表示するという非常に基本的なことだけです。画面のティアリングが悪い。

QT5+WAYLAND+PI が openGL をサポートしていることは知っていますが、これはこの問題を解決するのに役立ちますか? (かなり簡単で、アプリケーションに大きな変更はないということです!!) 他にできることはありますか?行う?(X11 のソースコードを変更する以外に...) :)

0 投票する
0 に答える
239 参照

xcode - NSTimer と V-sync で 60fps 以上を取得する方法

Mac用のopenglアプリでメインループを作成するために、NSTimerを使用しています:

しかし、v-sync を有効にしようとすると:

私のタイマーは自動的に 60fps の速度に切り替わります。描画 (swapbuffer、glFinish など) には適していますが、プログラムの一部のプロセスでは高速が必要です。どうにかしてタイマーの vsync を無視できますか? 2 つのタイマーが必要です。1 つは 60 fps での描画用、もう 1 つは最大 fps のループ用です。出来ますか?

ps DisplayLink - 私にとっては機能しません。

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

0 投票する
2 に答える
2010 参照

android - デバイスが静止しているときに触れたときの Android アニメーションのパフォーマンス低下

私のアプリは、フレームごとにいくつかの非常に単純なビュー (回転、平行移動) のプロパティを変更します。Android のパフォーマンスに関する記事でアドバイスされているように、systrace を使用して、フレームがドロップしているかどうかを確認しました。

本当に予想外のことが起きました。デバイスが静止しているとき (画面に触れていても)、CPU 使用率が高くなり、systrace でアラートが発生し、GPU レンダリング プロファイラーの赤い部分が長くなりました。デバイスを非常に速く回転させたり振ったりすると、すべて問題ありませんでした。

以下、結果のリンクです。Shakeデバイスを非常に速く回転させたno_shakeとき、机の上に置いたままにしたときです。

ソース コードという 1 つの翻訳アニメーションを使用する、非常に単純なテスト アプリを作成しました。

Systrace:揺れない揺れる

CPU使用率: ここに画像の説明を入力

GPU プロファイラー: ここに画像の説明を入力

フレームレートがスムーズなシェイク systrace を見ると、HW_VSYNC_0 および HW_VSYNC_ON_0 ラインにデータがないのはなぜですか? CPU 周波数を読み取るにはどうすればよいですか (トレースをキャプチャするときにオプションを有効にしました)。

この問題に関して、私の理論では、デバイスが CPU 周波数を下げている可能性があります。systrace でこれを読み取るにはどうすればよいですか? この仮説をテストするためにサードパーティのアプリを使用しましたが、以下に示すように真実です。では、この問題を回避するにはどうすればよいでしょうか。

ここに画像の説明を入力

デバイスがこれを行う理由は何ですか? 最初は、デバイスが加速度計のデータを使用して使用されていないかどうかを理解し、CPU 周波数を下げたと思いました。しかし、CPU 周波数を上げるには、デバイスを激しく振る必要があります。通常の人のようにそれを保持しても、CPU 周波数は増加しません。

たくさんの質問があることは承知していますが、Android グラフィックス パイプラインに関する関連記事をすべて読んだので、アイデアがありません。

この問題は、Android 5.1 を実行している Sony Xperia Z3 で発生しました。この問題は、Android 6 を実行している Nexus 5 では再現できませんでした。

アップデート

パフォーマンスの問題は、CPU/GPU スロットリングが原因のようです。同じデバイスの Xperia Z3 で Android 4.4 を実行すると、クロック速度は低下しますが、Systrace によるとパフォーマンスが向上します。また、振っても速度が上がりません。

CPU 速度を上げるために必要なシェイク ジェスチャに関しては、デバイスを縦向きから横向きに、またはその逆に回転させようとすると、(アプリの向きが変わらなくても) CPU クロックが増加することに気付きました。したがって、このジェスチャーが監視される理由は、考えられる向きの変更を高速化するためだと思います。

0 投票する
2 に答える
1073 参照

windows - wgext - 拡張機能が OpenGL コンテキストにインストールされていない

wglSwapIntervalEXT(int interval) を使用して WGL_EXT_swap_control で OpenGl の vsync を無効にしようとしています。

wgext ヘッダーを含めようとしていますが、よく検索した結果、PC にインストールされていないようです (opengl 拡張ビューアーを使用してこれを見つけます)。Windows SDK をインストールして .net フレームワークを更新しようとしましたが、まだこの拡張機能をインストールできません。

とにかくこれを含めることはありますか。私のグラフィックカードは nVidia GTX 770m です。または、vsync を無効にする簡単な方法はありますか。

ありがとう