Hey Kevin and Aashish,

I found this discussion rather interesting, especially since I'm basically facing the same problem as Kevin.

In almost all cases, we are dealing here with large unstructured grids (e.g. 12M cells) and the volume rendering is performance is extremely bad, not to say unusable, for these cases.

I only tested it with ParaView 4.3.1 and older versions, i.e. with the old OpenGL algorithms, but the performance is barely influenced by the actual volume renderer (i.e. GPU vs. CPU based).

For an unstructured grid the volume rendering seems to be CPU limited in any case, at least my CPU is at 100% for quite some time and the GPU load is negligible. ParaView's status bar indicates that it's busy with
"OpenGLProjectedTetrahedraMapper".

This can be easily reproduced with the wavelet source (with e.g. 125k points) and tessellation filter.

So far I have resorted to resampling the data onto a structured grid. This has the clear drawback that a structured grid with the same resolution has about 70M grid points compared to the 12M points of the unstructured grid. The volume rendering performance of a 70M unstructured grid is however already decent with the old OpenGL algorithms.

So is there a way to improve the rendering of unstructured grids to avoid the resampling?

Best regards,
Armin




On 03/24/2015 04:48 PM, Aashish Chaudhary wrote:
Hey Kevin,



On Fri, Mar 20, 2015 at 2:33 PM, Kevin Lau <kevin.d....@gmail.com
<mailto:kevin.d....@gmail.com>> wrote:

    Dear Aashish,

    Thanks for your reply.

    (1)

    We tried testing it with 2 different data sets of simulation data,
    one medium sized and one very large:

    Medium
    Cells: 1309489
    Points: 247984
    Memory [MB]: 119.179
    Geometry [MB]: 8.201

    Very Large
    Cells: 51937191
    Points: 11019274
    Memory [MB]: 4709.731
    Geometry [MB]: 776.237

    These datasets are unstructured grids (tetrahedral meshes) read into
    ParaView using the Phasta data reader.

I see. Most of the performance improvements we have achieved is with GPU
RayCast Volume mapper (uses image data). If you can sample your data
into a strucuted grid then you will be able to use the new mapper.

Thanks,

    (2)

    The OS used was Ubuntu

    (3)

    The graphics card was a NVIDIA Quatro K6000 running the NVIDIA
    drivers from the Ubuntu Repos (v 331.113)

    (4)

    We configured ParaView using the default CMake options, changing
    VTK_RENDERING_BACKEND=OpenGL2 and disabling all the plug-ins. These
    tests were run in serial, as building with MPI was throwing errors.

    (5)

    We expected that the OpenGL2 version of ParaView would be able to
    volume render faster than the standard OpenGL version. However the
    reported frame rates were the same in both builds when clicking and
    dragging (~2 FPS).

    This is a problem because we're mainly interested in visualising our
    data and having users able to rotate the model and interact with it.
    At these frame rates the response is a bit sluggish.

    Also I've done serial test using an OpenGL2 build on Windows using
    an old GeForce 8800 with the same medium sized data. On this machine
    the frame rate was similar at around ~1.5 FPS.

    (6)

    ParaView was built by checking out the master from git. Sadly I'm
    not on that test machine now, so I can't check the SHA

    Many thanks for your help again.

    Kevin


    On 20 March 2015 at 10:33, Aashish Chaudhary
    <aashish.chaudh...@kitware.com
    <mailto:aashish.chaudh...@kitware.com>> wrote:

        Hey Kevin,

        On Thu, Mar 19, 2015 at 5:33 PM, Kevin Lau
        <kevin.d....@gmail.com <mailto:kevin.d....@gmail.com>> wrote:

            Dear Aashish,

            Thanks for your reply, I've now managed to build ParaView
            from the Master branch with VTK_RENDERING_BACKEND set to
            OpenGL2 and I have noticed a visible difference in the
            rendering.

            However comparison of the rendering performance in the
            interactive mode of builds with the standard OpenGL backend
            vs the OpenGL2 backend, both show similar frame rates.


        Depending on the card and features you are using you may not see
        a huge bump in performance. On some systems we have seen 300
        times performance improvements and on others there were close
        specially when you have VSync on. Said that, can you provide
        more infromation on

        1) Data size
        2) OS
        3) Graphics card
        4) Features you have enabled?
        5) You expectation and problem
        6) What SHA of ParaView you are using?

            Are there other build options that I'm missing? Should I be
            building the VTK libraries themselves?


        Just make sure that you built from a clean state other than that
        you should be good.
        Thanks,


            Many thanks,

            Kevin


            On 3 March 2015 at 14:53, Aashish Chaudhary
            <aashish.chaudh...@kitware.com
            <mailto:aashish.chaudh...@kitware.com>> wrote:

                On Tue, Mar 3, 2015 at 2:43 PM, Kevin Lau
                <kevin.d....@gmail.com <mailto:kevin.d....@gmail.com>>
                wrote:

                    Dear Aashish,

                    Thank you very much for your reply. The latest work
                    you're doing on volume rendering is very impressive.


                Thanks.


                    In order to access the latest VTK rendering in
                    ParaView would we have to compile both the latest
                    VTK and ParaView from source? Is it possible to link
                    ParaView to specific VTK builds?


                Latest ParaView from source should be fine. Just make
                sure that you select VTK_RENDERING_BACKEND to OpenGL2


                    Also do you know if it is preferential to have a
                    single GPU (i.e. a workstation graphics card) or
                    multiple GPU (i.e. gaming graphics card) when using
                    ParaView?


                If I remember correctly, we don't explicitly assign
                tasks to GPU in ParaView if running a single process.
                You can find more information here:
                
