問題タブ [doublebuffered]

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 投票する
1 に答える
412 参照

java - Swing で Double Buffer を使用すると NullPointerException が発生する

次のコードでは、私のこの質問で提案されているように、画像のちらつきを避けるために doubleBuffer を使用しています

問題は、この行で nullPointerException を取得していることです

これを行う際の私のアプローチは正しいですか?助けてください。ありがとう

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

c#-4.0 - ダブルバッファリングが WS_EX_COMPOSITED でアクティブ化されている場合、100% の CPU 負荷

アプリケーションがちらつくのを防ぐために、すべてのコントロールとサブコントロールに対して DoubleBuffering を有効にしようとしました。

これを実現するために、メインフォームに次のコードスニペットを追加しました。

問題は、WindowsXP では CPU 負荷がほぼ 100% になり、維持されることです。Windows7では問題ありません。

この質問とまったく同じ問題であるため、私を探します。C# に「簡単な」ソリューションはありますか? または別の方法で尋ねます -> 通常、この動作の原因は何ですか? したがって、アプリケーションの問題を見つけることができます。

更新:たぶん、皆さんが私を助けるのに役立つ情報がいくつかあります. 私がやろうとしているのは、メインフォームの上に半透明のフォームをプログレスバーで表示することです。この「progressBarForm」は、このプログレスバーを実行するための 2 番目のスレッドにあります。Win7 では、上記の WinXP (.net4、有効化されたデスクトップテーマ) で述べたように、プログレスバーが一度表示された後、100% の CPU 負荷があり、すべて正常に動作します。プログレスバーによって行われたCPU負荷。どこで何をもう一度確認すればよいですか?いくつかのアイデア?

ところで:メインスレッドでフォームを表示し、何も更新しない場合、結果(CPU負荷が高い)は同じであるため、スレッドに問題はないと思います...

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

java - Javaでのダブルバッファリングの実装

単純なJavaJFrameキャンバスがあります。画面に表示されているものを0.5秒ごとに更新していますが、ちらつきがあります。ちらつきをなくすためにダブルバッファリングを実装したいのですが、私はJavaにかなり慣れておらず、その方法に慣れていません。私はいくつかの例を見つけましたが、それらのメソッドを私のものに実装する方法がわかりません。

以下は、私が今どのように物事を持っているかの基本的なセットアップです。これは私の正確なコードではなく、基本的なセットアップの単なる例です。

正しい方向に進んでくれてありがとう!

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

opengl - ダブルバッファリングが機能しないOpenGL

ダブルバッファにしたかったのですが、まだちらつきがあります。これは基本的にOpenNIUserTrackerサンプルの修正バージョンであり、私のコンピューターで正常に動作しますが、重要なOpenGLコマンドを削除したり、大幅に変更したりして、動作が異なるとは思いません。コンピューターでUbuntu10.04を実行しています。

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

winapi - WM_ERASEBKGNDを抑制する正しい方法は何ですか?

ダブルバッファリングを使用する必要がある場合は、WM_ERASEBKGNDメッセージを抑制する必要があります。

WM_ERASEBKGNDすぐに対応して返却できます。しかし、WNDCLASS/WNDCLASSEXをに設定してメッセージを処理hbrBackgroundNULLないことはできますか?WM_ERASEBKGNDこれは正しい方法ですか?

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

c# - 移動中に、pictureBox の画像が末尾にならないようにするにはどうすればよいですか?

こんにちは、stackoverflow コミュニティです。すでに同様の質問を探してみましたが、ちらつきに関する質問しか見つかりませんでした。これは、私が抱えている問題とは異なります。

PictureBoxパネル上で es を移動するたびに es が末尾にならないようにするための助けが必要です。私が作成しているアプリケーションは、MS ペイントに似ています。をクリックするPictureBoxと、次を使用してクリックしてドラッグできます。

クリックしなかった他のpictureBoxesは、次を使用してDoubleBufferedパネルにペイントされます。

何らかの理由PictureBoxで背景画像をドラッグすると、ペイントされたパネル全体にドラッグされます。

奇妙なことに、これは Paint イベントでのみ発生します。パネルの背景画像を何かにすると動きPictureBoxが鈍くなります。Imageパネルに s をペイントしているときにのみ発生します。

ここに例がありますここに画像の説明を入力

助けていただければ幸いです、ありがとう。

分かりやすいようにコードを簡略化しました。 (トレーリング効果は引き続き発生します)

