Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 [3] 4

Author Topic: 40a display update issues  (Read 8208 times)

TimeOut

  • Bay Watcher
    • View Profile
Re: 40a display update issues
« Reply #30 on: August 19, 2008, 05:43:15 am »

I understand the yellow X problem as it's described, but like I said, it's not happening here, because the black spaces are being printed for me.

It only happens when the mini-map thing is being displayed, for some reason.

Confirmed in wine.
Logged

Toady One

  • The Great
    • View Profile
    • http://www.bay12games.com
Re: 40a display update issues
« Reply #31 on: August 19, 2008, 06:42:04 am »

I understand the yellow X problem as it's described, but like I said, it's not happening here, because the black spaces are being printed for me.

It only happens when the mini-map thing is being displayed, for some reason.

Ah, cool.  Additionally, you can't immediately pause -- I always press space-space once I select play now, and in this case, it doesn't start up the minimap refresh routine until you've let it run a few frames.  The minimap refresh had this weird thing from years ago, something to do with PDCurses flicker I think, that stopped it from clearing out the screen with spaces if the minimap is being updated.  That's all obsolete now, so I removed it and it started working.  It only became a problem now because I removed the glClear() call.

Some of the other issues are still tied in to the double buffering stuff though, probably.  After some more tests, I think I had just gotten (un)lucky with my bugs and test earlier, since they produced cycles reminiscent of a double buffering refresh problem (ie going back to old frames), but when I set some others up, it's acting more like the back->front buffer copy that Veroule mentioned, though I'm not 100% sure.  In any case, I don't know how to set up a third buffer to render to, and some portions of that will be OS dependent (I guess?) since it'll have to copy to the back buffer, so I might need even more hand-holding for the Mac especially.
« Last Edit: August 19, 2008, 06:46:37 am by Toady One »
Logged
The Toad, a Natural Resource:  Preserve yours today!

Davion

  • Bay Watcher
    • View Profile
Re: 40a display update issues
« Reply #32 on: August 19, 2008, 06:43:58 am »

Confirmed in wine.

It's doing it for me too under XP. Only when the mini-map is tabbed up does it reproduce the afterimages, otherwise it's fine for me. I didn't even notice it because the first thing I do is remove the mini-map from the screen.
Logged

VPellen

  • Bay Watcher
    • View Profile
Re: 40a display update issues
« Reply #33 on: August 19, 2008, 06:46:38 am »

but I don't see why you'd attack my specific statement.

Sorry mate, don't take it personally. I was just trying to get to the bottom of it and it seemed like it wasn't a problem with dicey hardware so much as a failure to print a specific tile. Now I'm not so sure.

Quote
It only happens when the mini-map thing is being displayed, for some reason.

This happens for me too. Although it's still not printing the "blank space" tile.. which is bloody confusing. It prints that tile everywhere except for "inside terrain".. there are no refresh issues when the minimap isn't being displayed, but the blank space tile still isn't being printed. Is there something different about that specific tile?
Logged

Toady One

  • The Great
    • View Profile
    • http://www.bay12games.com
Re: 40a display update issues
« Reply #34 on: August 19, 2008, 06:52:24 am »

but I don't see why you'd attack my specific statement.

Sorry mate, don't take it personally. I was just trying to get to the bottom of it and it seemed like it wasn't a problem with dicey hardware so much as a failure to print a specific tile. Now I'm not so sure.

Yeah, it was a weird one in its occurrence, but ultimately tiles (see my post a couple above yours).  Fortunately I have a bunch of playtesters, he he he.  Anyway, yeah, sorry for jumping on the bolded part, got my hackles up a bit...  living on Mercury has made me a little irritable I think, though the room is down from 88F to 82F today, so now it's more like some reasonably hot part of Earth.
Logged
The Toad, a Natural Resource:  Preserve yours today!

Davion

  • Bay Watcher
    • View Profile
Re: 40a display update issues
« Reply #35 on: August 19, 2008, 06:57:28 am »

...  living on Mercury has made me a little irritable I think, though the room is down from 88F to 82F today, so now it's more like some reasonably hot part of Earth.