http://www.paraview.org/Wiki/Setting_up_a_ParaView_Server#Multiple_GPUs_Per_Node

                Hope it helps.


                    Many thanks,

                    Kevin


                    On 27 February 2015 at 08:15, Aashish Chaudhary
                    <aashish.chaudh...@kitware.com
                    <mailto:aashish.chaudh...@kitware.com>> wrote:

                        Dear Kevin,

                        First, I would like to mention that we have been
                        working hard to improve rendering in VTK that
                        includes volume rendering as well. You may want
                        to read this source article:
                        http://www.kitware.com/source/home/post/154.
                        Most of the changes related to this work is now
                        available in VTK github repository in master
                        branch. If you are targetting current VTK, I
                        would suggest that any card that can support
                        OpenGL2.1 or higher would be great. The higher
                        the GPU memory the better. While these newer
                        card will work with the previous version of
                        volume rendering, it may not scale very well (in
                        our testing that's what we have observed).
                        Current the default in ParaView is OpenGL Volume
                        Rendering but that is going to change sometime
                        soon and once that happens you will have OpenGL2
                        backend for everything.

                        Hope this helps.
                        - Aashish



                        On Thu, Feb 26, 2015 at 5:41 PM, Kevin Lau
                        <kevin.d....@gmail.com
                        <mailto:kevin.d....@gmail.com>> wrote:

                            Hi,

                            I'm looking to putting together a
                            workstation to perform realtime volume
                            rendering of our simulation data.

                            Are there any particular GPU features I
                            should look for?

                            If there are multiple GPUs will Paraview be
                            able to take advantage of each GPU for
                            volume rendering?

                            Many thanks

                            Kevin



                            _______________________________________________
                            Powered by www.kitware.com
                            <http://www.kitware.com>

                            Visit other Kitware open-source projects at
                            http://www.kitware.com/opensource/opensource.html

                            Please keep messages on-topic and check the
                            ParaView Wiki at:
                            http://paraview.org/Wiki/ParaView

                            Search the list archives at:
                            http://markmail.org/search/?q=ParaView

                            Follow this link to subscribe/unsubscribe:
                            http://public.kitware.com/mailman/listinfo/paraview




                        --
                        /| Aashish Chaudhary
                        | Technical Leader
                        | Kitware Inc.
                        /
                        /|
                        http://www.kitware.com/company/team/chaudhary.html/





                --
                /| Aashish Chaudhary
                | Technical Leader
                | Kitware Inc.
                /
                /| http://www.kitware.com/company/team/chaudhary.html/





        --
        /| Aashish Chaudhary
        | Technical Leader
        | Kitware Inc.
        /
        /| http://www.kitware.com/company/team/chaudhary.html/





--
/| Aashish Chaudhary
| Technical Leader
| Kitware Inc.
/
/| http://www.kitware.com/company/team/chaudhary.html/


_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Search the list archives at: http://markmail.org/search/?q=ParaView

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Search the list archives at: http://markmail.org/search/?q=ParaView

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview

Reply via email to