そして、この doubleBuffered パネル クラスを使用します

今、私のコードは 3PictureBoxと 1DoubleBufferedパネルを呼び出します。

フォームが最大化され、Panel1.size = (2000, 1200);それぞれの背景画像がランダムな大きな詳細画像にPictureBox size = (700, 700)設定されます。PictureBox動くと引きずり効果が発生し、pictureBox1毎回再現できます。

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

performance - doublebufferd キャンバスを使用した単純なアニメーションが滑らかでない

ダブルバッファを使用してアニメーションを描画する単純なフラッシュ ゲームを開発しようとしています。

Event.ENTER_FRAME が発生すると、再描画が行われます。

ダブルバッファリングに使用されるバックバッファのタイプは BitmapData です。

アニメーションは非常に単純です。20x20 ピクセルのビットマップをバックバッファーに描画し、x 座標を増やして、キャンバスの左側から右側にスムーズに移動するようにします。これは基本的には問題なく機能しますが、よく見ると、この動きに大きな混乱が見られます。フレームレートは常に 60 を超えているため、これはフレーム レートとは関係がないようです。スムーズな動きの中断はアニメーションには受け入れられませんが、ダブルバッファリングに問題はないと確信しています。これはフラッシュプレーヤーの問題か何かではないかと心配しています...そうでなければ非常に安心します

簡単なアニメーションを示す swf を見てください。

https://dl.dropbox.com/u/55967135/test.swf

(ちなみに、動きが2つのフレーム間の時間に基づいている場合、アニメーションの中断も消えません。現在では、フレームごとに一定の2ピクセルです。)

上記の swf のソースコード全体を含む非常に軽量なフラッシュ ビルダー プロジェクトをアップロードしました: https://dl.dropbox.com/u/55967135/test.zip

enterFrame() は、ダブルバッファリングを処理するクラス GraphicsController のメソッドです。アプリケーションの enterFrame(event) メソッドによって起動されます。

助けていただければ幸いです

ありがとうございました

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

opengl - 60 fps を超える場合の OpenGL ダブル バッファリング

ダブルバッファリングを使用する OpenGL アプリケーションは、どのようにして 60 fps (ディスプレイのリフレッシュ制限) を超えますか?
ドライバの実装、つまり、ダブル バッファリングまたはトリプル バッファリングのどちらを使用するかによって異なりますか?

次のアプリケーションのメイン ループを検討します。

ループの 2 番目のステートメントは、display vsync との複雑な同期を使用せず、画像を表示するときにテアリングしたくない場合に必須です。このようなループでは、私の fps はドライバーの実装と相関しています。ダブル バッファリングではパイプラインがストールし、約 60 fps をアーカイブしますが、トリプル バッファリングではストールは発生せず、fps はビデオカードのスループットのみに依存します。したがって、高 fps の opengl アプリケーションをアーカイブする必要がある場合は、アプリケーション内にトリプル バッファリングを実装する必要があります。私は正しいですか?

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

c++ - 複数のモニターでダブルバッファーペイントを作成できないようです

複数のモニターで動作するように、C++とWinAPIで記述されたWindowsスクリーンセーバーを作り直そうとしています。私は基本を与えるこの記事を見つけました。しかし、それを自分のコードに実装すると、奇妙な結果が得られます。このコードを見てください:

ペイントは常にプライマリモニターで機能します。ただし、セカンダリモニターにペイントする場合、DCに直接ペイントすることしかできません。ダブルバッファリング手法(DIRECT_PAINTプリプロセッサディレクティブがコメントアウトされている)を使用すると、セカンダリモニターが赤であるはずのときに、黒の画面しか表示されません。

ここに2つのスクリーンショットを添付します。

動作する直接ペイントを使用した最初のもの: ここに画像の説明を入力してください

そして、失敗するダブルバッファリングのあるもの: ここに画像の説明を入力してください

私がここで間違っていることは何ですか?

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

three.js - collada モデルとメッシュのちらつき

私は three.js の初心者なので、助けが必要です。

//ロードエリア

classes[0].value --- 領域(約350K頂点)です
classes[0].models[2].name --- colladaモデルへのリンクです,

three.js にダブルバッファリングを行うためのツールはありますか?
ちらつきを避けるにはどうすればよいですか?

これがスクリーンショットです。ブラウザ Chrome v 22.0.1229.79 m ここに画像の説明を入力