Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1075929 Posts in 44152 Topics- by 36119 Members - Latest Member: Royalhandstudios

December 29, 2014, 04:01:02 PM
TIGSource ForumsDeveloperTechnical (Moderators: Glaiel-Gamer, ThemsAllTook)Strangest Graphics Driver Bugs
Pages: [1]
Print
Author Topic: Strangest Graphics Driver Bugs  (Read 384 times)
Michael Grand
Level 2
**


Programmer. History and language hobbyist.


View Profile WWW Email
« on: November 17, 2011, 07:16:33 AM »

The idea for this thread was inspired by a rather odd bug I encountered yesterday.

I noticed that the amount of time each cycle of the main loop took to complete kept spiking from an average 16.667ms (vsync was enabled and the refresh rate is 60Hz) up to about 53ms, then immediately fell to about 3ms for a few frames.  This cycle would possibly repeat, and then the frame time would become stable again until it eventually spiked once more.  The spikes were coming from inside of Direct3D9's Present() function, and I was told that they were likely caused by the driver storing 3 frames before sending them all to the graphics card.  After 12 hours of debugging, I found by accident what was apparently the solution: I changed my screen resolution from 1280x1024 to 800x600, and then back to 1280x1024.  I still don't know why the graphics driver was storing up 3 frames, but it certainly looks to me like a driver bug.

What strange/annoying bugs have you encountered with graphics cards?
Logged

eclectocrat
Level 5
*****


Most of your personality is unconscious.


View Profile
« Reply #1 on: November 17, 2011, 08:21:02 AM »

Not quite a hardware driver bug but... D3D locks the floating point unit to single precision, which can cause bugs in other parts of your code, completely unrelated to graphics. A math library I was using went totally haywire, possessed by the devil crazy, then Lua started crashing, each stacktrace leading to the most innocuous piece of code imaginable. Turns out you have to entirely avoid double precision floats or just tell D3D to not be an asshole with the FPU.
Logged

I make Mysterious Castle, a Tactics-Roguelike
Average Software
Level 10
*****

Fleeing all W'rkncacnter


View Profile WWW Email
« Reply #2 on: November 17, 2011, 08:36:12 AM »

This never actually affected me, but I saw it in the changelog and it made me laugh:

"Fixed a bug causing the X server to hang every 49.7 days on 32-bit platforms."
Logged

Franchise - The restaurant wars begin!

What would John Carmack do?
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic