ParaView/Users Guide/Tiled Display: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
(describe mullions and refer to appendix for description of settings)
Line 2: Line 2:
ParaView’s parallel architecture makes it possible to visualize massive amounts of data interactively. When the data is of sufficient resolution that parallel processing is necessary for interactive display, it is often the case that high-resolution images are needed to inspect the data in adequate detail. If you have a 2D grid of display devices, you can run ParaView in tiled display mode to take advantage of it.
ParaView’s parallel architecture makes it possible to visualize massive amounts of data interactively. When the data is of sufficient resolution that parallel processing is necessary for interactive display, it is often the case that high-resolution images are needed to inspect the data in adequate detail. If you have a 2D grid of display devices, you can run ParaView in tiled display mode to take advantage of it.


To put ParaView in tiled display mode, give pvserver (or pvrenderserver) the X and Y dimensions of the 2D grid with the --tile-dimensions-x (or -tdx) and --tile-dimensions-y (or ‑tdy) arguments. The X and Y dimensions default to 0, which disables tiled display mode. If you set only one of them to a positive value on the command line, the other will be set to 1. In tiled display mode, there must be at least as many server (in client / server mode) or render server (in client / data server / render server mode) nodes as tiles. The example below will create a 3 x 2 tiled display.
To put ParaView in tiled display mode, give pvserver (or pvrenderserver) the X and Y dimensions of the 2D grid with the '''--tile-dimensions-x''' (or '''-tdx''') and '''--tile-dimensions-y''' (or '''‑tdy''') arguments. The X and Y dimensions default to 0, which disables tiled display mode. If you set only one of them to a positive value on the command line, the other will be set to 1. In tiled display mode, there must be at least as many server (in client / server mode) or render server (in client / data server / render server mode) nodes as tiles. The example below will create a 3 x 2 tiled display.


pvserver -tdx=3 -tdy=2
'''pvserver -tdx=3 -tdy=2'''


