するにはどうしたらいいのか、性能を発揮GDIのDrawImage(スケールなし)?
-
24-09-2019 - |
質問
私のユーザーコントロールの塗装しハンドラに対して繰り返し処理を実行収集の定義済みビットマップオブジェとしてのインターネットで提供されthusly:
C#のバージョン:
private void Control_Paint(object sender, PaintEventArgs e) {
Graphics g = e.Graphics;
foreach (BitmapObj bmpObj in _bitmapObjCollection) {
g.DrawImageUnscaled(bmpObj.Bitmap, bmpObj.Location);
}
}
VB.NET バージョン:
Private Sub Control_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint
Dim g As Graphics = e.Graphics
For Each bmpObj As BitmapObj In _bitmapObjCollection
g.DrawImageUnscaled(bmpObj.Bitmap, bmpObj.Location)
Next
End Sub
コードの動作が開始する理事会が十数オブジェに追加されます。私の質問はがあるので、速度です。ることは可能な利用のWin32bitblt機能に置き換えDrawImageUnscaled?行ってはならないものといかがですか?
よろしく!
注意:GooglingのためのuseageのBitBltみたい画面のキャップサンプルで...
解決
遅すぎるが、おそらく誰かが、まだ解決策を必要とします。
私はOpenTK時に実行似GDI +の構文、と小さなライブラリGLGDI +を作成しました: http://code.google.com/p/glgdiplus/する
私は安定性についてはよく分からない、それはのDrawString(OpenTKからTextPrintでの問題)といくつかの問題があります。しかし、あなたは(私の場合はレベルエディタのように)あなたのユーティリティのパフォーマンスの向上が必要な場合は、それが解決策になることができます。
所属していません StackOverflow