View Issue Details

IDProjectCategoryView StatusLast Update
0004967The Dark ModGUIpublic07.05.2020 16:36
ReporterSpringheel Assigned To 
Status closedResolutionunable to reproduce 
Product VersionTDM 2.07 
Target VersionTDM 2.08Fixed in VersionTDM 2.08 
Summary0004967: Quicksave causes disruptions to HUD

When pressing quicksave, the inventory/weapon icons are replaced by other images for a second. Sometimes font sheets, sometimes other icons that look like a piece of the lightgem graphic (see video in forum post). Sometimes other parts of the screen flicker with much larger images.

This has been reported by two people.
TagsNo tags attached.


related to 0004341 resolvedstgatilov Conversation sound will abort during a save 




19.01.2019 16:12

developer   ~0011434

I have a hunch that this could potentially also be related to 0004341. Just to keep that also in the back of our heads.


19.01.2019 17:12

reporter   ~0011436

Similarly, when loading, eg a map through the console, the console UI element itself will stretch and flicker for a split frame before going to the load screen. I feel this is likely the same issue as this quicksave HUD bug and my hunch is it has something to do with FBO, but that's a very uneducated guess.


19.01.2019 17:20

developer   ~0011437

So I have run and reloaded tdm with full page heap (enabled via gflags.exe) and I didn't get any memory access violations. While this technique is no guarantee that there are none, access violations are now very unlikely to be the origin of this problem.


20.01.2019 06:19

administrator   ~0011438

I see this for quite a long time already.

I think it is not related to sound problems.
This is most likely a purely graphical problem. Some FBO or texture gets rendered after it should not be rendered.

I would say that as long as the game does not crash and plays properly afterwards, this issue is about adding "polish" to the game.
Unless someone invents a single reliable approach to fix the whole problem, hacking the code to achieve it is not the way to go.


20.01.2019 13:38

administrator   ~0011444

Last edited: 20.01.2019 13:39

This wasn't present in 2.06, so it's something we've introduced during this development cycle. Granted, it's not game-breaking, but it certainly looks sloppy if we release an update that introduces such a noticeable glitch.



20.01.2019 21:47

developer   ~0011451

During the 2.06 dev cycle, this artifact was commonly seen when
r_useMapBufferRange was enabled.

In 2.07, there is no cvar to disable it directly but you can sort of change
the way it works by disabling fence sync.

r_useFenceSync 0

In my testing, this reduced the chance of this showing.

Maybe just forcing a glFinish on quicksave would be enough...


20.01.2019 22:22

developer   ~0011453

Binaries are up in SVN.

The only time the artifact shows up is if I disabled both
uncapped FPS and multi-core and it's very brief.


21.01.2019 04:04

administrator   ~0011458

"reduced the chance" sounds exactly like what we do NOT need, i.e. some random incomplete hacks around the code. In the long run such hacks cause pain, and this issue is not severe enough to justify bringing pain upon us.
Wouldn't it be better to leave the issue bolder and wait until someone manages to fix it properly, once and for all?


21.01.2019 07:58

developer   ~0011459

Last edited: 21.01.2019 08:00

He doesn't propose to implement a hack. He just posts his findings. It might be important information that disabling FenceSync affects the issue. :-)

Edit: Oh wait, he DID add a hack. That's a nay-nay, NBohr. ;-)



21.01.2019 14:58

developer   ~0011464

Last edited: 21.01.2019 14:59

In this case, the "hack" is simply a few more glFinish operations.
(There is already one in the same code module.)

The idea was to polish 2.07 as much as possible, we can revert whatever we want
in SVN and make things ugly again.

For example, I removed the FBO toggle in the screenshot module (I added to
workaround the lightgem breaking on screenshots) ...after the underlying cause
was fixed in SVN (after 2.06). It was late in the 2.06 cycle so the idea was
"make it work without refactoring large amounts of code".



22.01.2019 12:24

developer   ~0011471

Moved to 2.08


07.05.2020 16:36

developer   ~0012477

Cannot reproduce in 2.08 SVN latest build

Issue History

Date Modified Username Field Change
19.01.2019 14:06 Springheel New Issue
19.01.2019 16:12 STiFU Relationship added related to 0004341
19.01.2019 16:12 STiFU Note Added: 0011434
19.01.2019 17:08 Springheel Description Updated
19.01.2019 17:12 Spooks Note Added: 0011436
19.01.2019 17:20 STiFU Note Added: 0011437
20.01.2019 06:19 stgatilov Note Added: 0011438
20.01.2019 13:38 Springheel Note Added: 0011444
20.01.2019 13:39 Springheel Note Edited: 0011444
20.01.2019 21:47 nbohr1more Note Added: 0011451
20.01.2019 22:22 nbohr1more Note Added: 0011453
21.01.2019 04:04 stgatilov Note Added: 0011458
21.01.2019 07:58 STiFU Note Added: 0011459
21.01.2019 08:00 STiFU Note Edited: 0011459
21.01.2019 14:58 nbohr1more Note Added: 0011464
21.01.2019 14:59 nbohr1more Note Edited: 0011464
22.01.2019 12:24 nbohr1more Note Added: 0011471
22.01.2019 12:24 nbohr1more Target Version TDM 2.07 => TDM 2.08
07.05.2020 16:36 nbohr1more Note Added: 0012477
07.05.2020 16:36 nbohr1more Status new => closed
07.05.2020 16:36 nbohr1more Resolution open => unable to reproduce
07.05.2020 16:36 nbohr1more Fixed in Version => TDM 2.08