Current version

v1.10.4 (stable)

Navigation

Main page
Archived news
Downloads
Documentation
   Capture
   Compiling
   Processing
   Crashes
Features
Filters
Plugin SDK
Knowledge base
Contact info
Forum
 
Other projects
   Altirra

Search

Archives

01 Dec - 31 Dec 2013
01 Oct - 31 Oct 2013
01 Aug - 31 Aug 2013
01 May - 31 May 2013
01 Mar - 31 Mar 2013
01 Feb - 29 Feb 2013
01 Dec - 31 Dec 2012
01 Nov - 30 Nov 2012
01 Oct - 31 Oct 2012
01 Sep - 30 Sep 2012
01 Aug - 31 Aug 2012
01 June - 30 June 2012
01 May - 31 May 2012
01 Apr - 30 Apr 2012
01 Dec - 31 Dec 2011
01 Nov - 30 Nov 2011
01 Oct - 31 Oct 2011
01 Sep - 30 Sep 2011
01 Aug - 31 Aug 2011
01 Jul - 31 Jul 2011
01 June - 30 June 2011
01 May - 31 May 2011
01 Apr - 30 Apr 2011
01 Mar - 31 Mar 2011
01 Feb - 29 Feb 2011
01 Jan - 31 Jan 2011
01 Dec - 31 Dec 2010
01 Nov - 30 Nov 2010
01 Oct - 31 Oct 2010
01 Sep - 30 Sep 2010
01 Aug - 31 Aug 2010
01 Jul - 31 Jul 2010
01 June - 30 June 2010
01 May - 31 May 2010
01 Apr - 30 Apr 2010
01 Mar - 31 Mar 2010
01 Feb - 29 Feb 2010
01 Jan - 31 Jan 2010
01 Dec - 31 Dec 2009
01 Nov - 30 Nov 2009
01 Oct - 31 Oct 2009
01 Sep - 30 Sep 2009
01 Aug - 31 Aug 2009
01 Jul - 31 Jul 2009
01 June - 30 June 2009
01 May - 31 May 2009
01 Apr - 30 Apr 2009
01 Mar - 31 Mar 2009
01 Feb - 29 Feb 2009
01 Jan - 31 Jan 2009
01 Dec - 31 Dec 2008
01 Nov - 30 Nov 2008
01 Oct - 31 Oct 2008
01 Sep - 30 Sep 2008
01 Aug - 31 Aug 2008
01 Jul - 31 Jul 2008
01 June - 30 June 2008
01 May - 31 May 2008
01 Apr - 30 Apr 2008
01 Mar - 31 Mar 2008
01 Feb - 29 Feb 2008
01 Jan - 31 Jan 2008
01 Dec - 31 Dec 2007
01 Nov - 30 Nov 2007
01 Oct - 31 Oct 2007
01 Sep - 30 Sep 2007
01 Aug - 31 Aug 2007
01 Jul - 31 Jul 2007
01 June - 30 June 2007
01 May - 31 May 2007
01 Apr - 30 Apr 2007
01 Mar - 31 Mar 2007
01 Feb - 29 Feb 2007
01 Jan - 31 Jan 2007
01 Dec - 31 Dec 2006
01 Nov - 30 Nov 2006
01 Oct - 31 Oct 2006
01 Sep - 30 Sep 2006
01 Aug - 31 Aug 2006
01 Jul - 31 Jul 2006
01 June - 30 June 2006
01 May - 31 May 2006
01 Apr - 30 Apr 2006
01 Mar - 31 Mar 2006
01 Feb - 29 Feb 2006
01 Jan - 31 Jan 2006
01 Dec - 31 Dec 2005
01 Nov - 30 Nov 2005
01 Oct - 31 Oct 2005
01 Sep - 30 Sep 2005
01 Aug - 31 Aug 2005
01 Jul - 31 Jul 2005
01 June - 30 June 2005
01 May - 31 May 2005
01 Apr - 30 Apr 2005
01 Mar - 31 Mar 2005
01 Feb - 29 Feb 2005
01 Jan - 31 Jan 2005
01 Dec - 31 Dec 2004
01 Nov - 30 Nov 2004
01 Oct - 31 Oct 2004
01 Sep - 30 Sep 2004
01 Aug - 31 Aug 2004

