arcEngine开发之activeView.PartialRefresh(译)

时间:2022-03-11 01:41:30

为什么要使用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 接口就可以想到这是限制刷新区域的一个参数。