Age | Commit message (Collapse) | Author |
|
|
|
This actually (I believe) fixes three separate issues that are all
aspects of the same bug:
* Alexandre-Xavier reported that when running at full framerate, the
single -devparm dot would flash (#374);
* Linguica reported on Doomworld that Chocolate Doom appeared to be
rendering each tic twice (see:
http://www.doomworld.com/vb/post/1340374 ).
* Harha reported performance problems when running in a VM, which
may be related (http://www.doomworld.com/vb/post/1374315 ).
Chocolate Doom long ago (41cdd5785305a) changed the main loop code so
that it does not freeze in network games when tics stop being
received; the idea is that it should always be possible to activate
the menu to quit. Vanilla Doom allows this too, but only after 20 tics
of waiting in TryRunTics() for network data to be received; the menu
can be used but is deathly slow. So the loop was changed to wait for
only 1 tic instead.
However, there was an error in the logic for the check. In a single
player game, when time has advanced to the point of being ready to
execute another tic, NetUpdate() will build the new ticcmd_t;
TryRunTics() was returning immediately; according to the timer, at the
exact same time as tic generation, we had also been spinning in the
loop for a whole tic and it was time to render a new frame.
The end result was that each tic transition would trigger two frames
to be rendered: the previous frame, and the new frame. Clearly this is
not what is intended.
To fix the problem:
* Refactor the blocking loop in TryRunTics() so that we only bail out
of the function after checking that the loop's exit condition has
not just been satisfied (also to eliminate an unnecessary call to
I_Sleep() between ticcmd_t generation and execution).
* Increase the delay before we bail out to 5 tics rather than just 1.
This is still much less than the 20 used in Vanilla Doom but is
low enough to keep the menu responsive. A higher bar should ensure
that this bug can't reoccur, even in multiplayer where the clocks
can be adjusted for sync.
This fixes #374. Thanks to everyone involved in reporting the different
aspects of it.
|
|
Tweaks to the Strife notes based on feedback from Quasar, and add
mention of the OPL3 support now that it has been merged.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add reference to PHILOSOPHY file.
|
|
This is a summary of changes since v2.0.0.
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2762
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2701
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2510
|
|
Alexandre Xavier).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2478
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2463
|
|
executable. Change the default Final Doom emulation mode to be the
original executable.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2457
|
|
PC hardware that only supports 6 bits per channel (thanks GhostlyDeath).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2433
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2359
|
|
Rahul Sundaram).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2357
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2356
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2342
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2340
|
|
(thanks Adrián Chaves Fernández).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2337
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2335
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2330
|
|
Xavier).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2329
|
|
capslock turned on. Fix a similar problem in-game when typing cheat
codes or using menu hotkeys (thanks Alexandre Xavier).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2327
|
|
bindings to prevent bindings to the same key from being cleared (thanks
myk).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2325
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2323
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2320
|
|
(thanks Alexandre Xavier).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2319
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2315
|
|
Xavier).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2314
|
|
Alexandre Xavier).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2313
|
|
have long filenames (thanks blzut3).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2312
|
|
Alexandre Xavier).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2311
|
|
(thanks Alexandre Xavier).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2309
|
|
whether fullscreen is turned on or not.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2308
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2303
|
|
different platforms.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2299
|
|
with CLNJ-506.LMP (thanks entryway).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2298
|
|
fixes the demo loop crash (thanks Porsche Monty, Enjay).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2297
|
|
that apparently aren't played by Vanilla Doom (thanks Quasar).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2291
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2287
|
|
(thanks Alexandre Xavier).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2249
|
|
twipley).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2239
|
|
shift, to match Vanilla (thanks AlexXav).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2238
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2237
|