For '''panning''', this means that the APZ asks Gecko to render a portion of a scrollable layer, called the "display port", that's larger than the visible portion. It then reacts to a pan gesture immediately, asking the compositor to render a different portion of the displayport (or, if the displayport is not large enough to cover the new visible region, then nothing in the portions it doesn't cover), and meanwhile sends a request to Gecko to render a new displayport. (The displayport can also be used when zooming out causes more content of a scrollable layer to be shown than before.)
== Supported Platforms ==
The APZ module is currently enabled on B2G and Metro. Fennec has a Java implementation of asynchronous panning and zooming, but the plan is to port Fennec to use the APZ module as well.
The APZ module relies on [[Platform/GFX/OffMainThreadCompositing|OMTC]], so a prerequisite for porting it to a platform is for OMTC to work on that platform.
== AsyncPanZoomControllers ==
Inside the APZ module, every scrollable layer has an AsyncPanZoomController (APZC). Scrollable layers roughly correspond to the root document, documents in iframes, and overflow:scroll divs. See [[Platform/GFX/OffMainThreadCompositing|OMTC]] for more information about layers.
== Main APZ projects on the horizon ==