.Net Compact Framework でいくつかの図形を描画しているときに、驚くべき結果がいくつか見つかりました。
Method1 と Method2 はいくつかの長方形を描画しますが、Method1 は Method2 よりも高速です。コードは次のとおりです。
方法1:
int height = Height;
for (int i = 0; i < data.Length; i++)
{
barYPos = Helper.GetPixelValue(Point1, Point2, data[i]);
barRect.X = barXPos;
barRect.Y = barYPos;
barRect.Height = height - barYPos;
//
//rects.Add(barRect);
_gBmp.FillRectangle(_barBrush, barRect);
//
barXPos += (WidthOfBar + DistanceBetweenBars);
}
方法 2:
for (int i = 0; i < data.Length; i++)
{
barYPos = Helper.GetPixelValue(Point1, Point2, data[i]);
barRect.X = barXPos;
barRect.Y = barYPos;
barRect.Height = Height - barYPos;
//
//rects.Add(barRect);
_gBmp.FillRectangle(_barBrush, barRect);
//
barXPos += (WidthOfBar + DistanceBetweenBars);
}
2 つの唯一の違いは、コントロールの をローカル変数にMethod1
格納していることです。Height
.Net Compact Framework での描画の理由とガイドラインを誰か説明してもらえますか?