問題タブ [flicker]
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.
jquery - すべてのブラウザのslideUp()でjQueryがちらつく...サンプルページが添付されています
これは何度か議論されていることは知っていますが、少し違う問題があります。.slideUp()が呼び出され、ブラウザの風が下にスクロールされてすべての下部のコンテンツが表示されると、divがスライドして閉じられるときに何度も点滅します。
以下のページの例です。表示されている場所をクリックしてから、一番下までスライドして、上のdivの1つを閉じます。
jquery - JQueryでちらつき効果の色の変化をアニメーション化する
ある色から別の色に前後に変化させることで、テキストがちらつくようにかなりの時間を費やしました。簡単に聞こえますが、恐ろしく難しいことがわかります。簡単なことは次のようになります。
これをループに入れて、5 回繰り返します。まあ、Jquery color プラグインがインストールされていても機能しません (ブラウザがエラーを報告するのを止めますが、コードは機能しません..)。
機能するのはこれです:
つまり、タイマーとして使用する以外は、animate 関数で何もしないでください。その後、要素の css color 値を変更します。それでおしまい。正常に動作します。
ところで、これを行って、色がちらついている間に何か他のことが起こっているのを止めたい場合は、ある種のタイマーまたはフラグを配置する必要があります.色がちらつく。したがって、たとえば、これが点滅しているときにユーザーが別のメニュー選択を選択できないようにする場合は、このアニメーションが完了するまで他の選択を無効にする必要があります。
wpf - Viewport3Dでのアニメーション中にWPFがちらつく
作成しているWPFアプリ内で奇妙な動作が発生しています。カメラの位置(PerspectiveCamera.PositionPropertyのPoint3DAnimation)でアニメーションを実行すると、アプリケーション内で非常にひどいちらつきアーティファクトが発生します。3Dレンダリングされたオブジェクトは、特定のフレームで消えるように見え、ウィンドウの背景が透けて見えるようになります。
私のマシンの問題を示すために、以下に非常に簡単なサンプルアプリケーションを作成しました。使用するには、コンパイルし、上下の矢印キーを使用してズームインおよびズームアウトします。この問題は私のマシンでは非常に再現性があります。ズームインまたはズームアウトしようとするたびに、アニメーション中にオブジェクトがちらつき、アニメーションが完了すると再び「ソリッド」になります。
私はWindows732ビットを実行しており、NVIDIAGeForce8600GTを使用しています。ここにいくつかの興味深い詳細があります:
1)ハードウェアに関連しているようです。私はWPFフォーラムに投稿しましたが、1人のユーザーがすべてがうまくいったと答えました。数人の友人に試してもらいましたが、1人は私が経験したのとまったく同じちらつきを報告し、もう1人はすべてがうまくいったと言いました。
2)NVIDIAコントロールパネルを介して垂直同期を強制し、トリプルバッファリングを有効にしても、問題は解決しません。
3)アニメーションの目的のFPSを下げると、問題が大幅に改善されます。必要なフレームレートが低い場合(たとえば、5FPS)、ちらつきは消えます...しかし、アニメーションはひどく見えます。以下に示すサンプルアプリケーションは、クワッドにマッピングされた単一の画像のみを示しているため、処理能力の問題になるとは思われません。
4)この問題は、表示可能なウィンドウの外側にあるポリゴンの頂点に直接関係しているようです。プログラムのcloseDist値を4に設定すると(「ズームイン」した場合でも、オブジェクトがウィンドウ内に完全に収まるように)、ちらつきはありません。ただし、closeDistを大きくすると、「ズームイン」状態で頂点がウィンドウの外側に出る値に到達するとすぐに、ちらつきが発生します。closeDistを大きくすると、ちらつきが徐々に悪化するように見えます。値が9.8の場合(カメラのNearPlaneDistanceがオブジェクトを完全に切断する直前)、ちらつきは最悪です。
面倒なことはありませんが、ここにサンプルコードがあります!
MainWindow.xaml:
MainWindow.xaml.cs:
iphone - iPhoneOpenGLファーストフレームブラック
私のアプリケーションはopenGLベースであり、ES1.1とES2.0をサポートしています。
私のビューコントローラには、EAGLViewのインスタンスであるビューがあり(Appleのサンプルコードによる)、ES 1.1または2.0のいずれかで異なる「レンダラー」オブジェクトを使用します(Xcodeサンプルを使用したことのある人にとってはほぼ標準です)。
CADisplayLinkを使用して画面を更新します。少なくともiOS4.0以降をターゲットにしているので、問題はないはずです。
起動時に、起動画像(Default.png)が表示された後の最初のフレームが黒く表示されます。間にある1フレームの迷惑な黒いちらつき。
ウィンドウキーと表示を作成する前に、更新/レンダリングサイクルの1ラウンドを「偽造」すると(バックバッファも空にならずにレンダリングされるように)、ちらつきは消えますが、ES2.0を使用している場合のみです。
kEAGLDrawablePropertyRetainedBackingをYESに設定しましたが、どちらの値も違いがないようです。
ES 1.1を使用すると、ちらつきが残ります。唯一の違いは、ウィンドウを表示する前に「更新」を実行すると、glClearColor()で指定した色に画面がちらつくことです。ただし、事前に更新しないと、ちらつきは常に黒になります。
私はCocos2dフォーラムでこの問題について何度も議論を見てきましたが、そこでさえ問題は常に戻ってきて、新しいハックが発生するたびにあなたを噛むようです。
それにもかかわらず、私はプレーンなOpenGL ES( Cocos2dやその他のライブラリではありません)を使用していますが、Webをどのように検索しても、同様の問題を抱えている人を見つけることができません...
ヒントはありますか?
c# - 透明なウィンドウでマスクされていても DataGridView がちらつく
DataGridView コントロールに問題があります。特定の操作中、グリッドは半透明のダイアログで覆われます (ユーザーに操作を示し、ユーザーがボタンを押さないようにするためなど)。この間、グリッドは約 1 Hz で更新されます。Windows XP では、マスキング ダイアログの上で DataGridView コントロールが 1 秒間「ちらつく」ことがあります。また、Windows 7 を実行している私の開発マシンでは、問題が発生しないことにも気付きました。.NET v3.5 を使用しています。どんな助けでも大歓迎です。
scroll - スクロール中に wxListCtrl のちらつきをなくすにはどうすればよいですか?
wxWidgets アプリケーション内で wxListCtrl を使用していますが、項目の大きなリストをすばやくスクロールするときに発生するちらつきを解消できないようです (たとえば、「ページダウン」キーを押したままにします)。リストコントロールは virtual/ として作成されます。レポートのリストで、現在 Win7 でテストしています。
テキスト/境界線が正しく表示されるために必要なため、単純にオーバーライドすることはできませんが、背景のクリアがちらつきを引き起こしているようです。
私が必要としているのは、バックグラウンドがクリアされ、アイテムが(オフスクリーンで)描画されるまで、リストが視覚的に更新されないダブルバッファリングを行う方法だと思います。それとももっと良い方法がありますか?
どうもありがとう...
jquery - Jquery - フォームのリセット後にフィールド値がちらつく
以下でこの機能を実行しています:
私が見ている問題は、この関数が実行された後、フィールド adate の値が少なくとも 10 ~ 15 回ちらつくことです。なぜそれがそれをするのでしょうか?これは前に見たことがない。リセット コマンドの後にフィールドに値を追加すると、そのフィールドの値がちらつきます。ちらつきとは、点滅のように値が非常に速く表示/非表示になることを意味します。これが発生している間に Firefox で Firebug を実行しましたが、追加の呼び出しが行われていることは示されません。助言がありますか?
delphi - TPaintBoxの右端のちらつきをなくす方法(サイズ変更時など)
要約:
TFormと2つのパネルがあるとします。パネルはalTopとalClientに配置されます。alClientパネルにはTPaintBoxが含まれており、そのOnPaintには描画コードが含まれます。
コンポーネントのDoubleBufferedのデフォルト値はfalseです。
描画プロセス中、フォーム、パネルはすべて背景をペイントするため、ちらつきは明らかです。
フォームはパネルで覆われているため、WM_ERASEBKGNDメッセージを傍受することはおそらく問題ありません。そうでない場合は、フォームが背景をペイントするため、フォームのサイズが変更されると、パネルでちらつきが見られ、パネルの右端でちらつきが見られます。
次に、alTopパネルは一部のボタンのコンテナとして使用することを目的としているため、DoubleBufferedをtrueに設定して、Delphiにちらつきがないことを確認するのはおそらく問題ありません。おそらくパフォーマンスの負担はそれほど大きくないでしょう。
第3に、alClientパネルは別の図面コンポーネントのコンテナとしてのみ意図されているため、このパネルは最終的な図面の作成に関与していない可能性があります。この点で、標準のTPanelの代わりにTPanelの子孫を使用するのはおそらく良いことです。このTPanelの子孫では、保護されたプロシージャPaintをオーバーライドし、プロシージャ内では何もしません。特に、基本クラスTCustomPanel.PaintのFillRect呼び出しを回避するために、継承された呼び出しは行いません。さらに、WM_ERASEBKGNDメッセージを傍受し、内部では何もしません。これは、TPanel.ParentBackgroundがFalseの場合、Delphiが背景の再描画を担当し、Trueの場合、ThemeServiceが担当するためです。
最後に、TPaintBoxでちらつきなしでペイントするには、次のようにします。
(1)VCL組み込みの描画ルーチンを使用する場合は、おそらく次の方が適切です...
(2)OpenGLを使用し、OpenGLのダブルバッファを有効にします。
(3)..。
=== Q:TPaintBoxの右端のちらつきをなくす方法は?===
1つのTFormに対して、2つのパネルがあるとします。一番上のものはフォームに対してalTopに配置され、ボタンのコンテナと見なされます。もう1つは、フォームに対してalClientに配置され、描画コンポーネント(VCLのTPaintBoxやGraphics32のTPaintBox32など)のコンテナーと見なされます。後者のパネルでは、そのWM_ERASEBKGNDメッセージが傍受されます。
ここで、次のサンプルコードでTPaintBoxインスタンスを使用します。OnPaintハンドラーでは、ちらつきがないと予想される描画を描画するための2つの選択肢があります。選択肢1は、長方形を埋めた後に描画します。親パネルは背景を消去してはならないため、描画はちらつきがないようにする必要があります。選択肢2はTBitmapに描画し、そのCanvasはペイントボックスにコピーされます。
ただし、両方の選択肢がちらつき、2番目の選択肢が特にちらつきます。私の主な関心事は選択1に関するものです。フォームのサイズを変更すると、ちらつきの主要部分が右端で発生していることがわかります。なぜこれが起こるのですか?誰かが理由と可能な解決策についてコメントするのを手伝ってもらえますか?(ここでTPaintBoxの代わりにTPaintBox32を使用すると、右端がまったくちらつきません。)
私の2番目の懸念は、選択肢1を使用すると、ちらつきのごく一部がペイントボックスでランダムに発生することです。あまり明白ではありませんが、フォームのサイズをすばやく変更すると、それでも観察できます。さらに、選択肢2を使用すると、この種のちらつきはさらに深刻になります。その理由はわかりませんでした。考えられる理由と解決策について誰かがコメントするのを手伝ってもらえますか?
どんな提案でも大歓迎です!!
=== Q:パネルの背景の再描画を正しくインターセプトするにはどうすればよいですか?===
(別の質問でこれを尋ねる必要がある場合は、そのように言ってください。これを削除します。)
新しいVCLアプリケーションを作成し、サンプルコードを貼り付け、FormCreateをアタッチし、デバッグを実行します。フォームの上にマウスを置くと、パネルが背景をはっきりと塗り直していることがわかります。ただし、サンプルコードに示されているように、WM_ERASEBKGNDメッセージをインターセプトすることで、この動作をインターセプトする必要があります。
この3行をコメントアウトすると、
次に、WM_ERASEBKGNDメッセージをキャプチャできます。この違いについてはわかりません。
この動作の理由と、WM_ERASEBKGNDメッセージを正しくインターセプトする方法(ParentBackground:= Falseの場合)についてコメントするのに役立つ人がいますか?
opencv - OpenCVを使用したちらつきの除去?
私はopenCVの初心者です。私はopencvライブラリをubuntuシステムにインストールし、それをコンパイルして、opencvのいくつかの画像/ビデオ処理アプリを調べて詳細を理解しようとしました。
OpenCVライブラリにキャプチャされたビデオのちらつきを除去するためのアルゴリズム/クラスがあるかどうか知りたいですか?はいの場合、どのドキュメントまたはコードを詳しく調べる必要がありますか?
openCVにそれがない場合、ビデオシーケンスからフリッカーを除去するためのアルゴリズムを提供する他のビデオ処理ライブラリ/ SDK / Matlab、..に標準の実装はありますか?
任意のポインタが役立ちます
ありがとうございました。
-広告。
c++ - フォーム上の ActiveX ビデオ コントロールのサイズを変更すると、C++ で不要なちらつきが発生します (ダブルバッファリングを使用している場合でも)
C++. Borland Developer Studio フレーバーですが、それがここに関連しているかどうかはわかりません。
カメラからのビデオを表示する ActiveX コントロール (Axis Communications 製) があります。通常の操作では問題なく機能しますが、問題を引き起こしている少し調整したいと思います。
プログラムでコンポーネントをフォーム (x、y 座標のみ) で移動すると、すべて問題ありません。ビデオの四角形は、ちらつきもなくスムーズに移動します。
ただし、コンポーネントのサイズを変更すると (コードで)、下端と右端がちらつきます。ちらつきとは、これらのエッジに白い境界線が発生し、それが大きくなり、実際の画像がちらつくことを意味します。
DoubleBuffering を試しましたが、解決しません。
これは ActiveX の問題ですか? または軸コンポーネントの問題の可能性はありますか?
ちらつきなしでサイズ変更を行う方法はありますか?
編集:
さらなるテスト:
これは、コントロールのサイズを変更し、同時にコントロールを移動した場合にのみ発生するように見えますが、これは残念ながら私がやりたいことです(ズームインとズームアウトしています)。
ActiveX コントロールを使用して Visual Basic で簡単なテストを作成したところ、問題なく動作しました。
Borland C++ の正確な (変換された) 同じコードには、ちらつきがあります。
C++ テスト コード (中心点を静的に保ちながら、コンポーネントのサイズを変更するだけです):