Unless you have a high end display wall, it is likely that each monitor's bezel creates a gap between the images shown in your tiled display. You can compensate for the bezel width by considering them to be like mullions on a window. To do that, specify the size of the gap (in pixels) through the '''--tile-mullion-x''' (or '''-tmx''') and '''--tile-mullion-y''' (or '''-tmy''') command line arguments.
The IceT library, which ParaView uses for its image compositing, has custom compositing algorithms that work on tiled displays. Although compositing images for large tiled displays is a compute-intensive process, IceT reduces the overall amount of work by employing custom compositing strategies and removing empty tiles from the computation as demonstrated in  Figure 14. If the number of nodes is greater than the number of tiles, then the image compositing work will be divided amongst all the processes in the render server. In general, rendering to a tiled display will perform significantly better if there are many more nodes in the cluster than tiles in the display it drives. It also greatly helps if the geometry to be rendered is spatially distributed. Spatially distributed data is broken into contiguous pieces that are contained in small regions of space and are therefore rendered to smaller areas of the screen. IceT takes advantage of this property to reduce the amount of work required to composite the final images. ParaView includes the '''D3''' filter that redistributes data amongst the processors to ensure a spatially distributed geometry and thus improves tiled rendering performance.  
The IceT library, which ParaView uses for its image compositing, has custom compositing algorithms that work on tiled displays. Although compositing images for large tiled displays is a compute-intensive process, IceT reduces the overall amount of work by employing custom compositing strategies and removing empty tiles from the computation as demonstrated in  Figure 14. If the number of nodes is greater than the number of tiles, then the image compositing work will be divided amongst all the processes in the render server. In general, rendering to a tiled display will perform significantly better if there are many more nodes in the cluster than tiles in the display it drives. It also greatly helps if the geometry to be rendered is spatially distributed. Spatially distributed data is broken into contiguous pieces that are contained in small regions of space and are therefore rendered to smaller areas of the screen. IceT takes advantage of this property to reduce the amount of work required to composite the final images. ParaView includes the '''D3''' filter that redistributes data amongst the processors to ensure a spatially distributed geometry and thus improves tiled rendering performance.  


Unlike other parallel rendering modes, composited images are not delivered to the client. Instead, image compositing is reserved for generating images on the tiled display, and the desktop renders its own images from a lower resolution version of the geometry to display in the UI. In tiled display mode, ParaView automatically decimates the geometry and sends it to the client to make this happen. However, when the data is very large, even a decimated version of the geometry can overwhelm the client. In this case, ParaView will replace the geometry on the client with a bounding box.
<center>[[File:ParaView_UsersGuide_TileComposite.png||link=]]</center>


The options in the '''Tile Display Parameters''' portion of the [[ParaView/Users_Guide/Settings | Application Settings]] let you control the tiled rendering algorithm to ensure interactivity.
<center>''' Figure 14. Compositing images for 8 processes on a 4-tile display.'''</center>


'''Still Subsample Rate:''' This slider down samples the image space of the tiled display to increase the rendering rate. Like the the '''Subsample Rate '''slider in the '''Client/Server Parameters''' section of the dialog, this control will reduce the number of pixels in both the X and Y dimensions that the parallel rendering algorithm must consider, which increases rendering speed, at a cost of more pixilated images. The '''Still Subsample Rate''' control affects not only the appearance when interacting with the viewpoint but also the final appearance generated when interaction ceases.
Unlike other parallel rendering modes, composited images are not delivered to the client. Instead, image compositing is reserved for generating images on the tiled display, and the desktop renders its own images from a lower resolution version of the geometry to display in the UI. In tiled display mode, ParaView automatically decimates the geometry and sends it to the client to make this happen. However, when the data is very large, even a decimated version of the geometry can overwhelm the client. In this case, ParaView will replace the geometry on the client with a bounding box.


'''Client Collect:''' This slider determines the format of the geometric representation of the data that is rendered on the client. When the size of the full geometry is less than the threshold, it is decimated on the server to produce a lower resolution model, collected on the client, and then rendered. Otherwise, the geometry is replaced with a bounding box on the client, but the geometry is still visible on the tiled display. If the check box is unchecked, then geometry will always be collected on the client. This can be a dangerous option if you are rendering large amounts of data.
You have several controls at run time over the tiled rendering algorithm that you can tune to maintain interactivity while visualizing very large data on very high resolution tiled displays. These are located on the '''Tile Display Parameters''' section of the '''Render View / Server''' page of the application settings dialog. These controls are described in the [[ParaView/Users_Guide/Settings | Application Settings]] section of the Appendix.
 
 
<center>[[File:ParaView_UsersGuide_TileComposite.png||link=]]</center>
 
<center>''' Figure 14. Compositing images for 8 processes on a 4-tile display.'''</center>

Revision as of 04:21, 13 February 2011

Tiled Display

ParaView’s parallel architecture makes it possible to visualize massive amounts of data interactively. When the data is of sufficient resolution that parallel processing is necessary for interactive display, it is often the case that high-resolution images are needed to inspect the data in adequate detail. If you have a 2D grid of display devices, you can run ParaView in tiled display mode to take advantage of it.

To put ParaView in tiled display mode, give pvserver (or pvrenderserver) the X and Y dimensions of the 2D grid with the --tile-dimensions-x (or -tdx) and --tile-dimensions-y (or ‑tdy) arguments. The X and Y dimensions default to 0, which disables tiled display mode. If you set only one of them to a positive value on the command line, the other will be set to 1. In tiled display mode, there must be at least as many server (in client / server mode) or render server (in client / data server / render server mode) nodes as tiles. The example below will create a 3 x 2 tiled display.

pvserver -tdx=3 -tdy=2

Unless you have a high end display wall, it is likely that each monitor's bezel creates a gap between the images shown in your tiled display. You can compensate for the bezel width by considering them to be like mullions on a window. To do that, specify the size of the gap (in pixels) through the --tile-mullion-x (or -tmx) and --tile-mullion-y (or -tmy) command line arguments.

The IceT library, which ParaView uses for its image compositing, has custom compositing algorithms that work on tiled displays. Although compositing images for large tiled displays is a compute-intensive process, IceT reduces the overall amount of work by employing custom compositing strategies and removing empty tiles from the computation as demonstrated in Figure 14. If the number of nodes is greater than the number of tiles, then the image compositing work will be divided amongst all the processes in the render server. In general, rendering to a tiled display will perform significantly better if there are many more nodes in the cluster than tiles in the display it drives. It also greatly helps if the geometry to be rendered is spatially distributed. Spatially distributed data is broken into contiguous pieces that are contained in small regions of space and are therefore rendered to smaller areas of the screen. IceT takes advantage of this property to reduce the amount of work required to composite the final images. ParaView includes the D3 filter that redistributes data amongst the processors to ensure a spatially distributed geometry and thus improves tiled rendering performance.

ParaView UsersGuide TileComposite.png
Figure 14. Compositing images for 8 processes on a 4-tile display.

Unlike other parallel rendering modes, composited images are not delivered to the client. Instead, image compositing is reserved for generating images on the tiled display, and the desktop renders its own images from a lower resolution version of the geometry to display in the UI. In tiled display mode, ParaView automatically decimates the geometry and sends it to the client to make this happen. However, when the data is very large, even a decimated version of the geometry can overwhelm the client. In this case, ParaView will replace the geometry on the client with a bounding box.

You have several controls at run time over the tiled rendering algorithm that you can tune to maintain interactivity while visualizing very large data on very high resolution tiled displays. These are located on the Tile Display Parameters section of the Render View / Server page of the application settings dialog. These controls are described in the Application Settings section of the Appendix.