最近、一部のアクセスクライアント(プロプライエタリアプリ)を2010ランタイムにアップグレードしましたが、非常に低速です。UIは、非常に低い遅延でMS-SQLServerを実行しています。ラグはフロントエンドのグラフィックから来ているようです。たとえば、タブを変更すると、古いPCではCPUが50%または75%に急上昇します。
ランタイムをスピードアップするためのトリックを知っている人はいますか?
最近、一部のアクセスクライアント(プロプライエタリアプリ)を2010ランタイムにアップグレードしましたが、非常に低速です。UIは、非常に低い遅延でMS-SQLServerを実行しています。ラグはフロントエンドのグラフィックから来ているようです。たとえば、タブを変更すると、古いPCではCPUが50%または75%に急上昇します。
ランタイムをスピードアップするためのトリックを知っている人はいますか?
パフォーマンスに実際の違いは見られませんでした。テーマをオフにして、レンダリングの問題がこれを引き起こしているかどうかを確認してください。
原則として、2010 年の VBA の速度は以前のバージョンと同じです (いくつかのベンチマーク コードを実行します)。
フォーム上の多くのテキスト ボックス プロパティを参照するコードで速度低下が見られる場合があります (その理由は、コントロールのプロパティの数が以前の約 4 倍になっているためです。プロパティの出力は、以前は約 1 ページ程度でした)。 , 今では、1 つのテキスト ボックスとプロパティだけで約 6 ページの印刷物であると考えています. したがって、多くのコントロール プロパティに多くの変更を加えるコードは、多くの場合疑わしいものであり、実行が遅くなります.
ただし、フォームの一般的な読み込みと表示は、ここでは特に目立った問題ではありません。これがすべてのフォームで発生しているのか、一部だけで発生しているのかは明確ではありません。通常、問題の原因はフォームのレンダリング速度ではなく、貧弱なコードまたはフォームに取り込まれるデータが多すぎることです。
フォームのコピーを作成し、すべてのデータ ソース (コンボ ボックスのデータ ソースを含む) を削除します。そのフォームを今すぐ試してみてください。まだデータがなくても読み込みは遅くありませんか?
したがって、一般的な VBA コードの速度は、ここではあまり変化しないはずです。前述のように、テーマをオフにしてみます。また、ここで accDE ファイルを配布することも前提としています。