Apache flex 强制在actionscript中重新绘制较小的区域
我有一个小的动作脚本图表,可以实时更新,还可以支持10000多个数据点。按照当前的设置方式,如果我们希望添加的新行没有扩展图表的边界,则不需要重新绘制整个图表 但它确实如此,重绘区域显示整个图表被重绘,而不是我需要添加的单行 当图表从javascript中获得一条新数据时,它会执行以下操作(为了清晰起见,一些内容已被剥离)Apache flex 强制在actionscript中重新绘制较小的区域,apache-flex,flash,actionscript-3,Apache Flex,Flash,Actionscript 3,我有一个小的动作脚本图表,可以实时更新,还可以支持10000多个数据点。按照当前的设置方式,如果我们希望添加的新行没有扩展图表的边界,则不需要重新绘制整个图表 但它确实如此,重绘区域显示整个图表被重绘,而不是我需要添加的单行 当图表从javascript中获得一条新数据时,它会执行以下操作(为了清晰起见,一些内容已被剥离) private function registerJSCallbacks() : void { ExternalInterface.addCallback( "add
private function registerJSCallbacks() : void
{
ExternalInterface.addCallback( "addData", addData );
}
private function addData( val : * ) : void
{
trace( "addData",val );
var g: Graphics = this.graphics;
g.moveTo(x1,y1);
g.lineTo(x2,y2);
}
有没有更好的方法来做到这一点,这样就不会重新绘制整个屏幕?我的编码模式对于这种类型的更新是错误的吗
我是一个新手,所以即使是模糊相关的建议也会很感激。您正在编辑基础向量,因此它必须重新绘制整个内容。您有几个选项:
BitmapData.draw
)并清除精灵选项2的性能可能比选项1更好,但我还没有对这个特定场景进行基准测试。如果您在移动到新的“活动”精灵时对选项1中的每个精灵执行
sprite.cacheAsBitmap=true
,您可能会获得相当的性能。谢谢,需要一些调整才能正常工作,但现在它工作得非常好。