我正在开发一个图形应用程序,它接收数据流并显示它。事实证明,在 UIView(Core Graphics)中绘制很多线段是非常缓慢的。我试图通过仅绘制具有新数据的屏幕的一部分来加快速度。
我目前使用此功能重绘屏幕(使用 Xamarin/monotouch)
NSTimer.CreateRepeatingScheduledTimer (TimeSpan.FromSeconds (0.1), delegate {
pane.SetNeedsDisplay ();
});
其中窗格是我的 UIView 对象。窗格对象自己知道屏幕的哪个部分需要重绘。我认为还有另一种方法可以指定要重绘的屏幕区域 - 这是正确的方法吗?还是其他解决方案?
此外,代码还绘制了一组网格。这些永远不会改变。有没有办法将它们保存到某个图层或其他东西,以便我可以将它添加到背景中?
另一种方法是使用openGL,虽然画线看起来不太好,我必须实现很多额外的代码才能让它看起来正确。
谢谢!