View Issue Details

IDProjectCategoryView StatusLast Update
0004724The Dark ModGraphicspublic14.11.2020 13:47
Reporterstgatilov Assigned Tostgatilov  
PrioritylowSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
OSWindows 
Target VersionTDM 2.08Fixed in VersionTDM 2.08 
Summary0004724: Investigate "borderless windowed" screen mode
DescriptionUPDATE: Many games have three modes today:
1) Windowed
2) Borderless Windows/Fullscreen
3) Fullscreen
Reopened the issue in order to implement these.

Please read also:
  http://forums.thedarkmod.com/topic/19766-fullscreen-topic/

OLD:
Most of modern games have such a screen mode, when:
1. The game plays in a window.
2. The window has no GUI elements (no border).
3. The window exactly covers the whole screen.
Such a mode is very convenient, particularly because it allows easy alt-tabbing at any moment.
TagsNo tags attached.

Relationships

duplicate of 0003568 resolvedduzenko fullscreen windowed option 
related to 0004022 resolvedduzenko Change default screen resolution? 
related to 0004402 resolvedduzenko Dpi Awareness 
child of 0004288 resolved Minimizing TDM 

Activities

duzenko

duzenko

03.01.2018 15:50

developer   ~0009969

I think this is how it is now on Windows.
nbohr1more

nbohr1more

03.01.2018 15:55

developer   ~0009971

Last edited: 03.01.2018 15:56

Yes, 3568 seems to have made this the default behavior in Windows unless I'm misunderstanding the specifications.

To have Linux feature parity, we need 4190 merged.

stgatilov

stgatilov

03.01.2018 17:46

administrator   ~0009973

Last edited: 03.01.2018 17:47

Ok, I think it should be discussed in forum...
I don't understand resolutions and fullscreen in TDM any more.

It seems that fullscreen mode is simply broken now on Windows: there is no way to enable fullscreen. When I set lower resolution with fullscreen on, TDM just takes a fraction of the screen, which is surely not how fullscreen should work.
And yes: if resolution in TDM matches screen resolution, and fullscreen is on, then it is actually the "borderless windowed" mode I described, and not fullscreen mode.

nbohr1more

nbohr1more

03.01.2018 18:20

developer   ~0009974

The behavior differs depending on whether r_useFBO is enabled.

r_useFBO seems to sorta force native resolution without scaling the game resolution but alt-enter in and out of Windowless seems to cure it.

Similar problems were initially reported with Windows 8 DPI scaling but now the DPI scaling workarounds no longer seem to work.

May be related to 4402
stgatilov

stgatilov

19.12.2018 12:45

administrator   ~0010970

Moving to here (by nbohr1more):

Rev 15464 Trunk

Proposed Fullscreen solution applied

r_fullscreen = 0 corresponds to fullscreen = No (GUI)
r_fullscreen = 1 corresponds to fullscreen = Yes (GUI)
r_fullscreen = 2 corresponds to fullscreen = FSW (GUI) (Fullscreen Windowed)

Having "true" exclusive fullscreen ( r_fullscreen 1 ) feels much smoother and has less mouse input lag.
stgatilov

stgatilov

22.11.2019 12:39

administrator   ~0011873

The last update on this matter was done in svn rev 8403.

Right now there are three modes: windowed, fullscreen, and borderless.
Borderless differs from fullscreen very slightly: height of the TDM window is two pixels larger than height of the screen, so OS (at least Windows 10) treats it like any other window. This allows doing all types of switches (Alt+Tab, Win+Tab, Ctrl+Alt+Enter, Win, etc.) instantaneously without any blinking.
When fullscreen/borderless mode is enabled, the resolution chosen by player is completely ignored. I guess we should somehow gray it out.
stgatilov

stgatilov

22.11.2019 13:27

administrator   ~0011874

One more minor fix in svn rev 8416: now the resolution and aspect ratio shown in menu are updated when player switches to fullscreen.

Better Linux implementation is wanted here:
1) Linux side does not do anything special for borderless mode.
2) When player sets non-native resolution and fullscreen mode, then after reboot Linux implementation actually switches desktop resolution to the set values, while Windows implementation drops user resolution and uses the native one.
I hope this difference is not critical, so I'll mark the issue as resolved.
stgatilov

stgatilov

14.11.2020 13:47

administrator   ~0012931

It turned out that the borderless mode was not working at the moment it was implemented.
Because just after the code which supports it the height was reverted back if FBO is enabled.
At least, it is not working for me right now.

Anyway, fixed it in svn rev 8979.

Issue History

Date Modified Username Field Change
03.01.2018 15:38 stgatilov New Issue
03.01.2018 15:38 stgatilov Relationship added related to 0004022
03.01.2018 15:50 duzenko Note Added: 0009969
03.01.2018 15:54 nbohr1more Relationship added child of 0004288
03.01.2018 15:55 nbohr1more Note Added: 0009971
03.01.2018 15:56 nbohr1more Note Edited: 0009971
03.01.2018 15:56 nbohr1more Note Edited: 0009971
03.01.2018 15:57 nbohr1more Relationship added related to 0003568
03.01.2018 17:46 stgatilov Note Added: 0009973
03.01.2018 17:47 stgatilov Note Edited: 0009973
03.01.2018 17:55 stgatilov Relationship replaced duplicate of 0003568
03.01.2018 17:56 stgatilov Status new => closed
03.01.2018 17:56 stgatilov Assigned To => stgatilov
03.01.2018 17:56 stgatilov Resolution open => duplicate
03.01.2018 18:20 nbohr1more Note Added: 0009974
03.01.2018 18:20 nbohr1more Relationship added related to 0004402
18.12.2018 17:27 stgatilov Status closed => new
18.12.2018 17:27 stgatilov Resolution duplicate => reopened
18.12.2018 17:27 stgatilov Target Version => TDM 2.08
18.12.2018 17:27 stgatilov Description Updated
19.12.2018 12:45 stgatilov Note Added: 0010970
19.12.2018 12:46 stgatilov Assigned To stgatilov => nbohr1more
19.12.2018 12:46 stgatilov Status new => assigned
22.11.2019 12:39 stgatilov Note Added: 0011873
22.11.2019 13:27 stgatilov Note Added: 0011874
22.11.2019 13:31 stgatilov Assigned To nbohr1more => stgatilov
22.11.2019 13:31 stgatilov Status assigned => resolved
22.11.2019 13:31 stgatilov Resolution reopened => fixed
22.11.2019 13:31 stgatilov Fixed in Version => TDM 2.08
14.11.2020 13:47 stgatilov Note Added: 0012931