Lightspeed views and GXY views are two types of LuciadLightspeed views. Each has its own specific set of capabilities for visualizing geospatial data models. You choose one or the other based on the visualization requirements of your geospatial application.
What is a view for?
A LuciadLightspeed view allows you to visualize the data of one or more LuciadLightspeed models in a graphical form. LuciadLightspeed offers two types of views:
- GXY views
are views that display graphics in 2D. The abbreviation GXY refers to the graphical 2D screen coordinates. A GXY view is represented by
ILcdGXYViewin the LuciadLightspeed API.
- Lightspeed views
are views that can display in 2D as well as in 3D, and use the OpenGL API to perform their rendering. A Lightspeed view is represented by
Both view types are subtypes of the interface
A view has one or more layers associated with it. To properly visualize model data in a LuciadLightspeed view, each model is placed in a LuciadLightspeed layer.
Your choice of view type determines the layer type you need to use. To create layers in a GXY view, you need to use GXY layers. To create layers in a Lightspeed view, you need to use Lightspeed layers.
For more information about the differences between GXY and Lightspeed views, refer to Deciding between a GXY view and a Lightspeed view.
LuciadLightspeed provides implementations based on the Java Abstract Windows Toolkit (AWT) and Swing toolkit, as well as on the JavaFX toolkit. It also provides implementations to perform off-screen rendering. For more information, see the API reference.
At the API level, the
ILspView are both subtypes of the interface
ILspView resides in the package
ILcdGXYView resides in the package
com.luciad.view.gxy. These are sub-packages of package
Deciding between a GXY view and a Lightspeed view
As discussed in What is a view for?, LuciadLightspeed comes with two types of view implementation: a GXY view and a Lightspeed view. You can choose the most appropriate view implementation based on the nature of your application and the environment it will run in.
Your choice will be influenced by the following considerations:
The hardware specifications of the target computer platforms on which your application is deployed
The level of OpenGL support on the target computer platforms
Specific requirements of your application
Benefits of Lightspeed views and Benefits of GXY views outline the characteristics of each view type, so that you can use the appropriate implementation.
Benefits of Lightspeed views
The Lightspeed view implementation uses OpenGL to visualize data in 2D and in 3D. OpenGL is an industry standard for visualization, defined by the Khronos Group, which is available on many different platforms including Linux, Mac OS and Microsoft Windows. Typically, the vendor of the graphics hardware, the Graphics Processor Unit (GPU), in your system provides an OpenGL driver to enable OpenGL-accelerated applications. The Lightspeed view implementation requires such an OpenGL driver to be present on the system. For exact system requirements, refer to the LuciadLightspeed technical notes.
A GPU is basically a massively parallel processor that can process many points, triangles, and pixels simultaneously. Careful use of the GPU allows many operations involving the visualization of geospatial data to be performed extremely fast. This is exactly what the Lightspeed view does to provide you with a high-performance 2D and 3D view.
You should rely on a Lightspeed view by default when your system complies with the OpenGL and system requirements.
Examples of situations where a Lightspeed view is especially beneficial to the application’s performance and functionality, are:
- High-resolution displays.
Because of parallel processing on the GPU, the performance of Lightspeed views scales well to high-resolution displays.
The smoothing of jagged edges of curves and diagonal lines increases display quality. A Lightspeed view can achieve this with little to no performance loss.
- Fluent animations.
Lightspeed views are designed for high frame rates. A view that can be updated 60 times per second, allows for fluent animation effects, such as smooth fly-to animations or animated style changes.
- Density painting.
Specific use of the GPU in a Lightspeed view allows for interactive analysis capabilities such as density plots of air traffic.
Analysis of terrain including slope calculation, ridge and valley detection, and shading by sunlight is instantaneous through judicious use of the GPU in the Terrain Analysis Engine component.
- 2D and 3D visualization.
Lightspeed views have the capability to visualize in 2D and 3D within the same view. This means that you can easily switch from 2D to 3D in an application without additional development. Given the increasing importance of 3D visualization, this can save you significant development time.
Benefits of GXY views
The GXY view implementation uses Java AWT, in particular the
Graphics2D components, to visualize data in 2D.
Graphics2D is available on each of the many platforms that run Java 2 Standard Edition (J2SE). A GXY view should be used for applications
that run on platforms with insufficient OpenGL support. In that sense, a GXY view may be a good choice if you are not entirely
certain about the capabilities of the platforms that your application will be running on. Typical examples of such a situation
are applications running on very old hardware, or web services running on server hardware without any graphics acceleration.
In addition, the GXY view implementation is highly optimized, and offers features such as asynchronous painting of domain objects to warrant a responsive view. As adapter components to integrate GXY into Lightspeed are available, there is no risk in choosing either a GXY view or a Lightspeed view as a view implementation. Both implementations will be fully supported in future releases of LuciadLightspeed.
For information about the file formats supported in GXY views and Lightspeed views, see Supported data types.
Other benefits of hardware acceleration
- OpenCL analysis.
The Open Computing language (OpenCL) allows performing general computations on the GPU, which is used in LuciadLightspeed for line-of-sight computations in the Terrain Analysis Engine component, for instance. OpenCL computations are performed at the model level. As such, OpenCL can be used with Lightspeed views as well as with GXY views.