[vtkusers] [vtk-developers] [vtk-users] OpenGL2 - GPU Volume Rendering performance

Aashish Chaudhary aashish.chaudhary at kitware.com
Wed Oct 28 11:59:37 EDT 2015


Hi Simon,

I am just finishing up a ParaView5 related parallel volume rendering bug
(pushing a branch today to VTK). This is next on my list.

- Aashish

On Wed, Oct 28, 2015 at 11:57 AM, Simon ESNEAULT <simon.esneault at gmail.com>
wrote:

> Hello Aashish
>
> Did you get a chance to try to load the dataset on Windows ?
> Can I do anything to help you investigate ? Should I feel a bug, that may
> act as a reminder ?
> Have a nice day
> Simon
>
>
> 2015-10-27 18:26 GMT+01:00 Aashish Chaudhary <
> aashish.chaudhary at kitware.com>:
>
>> Thanks Simon. This is really strange since we are not seeing it on Mac
>> and Linux (but both has dedicated cards).
>>
>> I will look into it soon.
>>
>> - aashish
>>
>> On Tue, Oct 27, 2015 at 1:03 PM, Simon ESNEAULT <simon.esneault at gmail.com
>> > wrote:
>>
>>> Ok, thank you very much fort digging into this.
>>> I've done some test and I believe I can see a similar slowdown happening
>>> on OSX, with a MacBook pro retina 13" from 2013, Intel Iris 5100 graphics.
>>> Good luck in the investigation, I you need more details, do not hesitate
>>> to ask
>>> Simon
>>>
>>> 2015-10-27 17:37 GMT+01:00 Aashish Chaudhary <
>>> aashish.chaudhary at kitware.com>:
>>>
>>>> Ah, thanks. I will get back to you on this since on Linux I don't any
>>>> issue so it has to be Windows specific thing.
>>>>
>>>> - Aashish
>>>>
>>>> On Tue, Oct 27, 2015 at 10:36 AM, Simon ESNEAULT <
>>>> simon.esneault at gmail.com> wrote:
>>>>
>>>>> I tried with that one from yesterday and today's version
>>>>> (4.4.0-209-gc399648)
>>>>>
>>>>> Thanks,
>>>>> Simon
>>>>>
>>>>> 2015-10-27 15:19 GMT+01:00 Aashish Chaudhary <
>>>>> aashish.chaudhary at kitware.com>:
>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> And when did you download this version? ParaView-latest-Qt4-OpenGL2-
>>>>>> Windows-64bit.exe
>>>>>>
>>>>>> Thanks,
>>>>>> Aashish
>>>>>>
>>>>>> On Tue, Oct 27, 2015 at 10:17 AM, Simon ESNEAULT <
>>>>>> simon.esneault at gmail.com> wrote:
>>>>>>
>>>>>>> Yes, I tried with and without the shading. Without shading enabled,
>>>>>>> the new Opengl2 is also slower when zoomed in (in the described condition).
>>>>>>> With shading enabled, the difference in speed between the two version seems
>>>>>>> even bigger.
>>>>>>> I got the version from the nightly build download section of
>>>>>>> paraview website (it is still available). And I've just tried with that one
>>>>>>> labeled "ParaView-latest-Qt4-OpenGL2-Windows-64bit.exe" with the same
>>>>>>> results.
>>>>>>>
>>>>>>> About the FPS, it is difficult to give an exact number, because it
>>>>>>> depends of the condition (zoomed or not etc...) but yes, this is the idea.
>>>>>>> In our software, I've exposed the frame rate using this example :
>>>>>>> http://www.vtk.org/Wiki/VTK/Examples/Cxx/Utilities/FrameRate
>>>>>>> And the frame rate is around 15/20 for the first backend, and around
>>>>>>> 6/8 for the new backend, on the same dataset (the one provided for
>>>>>>> example), with the same mapper parameters
>>>>>>>
>>>>>>> Thanks
>>>>>>> Simon
>>>>>>>
>>>>>>>
>>>>>>> 2015-10-27 14:48 GMT+01:00 Aashish Chaudhary <
>>>>>>> aashish.chaudhary at kitware.com>:
>>>>>>>
>>>>>>>> Hi Simon,
>>>>>>>>
>>>>>>>> This is helpful but just missing few more bits:
>>>>>>>>
>>>>>>>> 1) Did you try without the shading and see how the performance
>>>>>>>> compares?
>>>>>>>>
>>>>>>>> 2) ParaView 4.4.0-193-gec96423 --> Where did you get this one from
>>>>>>>> (ParaView download page or did you built yourself?)
>>>>>>>>
>>>>>>>> Also, so on your system the old mapper is running 30FPS and the new
>>>>>>>> one at 15-20 FPS as per your summary.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> - Aashish
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Oct 27, 2015 at 9:43 AM, Simon ESNEAULT <
>>>>>>>> simon.esneault at gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hello Aashish,
>>>>>>>>>
>>>>>>>>> Sorry for the late answer, I was busy this morning.
>>>>>>>>> Thanks for testing with the DataSet.
>>>>>>>>> I agree the performance is still quite good with the new backend,
>>>>>>>>> and I also get something like 15/20 fps on windows on an HD screen. But
>>>>>>>>> when compared to the old one, and in some condition (when zoomed
>>>>>>>>> especially), it looks really slower to me
>>>>>>>>> The two tested version are :
>>>>>>>>> - ParaView 4.4.0 64 bits final version for the old backend
>>>>>>>>> - ParaView 4.4.0-193-gec96423 64 bits, for the OpenGL2 backend.
>>>>>>>>> on a windows 7 box, Xeon E3-1220 v3 CPU, 16GB ram and Nvidia
>>>>>>>>> Quadro K420
>>>>>>>>>
>>>>>>>>> To highlight the difference, here is what I do :
>>>>>>>>> - Launch both version on the same computer at the same time
>>>>>>>>> - Load the above dataset on each
>>>>>>>>> - Select volume rendering
>>>>>>>>> - Adjust the transfer function data range to [100-750] (the
>>>>>>>>> default "Cool to Warm" is fine)
>>>>>>>>> - Set the view direction to +Y
>>>>>>>>> - Adjust the Y of the camera position to -300
>>>>>>>>>
>>>>>>>>> And start interacting ...
>>>>>>>>> Dunno if there is an easy way to print out the Frame Rate in
>>>>>>>>> Paraview, but the new version seems really twice slower in these
>>>>>>>>> conditions... We can see it does not scale in the same way, the old backend
>>>>>>>>> seems more aggressive on the image sample reduction, hence the
>>>>>>>>> interactivity is better.
>>>>>>>>> Shading enable or not does not change much
>>>>>>>>>
>>>>>>>>> I'm aware of the DesiredUpdateRate thing, we use to play with this
>>>>>>>>> with the old backend to fine tune the interactivity, although what's really
>>>>>>>>> inside was never clear to me
>>>>>>>>>
>>>>>>>>> I hope that there is enough information for you to reproduce this,
>>>>>>>>> do not hesitate to ask for some more information.
>>>>>>>>>
>>>>>>>>> Thanks a lot for your help
>>>>>>>>> Simon
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2015-10-27 14:10 GMT+01:00 Aashish Chaudhary <
>>>>>>>>> aashish.chaudhary at kitware.com>:
>>>>>>>>>
>>>>>>>>>> Dear Simon,
>>>>>>>>>>
>>>>>>>>>> Checking again. Wondering if you can provide some more detail on
>>>>>>>>>> the binary you are using and whether or not without shading the rendering
>>>>>>>>>> performance comparable to older version.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Oct 26, 2015 at 3:12 PM, Aashish Chaudhary <
>>>>>>>>>> aashish.chaudhary at kitware.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Simon,
>>>>>>>>>>>
>>>>>>>>>>> I used your dataset on paraview master as of today on my Linux
>>>>>>>>>>> box running Ubuntu 14.04 and NVIDA Quadro card and I am getting about 15-20
>>>>>>>>>>> FPS with shading on with 1920x1080 resolution.
>>>>>>>>>>>
>>>>>>>>>>> Are you on the proper 4.4 or using RC1/RC2? I checked the
>>>>>>>>>>> shading performance fix was in 4.4 but not in RC's. I don't have access to
>>>>>>>>>>> Windows box right away but I will try there too.
>>>>>>>>>>>
>>>>>>>>>>> NOTE: You might get multiple emails because of the attachment
>>>>>>>>>>> size issue. Sorry about that.
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Oct 26, 2015 at 2:45 PM, Aashish Chaudhary <
>>>>>>>>>>> aashish.chaudhary at kitware.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, Oct 26, 2015 at 2:13 PM, Simon ESNEAULT <
>>>>>>>>>>>> simon.esneault at gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hello Aashish,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks for the quick answer
>>>>>>>>>>>>> We are using a vtkImageData, 512x512x591 with short element
>>>>>>>>>>>>> (you can find the dataset here :
>>>>>>>>>>>>> https://www.dropbox.com/s/ptqwi0ebv75kt35/volume.zip). So I
>>>>>>>>>>>>> think it's all about GPU volume raycast mapper.
>>>>>>>>>>>>> The new mapper does bring low resolution, but when compared to
>>>>>>>>>>>>> the old one, it seems less "low resolution" during interaction than the old
>>>>>>>>>>>>> one
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Right, so that's why its not a exact comparison. What happens
>>>>>>>>>>>> is that depending on what is interactive, (you can set the desired update
>>>>>>>>>>>> rate in VTK, not exposed in ParaView I believe),  it will do interactive
>>>>>>>>>>>> but with higher resolution (smaller sample distance).  If they both have
>>>>>>>>>>>> the same sample distance, then the new mapper should out perform the old
>>>>>>>>>>>> one, however, there is another thing we need to consider here which is
>>>>>>>>>>>> shading.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Shading is enabled, gradient opacity disabled
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Can you disable the shading and see if now they both (opengl1
>>>>>>>>>>>> and 2) equally better? We already pushed a fix for it but not sure if that
>>>>>>>>>>>> you have in your build.
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Don't know if you need a minimal example, but I believe the
>>>>>>>>>>>>> GPURenderDemo used with this dataset is enough to highlight the slow down.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Yes, I will use this dataset. Thanks.
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> Simon
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2015-10-26 18:57 GMT+01:00 Aashish Chaudhary <
>>>>>>>>>>>>> aashish.chaudhary at kitware.com>:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Also,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Do you have shading enabled? We fixed a bug with shading that
>>>>>>>>>>>>>> was causing the slow performance a while back. I don't remember if that was
>>>>>>>>>>>>>> included in 4.4 or not ( I can check ).
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> - Aashish
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Mon, Oct 26, 2015 at 1:53 PM, Aashish Chaudhary <
>>>>>>>>>>>>>> aashish.chaudhary at kitware.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Simon,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> What kind of dataset you are using? Depending on the data
>>>>>>>>>>>>>>> type you might be using
>>>>>>>>>>>>>>> the GPU one or the unstructured renderer. The performance we
>>>>>>>>>>>>>>> measured is related to the GPU ray cast mapper
>>>>>>>>>>>>>>> and will apply only to the vtkImageData inputs.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Also, helpful would be is if you can tell if the new mapper
>>>>>>>>>>>>>>> is bringing low resolution when you interact with the volume (and whether
>>>>>>>>>>>>>>> or not it happens with old mapper).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Mon, Oct 26, 2015 at 1:47 PM, Simon ESNEAULT <
>>>>>>>>>>>>>>> simon.esneault at gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> We are trying to make the switch to the new OpenGL2 backend
>>>>>>>>>>>>>>>> for our application, and although the switch was easy (thanks for not
>>>>>>>>>>>>>>>> breaking the API ;) ), we can see a significant slowdown on the GPU volume
>>>>>>>>>>>>>>>> rendering part, especially during interaction. Typically we dropped from
>>>>>>>>>>>>>>>> 15/20 fps to 7/8 fps, on the same machine (Win32, Nvidia Quadro K420), with
>>>>>>>>>>>>>>>> the same code around.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> This slow down can be seen in ParaView, if you compare the
>>>>>>>>>>>>>>>> latest 4.4 OpenGL2 build with the classic 4.4 build while volume rendering
>>>>>>>>>>>>>>>> a big enough volume (512^3)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> The blog post here
>>>>>>>>>>>>>>>> http://www.kitware.com/blog/home/post/976
>>>>>>>>>>>>>>>> claims that the new GPU volume rendering implementation
>>>>>>>>>>>>>>>> should be faster than the old one, is there some more detailed explanation
>>>>>>>>>>>>>>>> somewhere ? Are there some important parameters that can make the
>>>>>>>>>>>>>>>> difference ?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Simon
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> PS : The polygonal rendering seems a lot faster with the
>>>>>>>>>>>>>>>> new backend !
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> ------------------------------------------------------------------
>>>>>>>>>>>>>>>> Simon Esneault
>>>>>>>>>>>>>>>> Rennes, France
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> ------------------------------------------------------------------
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>> Powered by www.kitware.com
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Visit other Kitware open-source projects at
>>>>>>>>>>>>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Search the list archives at:
>>>>>>>>>>>>>>>> http://markmail.org/search/?q=vtk-developers
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>>>>>>>>>>>> http://public.kitware.com/mailman/listinfo/vtk-developers
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> *| Aashish Chaudhary | Technical Leader         | Kitware
>>>>>>>>>>>>>>> Inc.            *
>>>>>>>>>>>>>>> *| http://www.kitware.com/company/team/chaudhary.html
>>>>>>>>>>>>>>> <http://www.kitware.com/company/team/chaudhary.html>*
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *| Aashish Chaudhary | Technical Leader         | Kitware
>>>>>>>>>>>>>> Inc.            *
>>>>>>>>>>>>>> *| http://www.kitware.com/company/team/chaudhary.html
>>>>>>>>>>>>>> <http://www.kitware.com/company/team/chaudhary.html>*
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>>
>>>>>>>>>>>>> ------------------------------------------------------------------
>>>>>>>>>>>>> Simon Esneault
>>>>>>>>>>>>> Rennes, France
>>>>>>>>>>>>>
>>>>>>>>>>>>> ------------------------------------------------------------------
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> *| Aashish Chaudhary | Technical Leader         | Kitware Inc.
>>>>>>>>>>>>           *
>>>>>>>>>>>> *| http://www.kitware.com/company/team/chaudhary.html
>>>>>>>>>>>> <http://www.kitware.com/company/team/chaudhary.html>*
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *| Aashish Chaudhary | Technical Leader         | Kitware Inc.
>>>>>>>>>>>           *
>>>>>>>>>>> *| http://www.kitware.com/company/team/chaudhary.html
>>>>>>>>>>> <http://www.kitware.com/company/team/chaudhary.html>*
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *| Aashish Chaudhary | Technical Leader         | Kitware Inc.
>>>>>>>>>>         *
>>>>>>>>>> *| http://www.kitware.com/company/team/chaudhary.html
>>>>>>>>>> <http://www.kitware.com/company/team/chaudhary.html>*
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> ------------------------------------------------------------------
>>>>>>>>> Simon Esneault
>>>>>>>>> Rennes, France
>>>>>>>>> ------------------------------------------------------------------
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> *| Aashish Chaudhary | Technical Leader         | Kitware Inc.
>>>>>>>>       *
>>>>>>>> *| http://www.kitware.com/company/team/chaudhary.html
>>>>>>>> <http://www.kitware.com/company/team/chaudhary.html>*
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> ------------------------------------------------------------------
>>>>>>> Simon Esneault
>>>>>>> Rennes, France
>>>>>>> ------------------------------------------------------------------
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>>
>>>>>>
>>>>>> *| Aashish Chaudhary | Technical Leader         | Kitware Inc.
>>>>>>     *
>>>>>> *| http://www.kitware.com/company/team/chaudhary.html
>>>>>> <http://www.kitware.com/company/team/chaudhary.html>*
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> ------------------------------------------------------------------
>>>>> Simon Esneault
>>>>> Rennes, France
>>>>> ------------------------------------------------------------------
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>>
>>>>
>>>> *| Aashish Chaudhary | Technical Leader         | Kitware Inc.
>>>>   *
>>>> *| http://www.kitware.com/company/team/chaudhary.html
>>>> <http://www.kitware.com/company/team/chaudhary.html>*
>>>>
>>>
>>>
>>>
>>> --
>>> ------------------------------------------------------------------
>>> Simon Esneault
>>> Rennes, France
>>> ------------------------------------------------------------------
>>>
>>
>>
>>
>> --
>>
>>
>>
>> *| Aashish Chaudhary | Technical Leader         | Kitware Inc.
>> *
>> *| http://www.kitware.com/company/team/chaudhary.html
>> <http://www.kitware.com/company/team/chaudhary.html>*
>>
>
>
>
> --
> ------------------------------------------------------------------
> Simon Esneault
> Rennes, France
> ------------------------------------------------------------------
>



-- 



*| Aashish Chaudhary | Technical Leader         | Kitware Inc.            *
*| http://www.kitware.com/company/team/chaudhary.html
<http://www.kitware.com/company/team/chaudhary.html>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20151028/d69ebf58/attachment.html>


More information about the vtkusers mailing list