为什么要使用partialRefresh
- arcMap应用程序窗口操作主要是由 IActiveView 控制的,并且它有 Map(data view) 和 PageLayout(layout view) 两个视图。每一个视图都有一个 ScreenDisplay 用于执行绘制操作。 而这个 ScreenDisplay 可以创建任意数量的缓存。 例如会创建一个缓存代表程序窗口屏幕上的图像,这样进行绘制时,这些绘制的图形会先写进缓存中,然后再从缓存写到屏幕上。当应用程序被隐藏或者需要重新绘制时,就可以在缓存中进行操作而不是数据库中,这极大的提升了绘制图像的速度。
-
一般而言 地图会建立三个缓存,一个是为所有图层所用,另一个是在由annotation 或者 graphics 的时候用,第三个是为 selection 准备的。如果图层把它的cached属性设为TRUE,这个图层(Layer)可以用来建立自己的私有cache.这样,地图将为这个图层建立一个单独的cache,地图把其他图层放在它之前或之后的不同caches中.
参数详解
- esriViewDrawPhase phase
这是代表所需要刷新的缓存级别。上面说过,arcMap 会为不同的数据准备不同的缓存,通过这个变量可以设置要对哪些数据进行刷新。 - object Data
对于这个参数的了解不是很清晰。 IEnvelope envelope
通过 IEnvelope 接口就可以想到这是限制刷新区域的一个参数。