[Development] Status of QtDeclarative on Windows?

gunnar.sletta at nokia.com gunnar.sletta at nokia.com
Mon Jan 16 08:54:12 CET 2012


Hi Todd,

It looks like the qwindowsglcontext.cpp file does not request a swap interval of 1 anywhere, which would mean you have to pick the option "always vsync, regardless of what application requests"-option if such a thing exists. If you did this and it makes no difference then the driver is broken :)

Another option is to disable the threaded renderer on windows using the environment variable QML_BAD_GUI_RENDER_LOOP, doing this would put it on par with X11/XCB. This is something we anyways need in order to support multiple toplevel QML windows as the current threaded implementation expects to block on a full buffer queue per window rather than swapBuffers to block immediately. 

The environment variable will switch to use the timer driven, GUI-only render loop. This also disables the vsync driven animations, but for a  driver that ignores vsync, this is what we have to use. If we played nice, we would expose this behavior from the QPlatformIntegration / QPlatformGLContext so QtDeclarative could adapt properly, but we currently don't have API and implementation in place to catch this.

cheers,
Gunnar


On Jan 16, 2012, at 1:45 AM, ext Todd.Rose at nokia.com wrote:

> Well it looks like the slowness I'm seeing is due to the rendering thread using all of the CPU.  I tried toggling the nvidia driver settings for vsync and triple-buffering but that doesn’t change the behavior.  Is there anything else I can try?  Do other people see acceptable performance on Windows currently?
> 
> -Todd
> 
>> -----Original Message-----
>> From: development-bounces+todd.rose=nokia.com at qt-project.org
>> [mailto:development-bounces+todd.rose=nokia.com at qt-project.org] On
>> Behalf Of ext Todd.Rose at nokia.com
>> Sent: Saturday, January 14, 2012 4:47 PM
>> To: Storm-Olsen Marius (Nokia-MP/Austin); development at qt-project.org
>> Subject: Re: [Development] Status of QtDeclarative on Windows?
>> 
>> It seems equally slow when running debug and release libs, but will double
>> check later this weekend to make sure it's not user-error.  I think it has more
>> to do with running with a video card that doesn't provide much (if any?)
>> hardware acceleration.  But I was assuming that even in that case that QML2
>> would be just as good as QML1.  Clearly something is causing that to not be
>> the case.
>> 
>> What's the expectation when using video cards that don't offer OpenGL
>> hardware acceleration?
>> 
>> -Todd
>> 
>>> -----Original Message-----
>>> From: Storm-Olsen Marius (Nokia-MP/Austin)
>>> Sent: Saturday, January 14, 2012 9:12 AM
>>> To: development at qt-project.org; Rose Todd (Nokia-M/Alpharetta)
>>> Subject: Re: [Development] Status of QtDeclarative on Windows?
>>> 
>>> Are you sure you are at least running the release version of your
>> application?
>>> 
>>> Debug version uses the debug CRT libs (and a debug Qt which does the
>>> same), so everything will be a lot slower than the end product.
>>> 
>>> You cannot really evaluate performance with debug builds.
>>> 
>>> --
>>> Sent from my Nokia N9
>>> On 1/13/12 23:12 ext Todd.Rose at nokia.com wrote:
>>> Just for fun I’ve been playing with a medium-sized QML app that we had
>>> written for 4.7/Symbian and porting it to Qt5/QML2.  Mostly have been
>>> working on Linux but the past few days I finally got around to
>>> compiling Qt5 on Windows and playing around with the project enough so
>>> that it would compile and run under qmlscene (it’s mostly qml/js with
>>> a C++ plugin module as well).
>>> 
>>> Anyway, the performance on my Windows box is horrible.  ListView
>>> scrolling, image loading, animations, everything is like it’s running
>>> in quicksand.  Is this expected?  If not, what do I need to do to in
>>> order to troubleshoot?  This machine is relatively old and has a
>>> crappy video card (older Nvidia Quadro), but it should be more than
>>> good enough to run this app smoothly.  Any tips or tricks to enable extra
>> debug tracing?
>>> 
>>> Thanks,
>>> Todd
>> _______________________________________________
>> Development mailing list
>> Development at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/development
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development




More information about the Development mailing list