問題タブ [visual-artifacts]
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.
iphone - iPhone での UIPickerView の表示バグの原因は何ですか?
UIPickerView を inputView として設定できるように、UITextField をサブクラス化しています。テキスト フィールドがファーストレスポンダになると、キーボードの代わりに UIPickerView が表示されます。
問題は、場合によっては (特にカスタム コンポーネントの幅を設定した場合)、提示されたピッカーに奇妙な表示アーティファクトが表示されることです。添付の写真を参照してください。
この奇妙な表示バグの原因は何ですか?
android - SurfaceViewアーティファクト
私のlayout.xmlは、MediaControllerのように使用するいくつかのTextViewとButtonを備えたFrameLayoutで構成されており、SurfaceViewも含まれています。コードでは、MediaPlayerを作成し、SurfaceViewのSurfaceHolderを次のようにディスプレイとして設定します。
これはビデオを表示するのに最適ですが、私が電話をかけようとすると:
overLayTextViewは引き続き表示されます。overLayTextViewのビューステートを取得しようとしましたが、Goneに設定されています。SurfaceViewは、そのように感じるまで(通常は20秒以上後に発生します)、描画状態を更新しないと思います。だから私の質問は、SurfaceViewまたはSurfaceHolderで、コンテンツの一部を「再描画」する必要があることを通知するために呼び出すことができるものがあるかどうかです。(明らかにビデオではありません)。
google-chrome - SVG を横切って (および上に) div を移動すると、Chrome に垂直線が表示される
SVG要素にカーソルを合わせると、ツールチップとしてqTip2 divを使用しています。Chrome では、マウスを動かすたびに SVG の上 (qTip div の左側) に白い縦線が表示され、ツールチップがそれに続きます。ツールチップが消えるときにのみ消えます。
なぜこれが起こるのですか?これは修正可能ですか?
wpf - WPFで描画するときに、これらの「スパイク」ビジュアルアーティファクトを取り除くにはどうすればよいですか?
現在、マッピングアプリ用にいくつかのタイル(小さな正方形の画像)を描画しています。
これらのタイルに図形を描画するためにWPFを使用しています。
描画されるポリゴンを構成する地理空間座標のリストがあります。
これらのポリゴンを構成する地理空間座標は、ピクセル座標に変換されます。
タイルは、さまざまな設定レベルの詳細で作成されます。
これらの詳細レベルのほとんどで、図面は問題ありません。しかし、特定のレベルでは、視覚的なアーティファクトがスパイクまたはラインの形で表示されます。
次に例を示します。これらの画像は3つの異なる詳細レベルにあり、1つは問題を示し、2つは問題が発生していない側にあります。
この画像は最高の詳細レベルであり、問題ありません。
この画像は中程度の詳細レベルであり、スパイクを示しています(道路85に沿ったものが最も見つけやすいです):
この画像は最も低い詳細レベルにあり、問題ありません。
スパイクは、ポリゴン内の2つの線が互いに近づいたり、密なポイント(収束)を形成したりしたときに発生するように見えます。
ソースデータを確認しましたが、これらのアーティファクトは存在しません(これは、ほとんどの場合正しくレンダリングされるという事実によっても確認されています)。
次の容疑者は座標変換プロセスでしたが、もう一度確認したところ、生成されるポイントはこのように描画されるべきではありません。
そのため、WPFが原因であり、独自のコードで可能な限り問題を修正することはできないため、困難な状況に置かれています。
君たちは前にこのようなものを見たことがありますか?
修正は素晴らしいでしょう;)
現時点では、この問題に我慢するか、Direct2Dの使用に切り替える必要があるようです。プロセス内でシングルスレッド化されているため、GDI+レンダリングからはすでに移行しています。
java - JScrollPaneを水平方向に移動すると、テキストがぼやけます
標準のJPanel内のJScrollPane内にTextAreaがあります。
1行に十分な数のテキストを入力すると、水平ノブが表示されます。これまでのところ問題ありません。しかし、ノブを左右に動かし始めると、テキストがぼやけます(画像を参照)。興味深いことに、テキストエリアを上下に動かしても奇妙なことは何も起こりません。
UnityでUbuntu12.04を使用しています。このグラフィックアーティファクトは、これまで私には表示されませんでした。何が問題になる可能性があるかについてのヒントはありますか?
google-chrome - SVG アニメーションが Chrome バージョン 23.0.1271.95 にバンディング アーティファクトを残す
SVG アニメーションのテスト中に、Chrome バージョン 23.0.1271.95 でレンダリングの問題が発生しました。
アニメーション化された三角形には、黒い縦縞が残っているように見えます。これは、タブでページから離れて戻ったり、別の方法で再描画を強制したりすると消えます。
ここでアニメーション テストを見つけることができます: http://bit.ly/HexaGridTest
そして、ここにスクリーンショットがあります:
同様の問題に関する他の投稿を見ると、この GPU アクセラレーション関連の問題を解消する唯一の方法は、アニメーションの最後に強制的に再描画することです。
誰かが-webkit-backface-visibility: hidden
SVG に追加することを提案しましたが、これで問題は解決しませんでした。
代替手段はありますか?アーティファクトを回避するために設定できるフラグまたは CSS プロパティはありますか?
opengl - OpenGL が glTexImage2D とアルファ ブレンディングを繰り返し呼び出す
これは、実用的な目的というよりも好奇心によるものです。OpenGL 仕様に、glTexImage2D
何度も呼び出すこと (たとえば、フレームごとに 1 回) が違法であることを示唆するものはありますか? 非効率的であるだけでなく、「間違った結果が生じる可能性がある」という意味で違法を意味します(代わりに使用しないことによるパフォーマンスへの影響は気にしないとしglTexSubImage2D
ます)。
私が尋ねている理由は、いくつかの非常に奇妙なアーティファクトに気付いたからです。オーバーラップし、テクスチャ マップされたプリミティブを描画するときに、部分的に透明なテクスチャを使用します。このテクスチャは、フレームごとに 1 回読み込まれglTexImage2D
ます (添付の図を参照): 数秒後 (つまり、 、数百フレーム)、小さな長方形の黒いパッチが画面に表示されます (実際には、連続するフレーム間で黒と通常の間で反転しています)。
問題を示す、私が記述できる最も単純なコード例を以下に添付します。
ノート:
私は SDL を使用していますが、wxWidgets でも同じことが起こっているのを見たことがあるので、SDL 関連の問題ではありません。
glTexSubImage2D
代わりにすべてのフレームに使用するupdate = 1
と ( で使用createTexture
)、アーティファクトは消えます。ブレンディングを無効にすると、アーティファクトはなくなります。
私はこれを 2010 年後半の MacBook Air でテストしてきたが、特に関連性があるとは思えない。
three.js - ColladaLoaderをロードしたThree.jsのdaeモデルでモアレパターンを回避するにはどうすればよいですか?
Three.jsライブラリを使用して、単一のdae/Colladaシーンファイルからオブジェクトをロードして表示します。ColladaLoader(Three.jsのサンプルコード)を使用してファイルをロードし、関数を使用して個々のオブジェクトを検索しますcolladaScene.getChildByName('ObjectName', true);
。これはうまく機能しますが、レンダリング時にモアレアーティファクトが発生します。
ロードされた任意のシーンにはBlenderで編集された複雑なオブジェクトが含まれているため、オブジェクトやテクスチャについて推測することはできません。つまり、どのテクスチャまたはマテリアルが期待されるかわからないため、テクスチャまたはマテリアルに特定の変更/修正をハードコーディングすることはできません。修正または微調整は、複数のテクスチャを持つさまざまなオブジェクトに適用できるように、一般的なものである必要があります。シーンファイルを作成する人に指示することができないため、テクスチャの寸法が2の累乗に準拠していると想定することはできません。
問題:Web-GLを使用してオブジェクトを表示すると、いくつかのオブジェクトで非常に悪いモアレの問題が発生します。オブジェクトの中には、縞模様のテクスチャ(ダークウッドと黒)とレンガの壁(異なる色)を持つものがいくつかあります。これらの縞模様とレンガのオブジェクトは、さまざまな角度と距離でレンダリングされると、深刻なモアレアーチファクトの影響を受けます。ストライプオブジェクトの例を次に示します。これは、縞模様のテクスチャを持つボックスジオメトリです。 http://imgur.com/a/vKsi3#0
テクスチャマテリアルまたはテクスチャ自体の設定を変更して、モアレアーティファクトを非表示にすることはできますか?フィルタ設定、シェーダ設定を変更したり、ミップマップテクスチャを作成したりできますか?テクスチャの寸法が2の経験則に準拠していないために発生するモアレはありますか?Colladaシーンを読み込んだ後、Javascriptでアンチエイリアス処理されたミップマップを作成するにはどうすればよいですか?どういうわけかBlenderにミップマップを作成させることができますか?BlenderにミップマップをCollada形式でエクスポートさせることができませんでした。Blenderのオブジェクトテクスチャの「自動ミップマップ」をチェック/チェック解除するトライエンドがありますが、役に立ちません。
私を助けてください。フィルタ、シェーダー、またはミップマップの問題ですか?Colladaシーンをロードし、オブジェクトをトラバースしてオブジェクトを設定/変更し、「奇妙な角度と距離」でもスムーズにレンダリングするサンプルコードを持っている人はいますか?
最後の手段として、Three.jsのJavascriptで何もできない場合:Blenderでシーンを開き、Colladaファイルにエクスポートしたときにオブジェクトのレンダリングを改善するためにマテリアル/テクスチャ設定を変更する方法はありますか?
Three.jsにロードされたときにストライプオブジェクトを表示すると、次のようになります(リモートで想像するすべてのものを含めて、レンダリングに影響を与えます)。
java - paintComponent の BorderFactory を使用したグラフィカル アーティファクト
私が書いている (実際には書き直した) スクラブル ゲームのコードがいくつかあり、これまでのところ 3 つのクラスに分割されています。クラスはTile
、ウィンドウに配置されたときに BorderFactory アーティファクトを生成しているようです。このアーティファクトが表示されるのはなぜですか? どうすれば除去できますか?
*アーティファクトが表示されない場合は、ウィンドウのサイズをゆっくりと変更してみてください。
これがScrabble
クラスです。
これがBoard
クラスです。
そしてTile
クラス。
android - アーティファクトを残す Android アニメーション
プロジェクトのアニメーションで奇妙な問題が発生しています。以下に投稿されたスクリーンショットでは、Totals カードがアニメーション時に何らかの痕跡を残していることがはっきりとわかります。この問題は、4.2.2 を実行している在庫の Nexus 7 で再現可能です。合計カードには、Google Now スタイルのアニメーションがあります。合計カードのコンテナーはフラグメントであり、横向きのスクリーンショットの左側にあるメニューは別のフラグメントであり、下部のボタンはフラグメントが接続されているアクティビティの一部であることに注意することが重要です。
オンラインで解決策が見つからないようです。 setFillAfter"true" を試し、アニメーションの開始をオフセットしました。ボタンの 1 つが押されると、一番下のアクティビティのボタン (「前へ」と「次へ」) の軌跡が消えます。
Totals Fragment の onCreateView のコードは次のとおりです。
どんな助けでも大歓迎です!