在 .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);
}
两者之间的唯一区别在于Method1
我将Height
控件存储在局部变量中。
谁能解释一下.Net Compact Framework中绘图的原因和一些指导方针?