03-15-2012 08:59 AM
Colleagues,
Here is seems to be pretty old bug, which is still not fixed (at least in Vision 2011 SP1).
The problem that "Non Tearing" option doesn't wok if IMAQ Windows located on the secondary monitor. Doesn't work as well, if this window located between monitors. The only part on the primary monitor is updated properly.
(Windows7 x64 prof NVidia FX1700+FX1800 videocards)
See attached code, try to run it on multiple monitors with or without Non Tearing option and see differences:
Probably for someone this will work for multiple monitors? Don't hesitate to post here feedback and your video configuration in this case.
Thank you,
Andrey.
03-15-2012 09:37 AM
Hey Andrey..
Its intresting. I am going to take a try..
03-15-2012 02:20 PM - edited 03-15-2012 02:21 PM
Interesting - I was able to replicate it easily with your simple example (also on Win7 with NVIDIA graphics). I have submitted a CAR (Corrective Action Request) #343762 that tracks this issue for future communication about it.
Out of curiousity, are you sure if this non-tearing option is even necessary anymore? In Windows Vista and later with the Aero interface, all graphics rendering is done off-screen and composited by the OS to the display. On pevious OS versions, applications would render directly to the screen and so synchronizing with the vertical sync was more important. It seems entirely possible that setitng this option makes no practical difference on newer OSes (but this is just speculation).
Eric
03-16-2012 05:37 AM
@BlueCheese wrote:
Out of curiousity, are you sure if this non-tearing option is even necessary anymore? In Windows Vista and later with the Aero interface, all graphics rendering is done off-screen and composited by the OS to the display. On pevious OS versions, applications would render directly to the screen and so synchronizing with the vertical sync was more important. It seems entirely possible that setitng this option makes no practical difference on newer OSes (but this is just speculation).
Yes, from my point of view its still necessary. There are following reasons:
- lot of system still using WindowsXP
- backward compatibility between Vision versions.
- I have Windows7x64, but also have clear tearing effect (aero is turned on). With enabled NonTearing option this effect goes away (on primary monitor, of course). For secondary monitor I have my own solution.
- when this option is enabled, then my display loop running with VSync frequency (for example, 60 Hz in my case). So, I don't need any delays in my code. This is very convenient. Without this option I should be responsible for reducing frame rate.
- anyway it should work as expected also on secondary monitor.
Ideal solution - get NonTearing option not only for IMAQ Window, but also for Vision Display on the Front Panel.