グリッドを持つコントロールがあります。デバイスコンテキストクラスの描画線関数を使用するたびにグリッドを構成する水平線と垂直線を描画する方がコストがかかりますか、グリッドをメモリデバイスのコンテキストに1回描画してから、ウィンドウdc?ありがとう。dc-> DrawLine()のほうが安価ですか、それともblitですか?
答えて
これは、行数、グリッドの大きさ、ユーザーのビデオカードなど、多くの要素によって異なります。
あなたの最善の策は、それらのうちの1つを実行することです(おそらく私の腸の感覚がより単純で速いと言うDrawLineでしょう)。そして遅いマシンでそれをテストします。それが動作し、それが十分に速い場合、それを途中で最適化しないでください。
Aはこのようなコントロールを作成していて、セルを更新するときには各セルの境界線を描きました。 (別の考えです)
これは、使用しているペンの種類によっても異なります。単純な単色の水平および垂直ラインの場合、通常、IIRC塗りつぶし矩形が最も速いですが、独自のベンチマークを実行するのはかなり簡単です。
もう1つのオプション:グリッドパターンのブラシを作成し、領域はFillRect()
にします。ほとんどの場合、これは私の経験から、これを行う最も速い方法です。
しかし、 "RichieHindle"は正しいです。スピードを測定するだけで事実を知ることができれば、それについての哲学は必要ありません;)。
これは速いがいつもうまく動かない – GorillaApe
短い答え:後者。後で再ペイント操作のビットマップとして使用できるように、メモリDCに一度ブリッティングすることは、通常レンダリングの方が高速です。
メモリにイメージをコピーするので、ブリッティングが優先されます。画像をコピーするときは、ちらつきを防止するものとする。
- 1. Yahooの価値はそれほど高いのですか?
- 2. vb6よりもvb2005のほうがはるかに低速です。私はそれをスピードアップできますか?
- 3. POSTはクッキーほど安全ですか?
- 4. Request.IsLocalは安全ですか、それともなりすますことができますか?
- 5. Ionic Phonegap Cordova:iOS向けに最も安価なMacモデルですか?
- 6. イニシャライザとはどういう意味ですか?それはプロセスか、それとも名詞ですか?
- 7. jQueryのバインディングイベントは非常に高価ですか、非常に安価ですか?
- 8. タイムゾーンIDをデータベースに格納するのは安全ですか、それとも変更できますか?
- 9. UnitOfWorkはTransactionと同じですか?それともそれ以上ですか?
- 10. msdeploy ---動作するのですか、それとも吸うのですか?
- 11. アンドロイドで動作するルールエンジンが安価か無料か
- 12. 辞書としての行列。それは安全ですか?
- 13. AutocompleteTextView - それは私がそれからtabawayまでほとんど動作しますか?
- 14. .Net MVCアーキテクチャは、それほど複雑ではないものの、Railsと比べてなぜですか?
- 15. Android anti-crack、それはとにかく価値があるのですか?
- 16. コードビハインドのWebメソッドは、そのページと同じ安全なものですか?
- 17. なぜgoroutinesは他の言語のスレッドよりも安価ですか?
- 18. このコードはどういう意味ですか、安心してほしいのですか?Javaの基礎
- 19. ASP.Net MVCアプリケーションを展開する最も安価な方法は何ですか?
- 20. if文の条件評価順序に頼っても安全ですか?
- 21. window.onchange - それをトリガーするものは何ですか、削除するのは安全ですか?
- 22. SCALA:安価なAPIのスカラテストを準備することが可能ですか?
- 23. MySQLでLIMITとOFFSETを使用するのは、完全なレコードセットを返すよりも安価ですか?
- 24. Google Mapsよりも安価なAPIサービスはありますか?
- 25. Directory.CreateDirectoryは非同期ですか、それとも何ですか?
- 26. オープンソースとそれが安全なプロジェクトでどのように機能するのですか?
- 27. 無料で安価なDelphiグリッドコントロールがありますか?
- 28. Rのplot.ts:なぜほとんどのpar()がそれで動かないのですか?
- 29. ウェブサービスが「安らか」である(それが主張されている)かどうかをどのようにして知ることができますか?
- 30. FolderBrowserDialogをフィルタリングするにはどうすればよいですか、それとも何ができますか?
+1:両方を試して結果を記録するための提案 - 優秀な回答:-) –
"偉大なプログラミングの引用"の質問から: "時間の約97%という小さな効率を忘れてしまいます。諸悪の根源。" - Donald Knuth –