問題タブ [off-screen]
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.
performance - OpenGL: オフスクリーン レンダリングの高速化
OpenGL を使用して、非常に多く (数万) の画像を画面外にレンダリングする必要があります。
私は Windows で実行しており、QT をフレームワークとして使用しています。解決策はWindowsのみですが、実際には問題ではありません。
私が Google を使用して見つけたものから、これを行うための多くのオプションがあります。 この記事はかなり古いようですが、いくつかの方法を提案しています。そのうちの関連するものは次のとおりです。
- Windows 固有 -
CreateDIBSection
テクスチャを使用して何らかの方法でバインドします。 - 私のカードでサポートされていると思われる pbuffers 拡張機能を使用します。
このスレッド(メッセージ 6) は、これを使用してこれを行う QT 固有の方法を提案しています。QGLWidget::renderPixmap
私の質問は、どれが最速の方法でしょうか? pbuffers は、ハードウェア上で実行されることが保証されているため、最も安全な方法のようですが、CreateDIB メソッドを使用していないため、ハードウェアも通過しますか? QT法はどうですか?これにはコンテキスト作成の問題があるようです。確かに、作成するすべての画像に対して新しいコンテキストを作成したくはありません。
これで良い経験をした人はいますか?
EDIT : コメント
への回答 - まったく変わらない一定のシーンがあり、さまざまな視点からレンダリングしています。今のところ、画像はユーザーに返され、CPU によって処理されます。将来的には、GPU で処理される可能性があります。
iphone - UIView: 非破壊的な描画を行うには?
私の元の質問:
私は単純な描画アプリケーションを作成しており、既存の以前に描画されたコンテンツを
drawRect
. 完全に置き換えずに、既存のコンテンツの上に描画する適切な方法は何ですか?
ここや他の場所で受け取った回答に基づいて、これが取引です.
drawRect
が呼び出される たびに四角形全体を再描画する準備をしておく必要があります。次の操作を行っても、内容が消去されるのを防ぐことはできません。
[self setClearsContextBeforeDrawing: NO];
これは、とにかく領域全体を再描画する必要がある可能性が高いため、ビューを事前にクリアしても意味がないというグラフィック エンジンへのヒントにすぎません。ビューが自動的に消去されるのを防ぐことができますが、それに依存することはできません。
消去せずにビューの上に描画するには、オフスクリーン ビットマップ コンテキスト (システムによってクリアされることはありません) に対して描画を行います。次に、
drawRect
このオフスクリーン バッファからビューにコピーします。
例:
TODOdrawRect
: (通常は小さい) 変更された四角形領域のみがコピーに使用されるように、誰でも最適化できますか?
wpf - WPF - オフスクリーン レンダリングされたグリッドでマウス イベントをシミュレートする
複数の要素 (ボタン、テキスト ボックスなど) を含む WPF グリッドをビットマップにレンダリングしています。ビットマップは、Direct3D シーンの 3D サーフェスのテクスチャとして使用されます。ユーザー インタラクションのために、2D マウス カーソルの位置から 3D シーンに 3D レイを作成し、GUI サーフェスとの交点を見つけます。したがって、ユーザーが WPF グリッドのどこをクリックしたかはわかっていますが、そこから行き詰まりました。
開いているウィンドウに実際には表示されず、画面外にレンダリングされているときに、WPF 要素でマウス イベントをシミュレートするにはどうすればよいですか?
最近、UIAutomation と RaiseEvent を調べていましたが、これらはビジュアル ツリー全体ではなく、個々の要素にイベントを送信するために使用されます。ツリーを手動でトラバースし、カーソル位置で要素を探すことはオプションですが、これを正確に行う方法が見つかりませんでした。VisualTreeHelper.HitTest は良いスタートですが、TextBox を見つける代わりに TextBoxView を見つけ、ListBox の代わりに Border を見つけます。
編集: HitTest の結果コールバックで HitTestResultBehavior.Continue を返すと、特定の時点ですべての要素をウォークスルーできます。これらすべての要素にマウス イベントを送信できるようになりましたが、MouseEventArgs オブジェクトの値は実際のマウスの値です。したがって、明らかに不可能なカスタム MouseDevice を作成する必要があります。
objective-c - 画面外でのグラフィック操作によって処理オーバーヘッドが発生しますか?
アプリのいくつかのグラフィカル ルーチンを最適化しようとしています。オフスクリーン アニメーション ([object startAnimating] など) なのか、それとも rect (オフスクリーン) を設定して UIImageView を単純に動かしているのかを知りたいのですが、プロセッサのオーバーヘッドがありますか、それとも画面外のときに何らかの形で無視されますか?
助けてくれてありがとう。
image - メモリ内のMATLABFigureをレンダリング
getframe
図の内容を使用しsaveas
て、さらに処理するためにラスターイメージに保存する代わりの方法はありますか?
アプローチ1:getframe
これには、呼び出しで画面キャプチャを実行する図を表示するという重大な欠点がありgetframe()
、ループでそのようなレンダリングを実行する場合(つまりcontent
、各反復でビデオフレームとして保存する場合)に問題があります。
アプローチ2:saveas
このアプローチには、ディスクへの書き込みという重大な欠点があります。これは、マルチスレッドアプリケーションでは問題があり、メモリに直接レンダリングするよりも低速です。PNGエンコーダーを呼び出す前に明らかにメモリにレンダリングされるのでsaveas()
、私が望むことは可能ですが、レンダリング部分のみを実行する関数をMATLABドキュメントで見つけることができません。
質問:
任意のaxes
コンテンツをラスターイメージにレンダリングする別の方法を知っていますか?
iphone - iPad-画面上でアニメーション化されたビューでのユーザーインタラクションはありません
さて、これは初心者の質問ですので、事前にお詫び申し上げます。InterfaceBuilderの画面外にレイアウトしたUIViewがあります。ユーザーがボタンを押すと、このビューを画面上でアニメーション化したいと思います。動作しますが、UIViewのボタンを操作できません。アニメーション化するとビューのみが移動し、実際のオブジェクトはその位置を保持することを読みました。そのため、UIViewのレイヤーの位置を設定しようとしましたが、UIViewメニューの左側に81ピクセル余分に表示されます。これが発生した場合、ボタンを操作できますが、画面の右側と同じ高さにする必要があります。openMenuボタンのIBActionのコードは次のとおりです。
そして、animationDidStopメソッドで:
ヘルプ???
css - 単一のdivを画面外に移動する方法
私はそのように2つの重複するdivを持っています:
私がする必要があるのは、「戻る」divをしばらくオフスクリーンに設定してから、元に戻すことです。さまざまなjqueryメソッドを使用して移動しようとしましたが、何らかの理由で、指定されたIDを持つdivではなく すべてのdivを移動します。
では、上部に影響を与えずに、下部の1つだけを画面外に移動するにはどうすればよいですか?アニメーション化する必要はまったくありません。必要になるまで取っておかなければなりません。(「非表示」はフラッシュを台無しにするため機能しません。気にしない場合は、提案からそれを省略してください。:)
ありがとう。
jquery - 画面サイズを超えたときのDIVの確認方法
フォームのユーザー オプションに基づいてコンテンツが読み込まれる DIV があります。DIV はスティッキー要素でもあり、画面上でユーザーを追跡するため、画面に表示されるまで大きくなる可能性があります。
DIV 自体の一部が画面外にある場合、どのように DIV を機能させ、その場合は完全なコンテンツにリンクできるボタンを表示しますか。
何か案は?
素晴らしい
java - 非ラスターグラフィックス構成でのJFrameの表示
ご挨拶、
画面以外のデバイスでJFrame図面を取得しようとしています。JFrameコンストラクターには
一見これを許可するには:
私の最初の試みは、getType()が呼び出されたときにGraphicsDeviceがGraphicsDevice.TYPE_IMAGE_BUFFERを報告した独自のGraphicsConfigurationを作成することでした。
ただし、JFrame.initは特にタイプを検索し、タイプがTYPE_RASTER_SCREENでない場合は例外をスローします。
次に、GraphicsDeviceを作成しようとしました。レポートGraphicsDevice.TYPE_RASTER_SCREENを返しました。これにより、JFrameを正しく初期化できましたが、表示するときに、
そのため、画面に表示されないが、完全にレイアウトされ機能しているJFrameを描画する方法について、アイデアが不足しています。
ここでうさぎの穴を下っていますか、それともこれを行うことができますか?
android - オフスクリーンページのスクリーンショットを撮るアンドロイド
私はアンドロイドアプリケーションに取り組んでいます。画面全体をビューで埋めるアクティビティ A があります。AI でボタンをクリックすると、別のアクティビティ B を開始したいとします。これにはいくつかのビューとコントロールもあります。アクティビティ B を offscreen にして、 A から B のスクリーンショットを撮りたいです。出来ますか?
注: 描画キャッシュをビットマップに保存することでページ A のスクリーンショットを撮ることに成功しましたが、オフスクリーン ページのスクリーンショットを撮るのに苦労しています。