People should start sending you large industrial fans as donations. Then you can live in a wind tunnel.
Logged

VPellen

  • Bay Watcher
    • View Profile
Re: 40a display update issues
« Reply #36 on: August 19, 2008, 07:05:31 am »

but I don't see why you'd attack my specific statement.

Sorry mate, don't take it personally. I was just trying to get to the bottom of it and it seemed like it wasn't a problem with dicey hardware so much as a failure to print a specific tile. Now I'm not so sure.

Yeah, it was a weird one in its occurrence, but ultimately tiles (see my post a couple above yours).  Fortunately I have a bunch of playtesters, he he he.  Anyway, yeah, sorry for jumping on the bolded part, got my hackles up a bit...  living on Mercury has made me a little irritable I think, though the room is down from 88F to 82F today, so now it's more like some reasonably hot part of Earth.

Ahh, my fault, I think I was being a little snarky. As for the heat: Back in March we had two straight weeks with no day under 95 (I live in Australia, so the seasons are backwards, but even so it was a kicker) so I know what that's like.
Logged

Draco18s

  • Bay Watcher
    • View Profile
Re: 40a display update issues
« Reply #37 on: August 19, 2008, 10:06:12 am »

In any case, single buffering is heavily deprecated, so you'll need to render to an offscreen buffer, then copy it to the backbuffer each frame in order for it to run properly on newer hardware.

I don't know very much about this stuff.  Isn't the back buffer an offscreen buffer?  You need another one?  I'm double buffering in the sense of requesting double buffering in the PIXELFORMATDESCRIPTOR, and I know I've got two buffers (a front and a back that get swapped) from some of the bugs I got while I was implementing this and a further test I performed now.  Is the PFD's double buffering what you mean by single buffering, and your double buffering means using a third independent buffer that then gets copied over to the back buffer?

Sounds like you're using double buffering already (write to one location and call a buffer swap).  Single buffer is writing directly to the screen--literally, the moment you write a character it would show up on the screen as the display memory and the render memory are one and the same (produces screen tearing as you've rendered half a frame at a particular refresh cycle and things don't line up).  Triple buffering would be...something else entirely, basically you write to one buffer as fast as you possibly can and let the hardware do the buffer swapping once per monitor refresh.  Wiki:  If the system has three color buffers A, B and C, it does not have to wait to swap buffers. It can display buffer B while rendering into buffer A. When done rendering into buffer A, it can start rendering into buffer C immediately. When the monitor is in vertical blank, it can display buffer A and make buffer B available for reuse.

