From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Bug: Non Tearing Option works for the primary monitor only

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:

 

Bug-Screen.png

 

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.

0 Kudos
Message 1 of 4
(3,351 Views)

Hey Andrey..

 

Its intresting. I am going to take a try..

---
Silver_Shaper | CLD
0 Kudos
Message 2 of 4
(3,346 Views)

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

 

0 Kudos
Message 3 of 4
(3,327 Views)

@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.

 

0 Kudos
Message 4 of 4
(3,312 Views)