問題タブ [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 に答える
1690 参照

java - Java SWT GC、ダブルバッファリングイメージを強制的にフラッシュする方法は?

次のコードがあります。

...下の命令を実行した後:shellGC.drawImage(offScreenImage, 0, 0);shellGCコンポーネントに画像が表示される場合と、表示されない場合があります。たとえばデバッグモードのときなど、プログラムの実行を「遅く」したときにのみ表示されます。しかし、高速で実行すると、表示されません。強制的に表示したり、フラッシュしたり、名前を付けたりしたいのですが、可能ですか?

私が達成したいのは、フレームベースのアニメーションを実装することですが、ダブルバッファで再生したり、停止したり、一時停止した特定の単一フレームのみを表示したりできることを明確にしましょう...

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

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

java - Javaダブルバッファリング-描画される他のすべてのフレームのみ

フルスクリーンアプリケーションを開発しようとしていますが、ダブルバッファに問題があります。

ひらめきがひどく見えます。テキストは他のすべてのバッファにのみ描画され、残りのバッファには白い背景が含まれているようです。何が問題なのですか?

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

delphi - ダブルバッファリング フォームにより、テキスト ボックスの隅に黒い点が発生する

フォームにいくつかのテキスト ボックスがあり、フォームのDoubleBufferedプロパティを に設定すると、フォームTrueのテキスト ボックスの各コーナーに黒い点が表示されます。親フォームを除い たテキスト ボックスの角は次のようになります。DoubleBuffered

ここに画像の説明を入力

そして、これは彼らがどのように見えるかです DoubleBuffered:

ここに画像の説明を入力

テキストボックス自体に設定しようとDoubleBufferedFalseましたが、まったく役に立ちません。この煩わしさを解消するにはどうすればよいですか?

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

c# - C#LineShapeフリッカー

MicrosoftVisualBasicPowerpacksキットの一部であるLineShapeを使用してグラフ上に線を描画しています。線をクリックしてドラッグできるようにする必要があります。私は現在それを行うことができますが、線をドラッグしている間、それは本当にひどくちらつきます。ドラッグ中に端点の位置を変更するだけでよいので、チャートに線のグラフィックを描くよりもLineShapeを使用する方が簡単だと思いましたが、このちらつきは本当にひどく、私のアプリケーションには受け入れられません。

LineShapesやその他のPowerpackシェイプを、ちらつきなしに移動する方法を知っている人はいますか?

PS DoubleBufferedは、使用しているフォームでtrueに設定されています。

ありがとう!

アップデート

この問題の解決策はどこにも見つからなかったので、クラス全体をやり直してチャートのPostPaintイベントで線を描画し、線を移動したいときはいつでも再描画することになりました。今ではちらつきはありませんが、この「ツール」がそのような明白なアプリケーションで機能しなかったことに非常に失望しました。

応答してくれたハンスにもう一度感謝します。

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

java - ここで getSize() が機能しないのはなぜですか? また、サイズ変更時にちらつくのはなぜですか?

これは私の最初の試みでBufferStrategyあり、ヒントをいただければ幸いです。

getSize()1) 以下のコードで、ウィンドウのサイズを変更するまで寸法 0 を返すのはなぜですか? ウィンドウのサイズをすぐに検出するにはどうすればよいですか?

2)getSize()ウィンドウのフルサイズではない何かを返すのはなぜですか? IE の下と右に黒い帯があるのはなぜですか?

3) ウィンドウのサイズを変更したときにちらつきをなくす方法はありますか?

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

c# - C# をバッファーに描画を最適化する

私の大学のプロジェクト用に、C# でフォトショップのようなアプリケーションを作成しようとしています。これまでのところ、キャンバスと呼ばれるカスタム パネルを作成し、ペイント メソッドをオーバーロードして canvasBuffer を描画しました。プロジェクトはペイントシャープと呼ばれます。画像のさまざまなレイヤーを格納するクラス PaintSharpFile があります。Canvas コントロールで、チェックした透明な背景を描画し、次にペイント シャープ ファイルのレイヤーを canvasBuffer に描画します。最後にこのバッファをペイントします(ダブルバッファリング)。

現在、ブラシツールのコードを書いています。前のポイントと現在のポイントを記録し、canvasBuffer 自体で Bresenham のライン アルゴリズムを使用して、これら 2 つのポイントの間に一連の円を描画します。これは速くてうまくいくようです。

ブラシツールは選択したアクティブレイヤーで動作するので、レイヤーのバッファーにポイントを描画してみました。次に、すべてのレイヤーのバッファー canvasBuffer を描画しました。これを行うと、描画が非常に遅くなります。

これがコードです

そして、これが私のonPaintコードです

バッファへの画像の描画は次のとおりです

塗装がはがれないようにする方法を教えてください。

それぞれレイヤー画像でいくつかのキャンバスを作成しようとしました。ただし、ダブルバッファリングされていないため、ちらつきが発生します。

0 投票する
4 に答える
34136 参照

java - ゲームのJavaでどのようにダブルバッファリングしますか?

そのため、私が取り組んでいるゲームでは、ビー玉をマウスに追従させていますが、これを行うと画面がちらつきます。

背景には 2 つの jpeg と 9 つの四角形が含まれています。これをダブルバッファリングするにはどうすればよいですか?メインウィンドウのコードは次のとおりです。

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

c++ - ダブルバッファリングなしのWM_EX_COMPOSITED

Win32アプリケーションでダブルバッファリングを実装しようとしているので、ウィンドウのコントロールを一番後ろのコントロールから一番前のコントロールにペイントする必要があります。私が理解しているように、WM_EX_COMPOSITEDこれは実行しますが、それ自体がダブルバッファリングも実行します1WS_EX_COMPOSITEDダブルバッファリングを使用せずに、ウィンドウを下から上にペイントするにはどうすればよいですか?


WM_EX_COMPOSITED手動でより良い仕事をすることができ、DWMなどでちらつきがないと思うので、ダブルバッファリングには使用していません。

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

java - Java ダブル バッファリング -- バックイメージへのアクセス

BufferedImageと組み合わせてリアルタイムで画像効果 (ぼかし、変形など) を実行する Java ゲームを作成しようとしていBufferStrategyます。これを行うには、から取得したグラフィックス オブジェクトだけでなく、実際の backimage にアクセス (およびその上で効果を実行) できるようにしたいと考えていますstrategy.getDrawGraphics()。オンラインソースを検索した後awt、その画像が実際にどこにあるか、またはその画像にアクセスする方法を見つけることができませんでした. 誰か知っていますか?自分の bufferedimage を使用してそれに描画し、それを backimage にブリットする必要がありGraphicsますか?

ありがとう!

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

c++ - WS_EX_COMPOSITED を正しく処理するには?

誰かが WS_EX_COMPOSITED によって引き起こされたバグを処理する WndProc を作成する方法を説明できますか (一部のコントロールでは、バグは無限の WM_PAINT です)。

私が WS_EX_COMPOSITED に使用するのは、アプリ ウィンドウが非表示になってスクリーンショットを撮れるようにするためです (WS_EX_COMPOSITED が設定されていない場合、PrintWindow は失敗します)。スクリーンショットは取得されますが、CPU 使用率は常に 99% です。

Google から見つけた情報は次のとおりです。 ATL CWindowImpl で WM_PAINT ループを終了しない http://forums.codeguru.com/showthread.php?t=483719

しかし、あまり明るくはありません... WndProcに追加した唯一の変更は次のとおりです。

CPU 使用率は低下しますが、すべてのコントロールが正しく描画されません。