Typically triple buffering is bad for gaming because there is an additional 1 frame of delay between input and display (as it's already rendered an extra half frame when you give it input) and it doesn't have any advantage over double buffering in the event that the system can render frames faster than they're being used (as it will always run out of places to render to, regardless of how many buffers you give it and it will end up waiting anyway).
Logged

kurisukun

  • Bay Watcher
    • View Profile
Re: 40a display update issues
« Reply #38 on: August 19, 2008, 03:35:25 pm »

i have a strange problem in full screen (and only full screen ) :



it looks like i'm seeing three or four frames at once and it flicker like crazy.
 ( X2 4400+ geforce 6800 GS drivers 6.14.11.6921 XP )



I'm getting the same issue, and it appears that it only happens when you change the Y dimension in the init file.   The X dimension can be whatever you'd like, without causing any problems.

That's all I've found as of yet.

Zombie

  • Bay Watcher
  • Ǵ̨̕o͘d͝d̡͢e̡̕s̷͟s̵͢ ͝of̴ ͡G͘͠a̧mi̶n̛͝g̨
    • View Profile
Re: 40a display update issues
« Reply #39 on: August 19, 2008, 04:38:07 pm »

I'm getting the designate bug and here's a little proof screenie that shows a block I've X-ed out... The "texture" tiles (the unrevealed ,s and .s and %s and etc...) refresh perfectly fine, while the blank black tiles do not. This screenie also has minor disappearances... Mainly the screen border and the depth marker thing. This was because I replicated the minimization bug beforehand.




Now, my next screenie is what you see after I minimize and restore... It appears as if only certain creatures are redrawn, mainly a flashing dwarf, constructed stairways, and animals that seem to be moving about or something. Both screenies were taken WHILE PAUSED.



Now a bit of system information:

WinXP Professional version 2002, SP3
Intel Core 2 CUP 6600 @ 2.40GHz
0.98 GB of RAM (will likely be 2 gigs soon, but that's not the point... :P)
NVIDIA GeForce 7950 GT XXX (XFX Manufacturer Overclocked)
XFX provided drivers: NVIDIA 6.14.11.7516
« Last Edit: August 19, 2008, 04:45:16 pm by Zombie »
Logged
If I had a dollar for every dwarf whose feelings I didn't care about, I'd have seven dollars, with more coming in the fall.

Urist McSharpblade, Axe Sheriff cancels Justice: Needs more than an axe for this.

MULTI-THREADING - I'm talking about it!

Keldor

  • Bay Watcher
  • Blood for the blood god!
    • View Profile
Re: 40a display update issues
« Reply #40 on: August 19, 2008, 06:10:01 pm »

Yeah, looks like alt-tabbing is not being detected properly in order to force a redraw.  Try catching the LostFocus event, and setting the forcerefresh flag from in there, since this one at least really should work in fullscreen exclusive mode as you'd expect.

Don't trip the flag in windowed mode from LostFocus - only from fullscreen mode.  LostFocus (should) happen whenever the user clicks on another window, ect.

Another thing that may be happening is that although the user has alt tabbed away and is looking at another window, DF is still rendering away in the background.  Maybe catch the GotFocus event instead.
Logged
If ignorance is bliss, why are my dwarves all tantruming?

Keldor

  • Bay Watcher
  • Blood for the blood god!
    • View Profile
Re: 40a display update issues
« Reply #41 on: August 19, 2008, 06:42:38 pm »

I think I just realized why we're getting the flashing garbage in the initial movie - it's not the screen buffers that aren't being cleared, it's the tilemap buffer!  Or perhaps the tilemap backgrounds buffer.  This is why we call ZeroMemory() when we create new objects, folks ;)
Logged
If ignorance is bliss, why are my dwarves all tantruming?

Keldor

  • Bay Watcher
  • Blood for the blood god!
    • View Profile
Re: 40a display update issues
« Reply #42 on: August 19, 2008, 06:52:24 pm »

Doh!  Wrong thread!
« Last Edit: August 19, 2008, 09:07:52 pm by Keldor »
Logged
If ignorance is bliss, why are my dwarves all tantruming?

wuffe

  • Bay Watcher
    • View Profile
Re: 40a display update issues
« Reply #43 on: August 19, 2008, 10:02:10 pm »

Hmm... I started of with no problems at all with the original settings, then following happened:
a) Switched to 16x16 font [1280x800/80x50/windowed]: Garbage appears if window is pulled outside screen area, and won't go away easily.
b) Switched to 12x12 font [960x600/80x50/windowed]: Nothing is visible at all anymore :/

I wonder if there's something in the dirty retangle thingey hardcoded to the original resolution, and whetever moving the game window is handled, but that's just assumptions. Anyway I hope this is of any help. And yes, I love the game very much <3

Running on WinXP/GF8600

*** EDIT ***

Feeling like total idiot, had saved the font as 8-bit bmp in the latter case. Moving window over screen borders still causes quite much of garbage :) though.
« Last Edit: August 20, 2008, 06:32:23 am by wuffe »
Logged

Sukasa

  • Bay Watcher
    • View Profile
Re: 40a display update issues
« Reply #44 on: August 19, 2008, 10:52:58 pm »

I'm also seeing the triple buffering issue.  To be sure, I spent a little while with my nVidia control panel, and triple buffering is the only change that had any effect on the flickering issue.  However, I'm not really noticing any changes the FPS, even when GFPS cap changes from 50 to 40 to 60.
Logged
<@TRS[DF]> I'll drive this place into the ground faster than Boatmurdered
Pages: 1 2 [3] 4