3

Qt 5.1 の Qt Quick 2 について勉強しています。カッコイイです。ただし、Scene Graph 機能についてはわかりません。Flickable を作成し、そこに大量の画像を配置し、これを EGLFS バックエンドを備えた組み込みデバイスの QQuickView に表示する場合、シーン グラフを使用していますか?

はいの場合、ティアリングが表示されるのはなぜですか? シーン グラフは VSynced にする必要がありますか?

そうでない場合 - Flickable で使用するにはどうすればよいですか? それとも、すべてをゼロから実装する必要があるということですか?

私のアプリは基本的に、無限に生成された画像を閲覧できます。

4

1 に答える 1

3

QtQuick2 は、シーン グラフを唯一のバックエンドとして持っています。そうです、あなたはそれを使用しています。それが vsync されるかどうかは別の話です。シーン グラフがレンダー スレッドを使用しているかどうか、およびドライバーの品質 (つまり、スワップ バッファーが vsync を待機するかどうか) に大きく依存します。あなたが試すことができます

  1. 環境変数QSG_RENDER_TIMINGをゼロ以外の値に設定してアプリを実行します。これにより、アプリケーションのフレーム統計が出力されます。(詳細については、こちらを参照してください。) フレームの長さが vsync 間隔の正確な倍数でない場合は、vsync がありません。

  2. 環境変数QT_QPA_EGLFS_FORCEVSYNCでアプリを実行するには、ioctl を使用FBIO_WAITFORVSYNCして vsync との同期を試みます。

于 2013-07-30T19:51:21.737 に答える