Stuff

Powered by Pivot  
XML: RSS feed 
XML: Atom feed 

§ When video drivers lie

A couple of days ago, I was running one of my side projects that uses several of VirtualDub's core libraries, including the display code, and discovered to my annoyance that the full-screen mode was not working properly. The program displays video at lock-step 60 fps, so it's sensitive to timing and the glitches are very apparent when it misses frames. This was a particularly bad case, though, because it was missing very badly -- enough that the audio was breaking up -- and this was on a CPU that was about 50% faster than the previous one I had, which ran this program perfectly. The windowed mode wasn't syncing very well either, but that's understandable given the non-exclusive nature of windowed mode, and so clearly the speed of the program core wasn't the problem.

I eventually tracked it down to something odd in the NVIDIA driver for my Quadro NVS 140M. For some strange reason, the driver was lying to me and actually running the full-screen display at 50Hz, but lying to my program and saying it was 60Hz, which of course totally trashed the program timing. I didn't notice because I'm on an LCD, which doesn't show a 50Hz refresh rate by flickering like a CRT would. The desktop was also suffering from the same problem, which was even more bizarre. It turned out that the culprit in the windowed case was a setting in the NVIDIA control panel called "Extend battery charge by using less power for the display"; clearing that restored the desktop at least to 60Hz and gave me clean frame sync again. I still can't figure out how to get the full screen mode back to 60Hz, though. The DirectX APIs are all reporting only 60Hz being available for refresh rate on all available display modes, but every single one of them is actually 50Hz. I tried turning off all the PowerMizer options, but to no avail. How annoying.

Anyway, if you're getting a lot of tearing when you try to play video on your laptop, it may not be the video player. The video driver may be fooling with it a bit.

Comments

Comments posted:


> I still can't figure out how to get the full screen mode back to
> 60Hz, though.

Have you tried PowerStrip?

Leak (link) - 22 07 08 - 04:02


I think this may or may not apply for your case...

Some (stand-alone) LCD monitors can not display 60Hz, but about 50Hz only for DVI connection(I don't remember for analog connection).
(Worst case is 45Hz...)

I think this is chipset limitation for poor DVI signal processing.

Almost all 1600x1200 LCD monitors(using Pixelworks chipset) I saw acted like this.

Jeongsu Kim - 22 07 08 - 04:45


Jeongsu Kim, that's weird. According to Wikipedia, DVI has 1920 1200 @ 60 Hz at single mode, or (2560 1600) @ 60 Hz at dual mode.

http://en.wikipedia.org/wiki/Digital_Vis..

Denilson - 22 07 08 - 21:51


I know.

And, all 1900x1200 monitors support 60Hz correctly.

I hope current generation 1600x1200 monitors should've fixed this problems. :)

Jeongsu Kim - 24 07 08 - 05:27


Avery, perhaps the TV out setting (PAL/NTSC) has something to do with it (if there is TV out that is)?
There is a way to force refresh rates for NVIDIA drivers:

[HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\Global\NVTweak]
"NvCplDisableRefreshRatePage"=dword:00000000

This should show you a part of control panel where you can force refresh rates for all video modes.

Actually, it is Microsoft to blame for this one on Windows XP, they decided that for DirectX they will always return the lowest refresh rate mode possible. You have to explicitly request higher refresh rate using some XxxEx() API if I recall correctly.

Igor Levicki (link) - 28 07 08 - 21:49

Comment form


Please keep comments on-topic for this entry. If you have unrelated comments about VirtualDub, the forum is a better place to post them.
Name:  
Remember personal info?

Email (Optional):
Your email address is only revealed to the blog owner and is not shown to the public.
URL (Optional):
Comment: /

An authentication dialog may appear when you click Post Comment. Simply type in "post" as the user and "now" as the password. I have had to do this to stop automated comment spam.



Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.