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

Simon ESNEAULT simon.esneault at gmail.com
Wed Oct 28 11:57:46 EDT 2015


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
------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20151028/a0aef02f/attachment-0001.html>


More information about the vtk-developers mailing list