Current version

v1.10.4 (stable)

Navigation

Main page
Archived news
Downloads
Documentation
   Capture
   Compiling
   Processing
   Crashes
Features
Filters
Plugin SDK
Knowledge base
Donate
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 

§ Periodic timers in Windows

When writing a Windows application, it can be useful to have a source of regularly timed events. Here's a few you can rely on:

:P

Comments

Comments posted:


I know it's tongue-in-cheek, but I'm interested to learn about that last one. Can't say I've ever had the NVIDIA display driver crash on Vista / 7, Firefox probably being the most-used application on the system.

Steven (link) - 23 08 11 - 04:10


Can you post the contents of the graphics section of about:support? We can probably blacklist your driver/device to solve the problems.

Jeff Muizelaar - 23 08 11 - 06:12


Could be usefull to compare with IE9 with said driver...

Klimax - 23 08 11 - 07:20


I never had it happen either until Firefox started using 3D hardware acceleration in the 4.x timeframe, after which it started happening regularly during browsing. Disabling acceleration makes it go away, but I figured that wouldn't be viable forever.

As for IE9, I only run that when I need to (Flash, or busted websites), so I don't stress it enough to tell. I already preferred Firefox over IE, and IE9's blurry font rendering is a dealbreaker for me. The same thing almost made me quit using Firefox until I discovered the gfx.font_rendering.cleartype_params.rendering_mode override property in the newest builds. I was the guy complaining about messed up "w" characters in feedback all the time....

There are several things that can cause a kernel driver hang, primarily bugs in either the driver itself or in the hardware it's managing. The hardware can cause a driver hang if it never sends an event that the driver is waiting for. In that case, rendering comes to a halt, but the driver can be restarted and the hardware can possibly be reset as well. It's also possible for the user-level driver or the application to trigger this by issuing a draw call that takes way too long to run and exceeds the timeout. I've heard this is easy to do with CUDA or other GPGPU APIs, but it's harder to do accidentally with regular 3D APIs. I've accidentally pushed all manner of garbage through vertex and index buffers and I don't think I've ever been able to stall a GPU on a draw call for more than two seconds. That's the only legitimate way I can think of that Firefox could trigger this by itself without a driver or hardware problem.

For the record I've never seen any other app trigger this, but if you're a programmer you know that doesn't count for much. Based on experience my money's on the problem being on NVIDIA's side. I ran Firefox with the D3D10 debug layer on and it seems to be API clean. My guess is that the increasing number of applications using 3D acceleration for 2D rendering are putting a lot of stress on formerly less used paths in the driver and something like excessive fragmentation may be blowing up the works.

My configuration is below. The desktop is running the latest stable WHQL'd driver from NVIDIA's site, which is worrying. It's not overclocked in any way and I have unnecessarily large fans. The laptop is running an older driver because for the longest time that was the latest one that Dell had certified and the generic IHV drivers often don't work 100% on laptop hardware. Both systems are running Windows 7 x64 and graphics driver settings are pure (application controlled).

Desktop:
[Name] Firefox
[Version] 7.0
[User Agent] Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0) Gecko/20100101 Firefox/7.0
[Adapter Description] NVIDIA GeForce GTX 560
[Vendor ID] 10de
[Device ID] 1201
[Adapter RAM] 1024
[Adapter Drivers] nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um
[Driver Version] 8.17.12.8026
[Driver Date] 8-3-2011
[Direct2D Enabled] true
[DirectWrite Enabled] true (6.1.7601.17563)
[ClearType Parameters] Gamma: 2400 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 200
[WebGL Renderer] Google Inc. -- ANGLE -- OpenGL ES 2.0 (ANGLE 0.0.0.686)
[GPU Accelerated Windows] 3/3 Direct3D 10

Laptop:
[Name] Firefox
[Version] 7.0
[User Agent] Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0) Gecko/20100101 Firefox/7.0
[Adapter Description] NVIDIA Quadro FX 1800M
[Vendor ID] 10de
[Device ID] 0cbc
[Adapter RAM] 1024
[Adapter Drivers] nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um
[Driver Version] 8.17.12.5922
[Driver Date] 7-31-2010
[Direct2D Enabled] true
[DirectWrite Enabled] true (6.1.7601.17563)
[ClearType Parameters] Gamma: 2200 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 50
[WebGL Renderer] Google Inc. -- ANGLE -- OpenGL ES 2.0 (ANGLE 0.0.0.686)
[GPU Accelerated Windows] 1/1 Direct3D 10

Phaeron - 23 08 11 - 10:20


Now that you mention timeSetEvent, it was involved in one of the most interesting bugs I've encountered in my carier. It was more than a year ago, so I might not remember everything correctly... Anyhow, Windows aren't too happy when timeSetEvent is used with precision less than 10ms. They have an internal counter and when there are such timers in use, Windows will adjust precision of global timer (and return to 10ms when there are no such precise timers in use). An interesting consequence of each such adjustment is that the system time will slide a bit (I don't remember in which direction).

Anyhow, I've got a system where timeSetEvent was used (unfortunately) indirectly and time slid for few minutes each day. It was ridiculously difficult to figure this out. :-D

Goran Mitrovic - 24 08 11 - 07:17


I also have crashes with latest Nvidia official drivers. Running Firefox and VS2010 will pretty much crash Nvidia driver every hour.
All i get is "Display driver nvlddmkm stopped responding and has successfully recovered." in eventlog and no more details.
Kinda strange, given that i can run games without any problems for hours.
Only solution is to downgrade the driver to 8.17.12.7533 ( previuos WHQL from June ).

Darius - 24 08 11 - 20:52


I find these discussions so entertaining even though I dont code for a living. Whats going to happen to software ten years from now? For example, is nvidia driver package going to be 10gigs by they way its growing? Will windows crash if you look at it wrong? I still cant believe microsoft would code something that would cause the time to slide back and forth lol. Wait a minute, yes I can.

evropej - 30 08 11 - 03:34


Not that you need basic troubleshooting advice, but..... Try disabling all plugins and extensions you don't NEED, and make sure the ones you have enabled are updated.

Cyberia - 01 09 11 - 07:29


I want to second the comment about downgrading your Nvidia drivers. Over in the MAME emulator community, people have reported a lot of crashing with the last few Nvidia driver releases. Rolling back a few driver versions stops the crashing.

krick (link) - 12 09 11 - 10:12


Running on a GTX 470 with 285.62 WHQL here (Win 7 x64) Firefox 9.0.1, absolutely no crashes.

Igor Levicki (link) - 07 01 12 - 14:02

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.