From: John Stone (johns_at_ks.uiuc.edu)
Date: Fri Mar 08 2013 - 13:09:14 CST

Bogdan,
  I've already made a change to the OpenGL code to reduce the default
multisample antialiasing sample count we request down to 8 samples
per pixel. The 16-samples-per-pixel default came from high-end
SGI and Sun machines from 10 years ago that were able to do large
antialiasing sample counts with no significant performance cost.
On modern GPUs, where shading costs are much higher (e.g. GLSL)
the cost of antialiasing is also higher. Anyway, I am going to reduce
the default, and I've added a new environment variable to override
the default. I'll send another email when I have a new test build
posted containing these features, so you can test it out.

Cheers,
  John Stone
  vmd_at_ks.uiuc.edu

On Fri, Mar 08, 2013 at 06:56:12PM +0100, Bogdan Costescu wrote:
> Hi John!
>
> Any news on this ? Also, to rephrase a question at the end of the
> previous message: is it worth even for the faster cards having a MSAA
> with 16-samples-per-pixel ?
>
> Cheers,
> Bogdan
>
> On Tue, Mar 5, 2013 at 10:27 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
> > Hi,
> > If the new drivers are causing VMD to pick up an OpenGL context with
> > MSAA set to 16-samples-per-pixel, that could cause a very significant
> > performance drop vs. 4-samples-per-pixel. I'll have a look at the
> > startup code and see if there's a good way for you guys to control
> > this more easily, without having to depend on knowing driver-specific
> > environment variables.
> >
> > Cheers,
> > John Stone
> > vmd_at_ks.uiuc.edu
> >
> > On Tue, Mar 05, 2013 at 09:01:21PM +0100, Bogdan Costescu wrote:
> >> Hi!
> >>
> >> I seem to have a very similar problem with the one described in a
> >> previous thread starting at:
> >>
> >> http://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/21064.html
> >>
> >> VMD updates the OpenGL window significantly slower than before;
> >> display frame rate drops from several tens or even higher than 100 to
> >> less than 10, independent of the representation (tested with lines,
> >> new cartoon and new ribbons), with a rather small system of 30K atoms
> >> of protein in water box.
> >>
> >> I have initially discovered it when upgrading to recent Fedora
> >> releases (17 & 18) and the latest versions of nVidia drivers (310.xx).
> >> As previously I had Fedora 14 and a 280.xx driver which worked fine, I
> >> used F14 as a basis and changed only the nVidia driver. VMD was in all
> >> tests version 1.9.1 for 64-bit Linux, which displays at
> >> initialization:
> >>
> >> Info) Detected 1 available CUDA accelerator:
> >> Info) [0] GeForce 9400 GT 4 SM_1.1 @ 1.38 GHz, 511MB RAM, KTO, OIO, ZCP
> >> Info) OpenGL renderer: GeForce 9400 GT/PCIe/SSE2
> >> Info) Features: STENCIL MSAA(4) MDE CVA MTX NPOT PP PS GLSL(OVFG)
> >> Info) Full GLSL rendering mode is available.
> >> Info) Textures: 2-D (8192x8192), 3-D (2048x2048x2048), Multitexture (4)
> >>
> >> I have also tested VMD 1.9 and 1.8.7 for some of the driver versions,
> >> with no change. I have disabled composite extension for these tests,
> >> but on the working configuration (F14 + nVidia 2xx.xx) it was enabled
> >> without any side effects. Within VMD, I have tested with and without
> >> GLSL, also with no change in outcome.
> >>
> >> The results:
> >>
> >> - nVidia drivers 2xx.xx (tested 280.13 and several 295.xx up to the
> >> most recent 295.75) work fine
> >> - nVidia drivers 3xx.xx (tested 302.07, 304.64, 310.32, 313.09)
> >> reproduce the slowness
> >>
> >> In all cases, I've also tested pymol and I could not see any
> >> significant degradation of its display speed, which makes me think
> >> that it's specific to VMD. Unlike in the previous thread, I do not see
> >> improvement with more recent 3xx.xx drivers. The VMD-specificity seems
> >> to be supported by the highly non-scientific glxgears figures which
> >> vary slightly around 3000fps for all tested driver versions.
> >>
> >> I have then realized that the display of Features line shows a slight
> >> difference: working drivers have MSAA(4) while slow ones have
> >> MSAA(16). Setting the corresponding environment variable:
> >>
> >> export __GL_FSAA_MODE=5
> >>
> >> (which according to docs corresponds to 4x AA, though it's not clear
> >> to me what the value reported by VMD is) before starting VMD, made it
> >> run with its normal speed. Yey!
> >>
> >> Some funny things:
> >> - any setting of this variable makes it run faster than not setting it
> >> ! Obviously higher settings are slower than lower ones, as more AA is
> >> done at higher settings; at highest documented setting (12), the
> >> OpenGL window is still updated at ~25fps. Only by unsetting this
> >> variable, I could recover the default slowness with 3xx.xx drivers.
> >> - the docs say that 'nvidia-settings --assign FSAA=5' should have the
> >> same effect as setting the environment variable - but this doesn't
> >> work at all for me, it's as if I didn't run it, although a
> >> 'nvidia-settings --query=fsaa --verbose' reports the change.
> >> - the value reported by VMD - MSAA(16) - doesn't seem to depend on the
> >> __GL_FSAA_MODE.
> >>
> >> I also tested some of the 304.xx drivers on a newer generation nVidia
> >> card (GT 640). The same MSAA(16) is reported by VMD, but because the
> >> card is faster, the default speed is several tens of fps. Setting
> >> __GL_FSAA_MODE=5 brings the speed to 400+ fps, while setting it to 12
> >> brings it to ~200fps. So it seems to me that the problem exists also
> >> on the newer cards but, because they are generally faster, it's more
> >> difficult to observe it.
> >>
> >> Now some questions: what could have changed in the drivers to make VMD
> >> run slower on newer drivers ? Anything that can be done in VMD to make
> >> it play nicer with the newer drivers ? Are there going to be any
> >> noticeable AA artifacts in VMD if setting this variable to something
> >> like 5 ? Does the answer to the previous question change whether GLSL
> >> is enabled ? What does VMD do differently from other OpenGL programs,
> >> like pymol, to make it sensitive to this change in driver ?
> >>
> >> Cheers,
> >> Bogdan
> >
> > --
> > NIH Center for Macromolecular Modeling and Bioinformatics
> > Beckman Institute for Advanced Science and Technology
> > University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
> > http://www.ks.uiuc.edu/~johns/ Phone: 217-244-3349
> > http://www.ks.uiuc.edu/Research/vmd/

-- 
NIH Center for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
http://www.ks.uiuc.edu/~johns/           Phone: 217-244-3349
http://www.ks.uiuc.edu/Research/vmd/