Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002371Dwarf FortressTechnical -- Generalpublic2010-06-18 16:302012-02-15 07:21
ReporterBubbaBrown 
Assigned ToBaughn 
PrioritynormalSeveritymajorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformWindowsOSWindows 64-bitOS Version7
Product Version0.31.06 
Target VersionFixed in Version 
Summary0002371: OpenGL Drawing Artifacts
DescriptionThroughout the game and even at the starting menus, there seems to be an erratic OpenGL drawing glitch which produces a "star burst" pattern in the background starting from the upper left hand corner and outwards across the DF window.

It seems that the drawing updates to the screen and the rendering are out of sync, so an intermediate state of the rendering process is being shown. Or, a buffer isn't being cleared properly. This seems to happen on all OpenGL drawing modes, but never on the standard 2D modes.
Steps To ReproduceRun the game with any OpenGL display mode.
Additional InformationATI Radeon HD4890, Catalyst Drivers 9.12

Maximum "rendering" FPS is set to 200.
Maximum "display" FPS is set to 60.
TagsSDL-only
Attached Files

- Relationships
related to 0002312resolvedBaughn game crashes whilst starting 

-  Notes
(0008643)
Footkerchief (manager)
2010-06-18 16:37

It looks like the current Catalyst version is 10.6: http://game.amd.com/us-en/drivers_catalyst.aspx [^]

You should probably try updating.
(0008652)
BubbaBrown (reporter)
2010-06-18 19:40

I doubt it's a driver issue. DF makes use of basic OpenGL functionality, and I've never seen this kind of issue in any other OpenGL application and benchmarks this particular machine has run. (3DMark, FurMark, etc...) And pulling from my past OpenGL experiences, it seems like improper ordering of OpenGL calls... an overly aggressive use of glFlush() or a premature (or missing) glEnd()? I can only make stabs in the dark without seeing the code. :P
(0008653)
Footkerchief (manager)
2010-06-18 20:17
edited on: 2010-06-18 20:21

DF makes use of basic OpenGL functionality

I'm not sure which version you're referring to, but if you're using 31.06 SDL (as opposed to 31.06 Legacy), that one has had all of its rendering code rewritten. Outdated drivers (particularly on Windows 7, which had buggy launch drivers) have been a major cause of crashes, artifacts, etc in the SDL versions.

I strongly suggest updating -- as in, we really can't do anything with this report until that possibility is ruled out.

(0008655)
BubbaBrown (reporter)
2010-06-18 21:09

I am using 31.06 SDL. Updated the graphics drivers, still does it. The point of origin for the starburst is in the upper left hand corner, which usually is 0,0 origin for most drawing. I tried to capture a FRAPS of it, but FRAPS actually helped the issue, greatly. The issue came back once I unloaded FRAPS and changed to another menu screen. I can load and unload FRAPS to control the artifact's appearance along with changing menus. So, the hooks that FRAPS does to either the system's or OpenGL rendering pipeline to capture the output may alter the timing enough to stop the artifact from occurring.

On a side note, FRAPS's frame rate counter has shown some strange fluxes on a unchanging, still screen on start up.
(0008656)
Footkerchief (manager)
2010-06-18 21:24
edited on: 2010-06-18 21:24

What PRINT_MODE are you using in /data/init/init.txt? Try using a different one (also, if you copied your init.txt from a previous versoin, don't do that).

(0008663)
BubbaBrown (reporter)
2010-06-18 22:36

The init.txt is clean with the only modifications being to add graphics and a tileset.

I tried a few of the modes:
NORMAL - Glitch as described.
VBO - Glitch as described.
FRAME_BUFFER - Okay from what I saw.
ACCUM_BUFFER - Broken, accumulating too much and keeping it for too long.
PARTIAL - Like the ACCUM_BUFFER, but not quite as bad. Number changes made no real difference.
(0008997)
BubbaBrown (reporter)
2010-06-22 21:23

Looking at the related issue, I remember a few things about the difference between how Nvidia and ATI handle OpenGL drawing errors. Nvidia drivers typically allow errors and bad calls to go through without intervening. ATI drivers will detect bad call practices and errors and will actually attempt to correct those errors to prevent complete failures. It's been awhile since I've messed with them, but it was enough of a difference between the two manufacturers that OpenGL class projects had to be tested on both to make sure they worked correctly overall.

Again, I suggest looking at the OpenGL API calls and the ordering to make sure they are started and ended properly. And if there is some threading going on, make sure threading doesn't allow interruptions to this call order.
(0008998)
Footkerchief (manager)
2010-06-22 21:47

Reminder sent to: Baughn

Hey Baughn -- in case you didn't see this one already.
(0009003)
Baughn (manager)
2010-06-23 03:21

It doesn't happen on nvidia, but I'm getting a new laptop with an ati card in a few days (I hope!). So I'll try it then.
(0009149)
BubbaBrown (reporter)
2010-06-26 15:06

My machine's CPU is an Intel Core i7 920, so there could be threading issues involved with Windows trying to distribute the work out at the OS level.
(0019636)
Footkerchief (manager)
2012-02-15 07:21

Please reopen this report or PM me on the forums if this problem still exists.

- Issue History
Date Modified Username Field Change
2010-06-18 16:30 BubbaBrown New Issue
2010-06-18 16:37 Footkerchief Note Added: 0008643
2010-06-18 19:40 BubbaBrown Note Added: 0008652
2010-06-18 20:17 Footkerchief Note Added: 0008653
2010-06-18 20:21 Footkerchief Note Edited: 0008653 View Revisions
2010-06-18 21:09 BubbaBrown Note Added: 0008655
2010-06-18 21:24 Footkerchief Note Added: 0008656
2010-06-18 21:24 Footkerchief Note Edited: 0008656 View Revisions
2010-06-18 22:36 BubbaBrown Note Added: 0008663
2010-06-21 11:36 Footkerchief Relationship added related to 0002312
2010-06-21 11:38 Footkerchief Tag Attached: SDL-only
2010-06-22 21:23 BubbaBrown Note Added: 0008997
2010-06-22 21:47 Footkerchief Issue Monitored: Baughn
2010-06-22 21:47 Footkerchief Note Added: 0008998
2010-06-23 03:21 Baughn Note Added: 0009003
2010-06-23 03:21 Baughn Status new => assigned
2010-06-23 03:21 Baughn Assigned To => Baughn
2010-06-26 15:06 BubbaBrown Note Added: 0009149
2010-06-29 07:38 Footkerchief Category Technical => Technical -- General
2012-02-15 07:21 Footkerchief Note Added: 0019636
2012-02-15 07:21 Footkerchief Status assigned => resolved
2012-02-15 07:21 Footkerchief Resolution open => fixed


Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker