問題タブ [slowdown]
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 - 時間の経過とともに、FlashBuilder で構築されたアプリケーションの実行速度が低下します
アプリケーションを起動すると、非常に応答性が高くスムーズに実行されるアクションスクリプトで記述された FlashBuilder に組み込まれたアプリケーションがあります。ただし、時間の経過とともに、アプリケーションのいくつかのスライダーを操作した後、プログラムは徐々に応答しなくなり、スムーズではなくなります。たとえば、スライダーの値を 0 から 100 に変更すると、最終値 100 の間の多くの値でスライダーが更新されます。ただし、アプリケーションがしばらく実行された後、0 から 100 の同じアクションを実行してスライダーを移動すると、 0 から 100 までの同じレートで、おそらく 50 ではなく、ほんの一握りの値しか得られない可能性があります。
なぜこれが起こっているのか、このパフォーマンスの漏れを減らすために何をチェックすべきか知っている人はいますか?
c++ - 2D 配列内の要素へのポインターがコードを遅くする
「x」軸と「y」軸上のポイントに関する情報にアクセスするこのコードがあります。この情報は、後で画面に点を描画するために使用されます。コードの仕組みは次のとおりです。
ケースにカット!
大丈夫!そのため、最近、そのような配列にアクセスするとコードが遅くなると考えました。私の知る限り、配列内の要素にアクセスするたびに、プロセッサは配列のベースアドレスを取得し、そこから要素のサイズに、指定された要素のアドレスを見つけるために使用されるインデックスを掛けます。ここでの私の考えは、アドレスへのポインターを作成するだけでなく、それを使用して要素を処理するのではなく、プロセッサーにそれを複数回実行させると、コードが遅くなるということでした。そこで、コードを次のように書き直しました。
このアイデアは私にはまったく問題ないように思えますが、問題は、最初のコードが 2 番目のコードよりも高速であることです。だから私の質問は、最初のコードが2番目のコードよりも速いのはなぜですか?
読むのが苦手な方へ:
最初のコードが他のコードよりも速いのはなぜですか? 最初のものは終了するのに 0.0919 秒かかり、2 番目のものは 0.226 秒かかります。
また、これはアセンブリがポインターを処理する方法のコピーです。
コードのこの部分以外は同じです。
canvas - matplotlib と PyQt: 数回の読み込み後に動的な図の実行が遅くなるか、乱雑に見える
編集:
私の問題の実例を含めるためにこれを書き直すことにしました。これはかなり長いですが、将来多くの人にとって役立つことを願っています.
コードの説明
QMainWindow
「表示」ボタンのあるツールバーを備えた基本があります。メイン ウィンドウは、Figure のキャンバスも作成しmatplotlib
、中央のウィジェットに設定します。
ユーザーが「表示」ボタンを押すと、 のdrawGraph()
メソッドを呼び出すことによっていくつかのデータが表示されGraphCanvas
ます。実際のプログラムでは、ユーザーがボタンをクリックする前に表示するように選択した内容に応じてデータが変化します。このメソッドresizeEvent()
は基本的に、新しい中央ウィジェットのサイズに対応するために Figure を再度描画します。
このdrawGraph()
メソッドは 4 つのプロットを作成し、最初のプロットにはデータがあるため、表示されます。最後の 2 行は Figure を描画し、静的な背景を変数 に保存しますself.background
。
ユーザーがキャンバス上でマウスを動かすと、最初に背景が読み込まれます。フィギュアの描画を高速化するために、静的な背景を保存してロードしたかったのです。その後、最後の 3 つのプロットはデータを動的に取得し、マウス カーソルで移動する 3 つの垂直線として表示されます。
問題
1)「表示」ボタンを押し続けると、図が徐々に遅くなります。50回くらい叩いてマウスを動かしてみると、縦の線がずいぶん遅れているのがわかります。実際の図にもっと動的なプロットや注釈などが含まれている場合、数回クリックしただけでプログラムが使用できなくなります。
賢明な人なら、なぜこの速度低下が起こっているのかわかるかもしれませんが、以前に読み込まれた図はメモリのどこかに保持されており、新しく作成された図の下に描画される可能性があると思います。そして、スタックはますます大きくなり続けています。
2)プログラム起動直後の図が表示されます。大したことではありませんが、ボタンがクリックされるまで空白の領域があればいいのにと思います。
試した解決策
私が試したのは、これらの 2 行をdef __init__(self)
ofclass MainWindow
からに移動したことdef showButtonClicked(self)
です。
したがって、次のようになります。
そのため、ボタンが押された後にのみ図を作成しました。これで速度低下の問題は解決しますが、別の問題が生じます。「表示」ボタンを押してキャンバス上でマウスを動かすと、保存された Figure の背景が読み込まれますが、元のサイズは 5 x 4 インチで、ごちゃごちゃしています。なので、背景は基本的にフィギュアを描いた時のサイズではなく、作った時のサイズで保存しました。
ただし、ウィンドウのサイズを変更すると、すべてがうまく機能します。しかし、次に「表示」ボタンをクリックすると、問題が再発し、ウィンドウのサイズを再度変更する必要があります。
必要なもの
これを流動的に動作させ、「表示」ボタンが何回クリックされても正常に見えるようにする必要があります。また、「表示」ボタンが初めてクリックされるまで図が表示されず、その時点からプログラムが閉じられるまで表示されることをお勧めします。
「表示」ボタンがクリックされたときにウィンドウのサイズを1ピクセル変更するなど、いくつかのハックが私に来ましたが、それは正しいアプローチではありませんか?
どんなアイデアや提案も大歓迎です。ありがとうございました。
php - メソッド呼び出しがすべてを遅くするのはなぜですか?
新しいオブジェクトを含むこの小さなループがあります。
「悪い行」を省略すると、次の結果が得られました。
(1/3000) 1.7ms (2/3000) 0.7ms (3/3000) 2.4ms (4/3000) 1.9ms (5/3000) 0.7ms (6/3000) 0.7ms (7/3000) 3.2ms ( 8/3000) 2.1ms (9/3000) 0.7ms (10/3000) 0.7ms (11/3000) 0.7ms (12/3000) 0.7ms (13/3000) 0.7ms ... (2995/3000) 0.6 ms (2996 / 3000) 0.5ms (2997 / 3000) 0.6ms (2998 / 3000) 0.7ms (2999 / 3000) 0.5ms (3000 / 3000) 0.5ms
しかし、そうしないと、次のようになります。
(1/3000) 1.5ms (2/3000) 0.6ms (3/3000) 6.6ms (4/3000) 2.3ms (5/3000) 1.3ms (6/3000) 1.2ms (7/3000) 3.7ms ( 8 / 3000) 2.3ms (9 / 3000) 1.4ms (10 / 3000) 1.3ms (11 / 3000) 1.3ms (12 / 3000) 1.5ms (13 / 3000) 1.2ms ... (2995 / 3000) 14.2 ms (2996 / 3000) 14.3ms (2997 / 3000) 13.8ms (2998 / 3000) 13.9ms (2999 / 3000) 14.2ms (3000 / 3000) 14.7ms
そして、それはこの悪い方法がどのように見えるかです:
私はアイデアがありません...アンセットについて尋ねないでください。新しいオブジェクトは、後で破棄されなければ同じ影響を与えます。
PHP バージョン: 5.3.2-1ubuntu4.20 (これは私が使用できる唯一のバージョンです。アップグレード/更新はできません。Plesk に新しいバージョンをインストールするのは非常に難しく、これで問題が解決しない可能性があります。)
ありがとうございました :)
glsl - GLSL Fragment シェーダの速度低下
ここ数日、作成中の 2D ゲームの背景を処理するフラグメント シェーダーの作成に費やしてきました。しかし、今日、レンダリング時にクラウド レンダリングが極端に遅い (3000 から 300 fps に落ちる) ことに気付きました。
最初は、雲を生成するときに愚かなことをしたからだと思いましたが、いくつかの実験の後、gl_FragColor に雲を追加したときにのみ速度が低下することに気付きました。それらを計算しても、パフォーマンスには影響がないように見えました。
次のように雲を生成します。
そして、これで残りの「画像」に雲を追加します
スローダウンは、次の場合にのみ発生します。
クラウド生成の詳細部分を削除すると、FPS も 300 から 600 に 2 倍になります
私が何か間違ったことをしたのでしょうか、それとも私がこのようなことをしたときにシェーダーがこのパフォーマンスを集中的に使用するのは自然なことでしょうか.
参考までに、これはシェーダー全体です
そして、シェーダーが実際に何をするかを理解するために、時間要素のない作業バージョンをここで見つけることができます
mysql - groupby と orderby を使用した MySQL クエリのパフォーマンスの問題
1) 最初に使用されたクエリ ... 約 23 秒かかりました
現在、クエリを変更しました..約9秒かかります
どのようなパフォーマンスを行うべきかわかりません。このクエリを高速にしたい..ridとidのインデックスを作成しようとしましたが、それでもクエリが悪化しました。
テーブル詳細はこちら
mza_movie_upload
mza_movie_statics
asp.net - データ uri がページの読み込みを遅くしている
サイトのプロフィール ページのアバター画像にデータ uri を使用しています (私は asp.net を使用しています)。スロー。プロフィールページに何をアップロードしているのか理解できません。また、プロファイル ページの ispostback プロパティを使用してページの読み込みを制御します。アバターを削除すると、ページがすばやく読み込まれます。
だから、私の質問は、サイトがページ イベントごとにデータ uri 画像をアップロードしようとするため、ページが遅くなると思います。しかし、なぜアップロードしているのか理解できません。
プロフィール ページのコード:
マスターページは下にあり、プロファイルページのボタンをクリックすると、editprofileページが呼び出されますが、非常に遅くなります:
EditProfile ページのコード:
mysql - MySQL 不正なクエリによりサーバー全体が遅くなる
長いクエリを送信し、完了する前にスレッドを強制終了すると、システムを完全に再起動した後でもサーバー全体の速度が低下し、mysql のプロセス リストに何も表示されないことがあります... MySQL を停止してもサービス。Windows Server 2008 R2 と Mysql 5.5 を使用しています。MySQL が停止した後も動作し続ける、MySQL が開始した可能性のある OS レベルのプロセスはありますか?
ありがとう!