Display scaling, live window resizing, and high-DPI support #4720
Comments
pastdue commented === Overview
=== General These changes all essentially depend on each other, thus this is a single PR. === Additional Details
|
Forgon uploaded file complete command line output of |
Forgon uploaded file complete command line output of |
Forgon changed blocking which not transferred by tractive |
Forgon changed blockedby which not transferred by tractive |
Forgon changed _comment0 which not transferred by tractive |
Forgon commented Your patch failed compilation in
It also contained several whitespace errors.
These problems are now fixed (see attached file [raw-attachment:4720_update.patch]), yet others remain:
|
pastdue commented Replying to Warzone2100/old-trac-import#4720 (comment:2):
Hmm. I tested on several Mac and Windows systems, and I saw better performance in all cases. It makes me wonder if there is an SDL quirk triggering constant recalculations (or something similar). Could I please get some more details on your system? (What OS / version? What graphics cards / hardware specs? Are you using the SDL backend? What version of SDL?) |
Forgon changed _comment0 which not transferred by tractive |
Forgon changed _comment1 which not transferred by tractive |
Forgon commented Replying to Warzone2100/old-trac-import#4720 (comment:3):
I use ArchLinux with i3 (possibly the most important factor), the integrated graphics card of the Intel i5-2540M processor and SDL 2.0.7-1. Edit: I updated the commit message for the updated patch to fix an erroneous newline and mention the displayScale config file variable you introduced |
Forgon uploaded file patch file created with |
pastdue changed _comment0 which not transferred by tractive |
pastdue changed _comment1 which not transferred by tractive |
pastdue commented Replying to Warzone2100/old-trac-import#4720 (comment:4):
If you disable shadows, does it resolve the performance issues you are seeing on your system? Also, what version is your compiler? EDIT: I believe I got this to reproduce, it does appear to be related to shadows. I have a working fix coming shortly. EDIT(2): See 4720_b-part1.patch, and 4720_b-part2.patch (split into two patches, per GitHub PR request). |
Quenton commented Replying to Warzone2100/old-trac-import#4720 (comment:3):
can you upload the windows builds someplace? I got 2 testers for windows. |
pastdue uploaded file Revised patch - part 1 |
pastdue uploaded file Revised patch - part 2 |
Forgon commented After applying [raw-attachment:4720_b-part1.patch] and [raw-attachment:4720_b-part2.patch], I still experience significant delays when pressing arrow keys that occasionally cause crashes, for which the last line of terminal output is:
|
pastdue changed _comment0 which not transferred by tractive |
pastdue changed _comment1 which not transferred by tractive |
pastdue commented Replying to Warzone2100/old-trac-import#4720 (comment:7):
So just to confirm: When pressing the arrow keys in-game to move the camera, the game freezes before each tick of camera movement? Or does the game not freeze, but there is just a delay before the input has an effect? Would it be possible to record a short screen capture showing exactly what you see? Would it be possible to get a log from a run of (patched) Warzone run with the
Also, do you still see this same behavior on your system with just 4720_b-part1.patch applied? And finally, what is the result of using |
past-due <30942300+past-due@...> changed status from |
past-due <30942300+past-due@...> changed owner from `` to |
past-due <30942300+past-due@...> changed resolution from `` to |
past-due <30942300+past-due@...> committed [413] In Warzone2100/warzone2100@413a219:
|
pastdue changed status from |
pastdue changed resolution from |
Forgon changed _comment0 which not transferred by tractive |
Forgon commented Replying to Warzone2100/old-trac-import#4720 (comment:8):
I have unfortunately not had the time to test yet -- but I will do so and show you the results. You wrote in the pull request:
This issue (which deserves its own bug report) did already exist before your patch. Must live resizing in windowed mode be disabled for all systems? If it only fails with Unix, I would prefer to keep it enabled for all other systems by utilizing conditional compilation. Also, does this patch require SDL version 2.0.4 or 2.0.5? |
pastdue commented The Github PR now has 4 parts, yes. (I have not yet updated the patches here in Trac.) It still enables everything we're talking about. That 4th commit simply disables "using the Resolution option in the Video options menu to change the windowed resolution". You can still:
You just can't use the Resolution menu option in Windowed mode to change the resolution - it just displays the current resolution. (There were more bugs with this than just the issue with SDL + tiling window managers. Now that live-resizing is available, using the menu option is unnecessary in Windowed mode.) |
pastdue commented According to Forgon (via IRC), the issue he experienced related to performance degradation occurs even without this patch. (It's some combination of specific resolutions, anti-aliasing, and specifics of his system - perhaps the graphics driver.) He will be digging into that separately to try to track down what's going on his system. The bottom line: This patch can be eliminated as a cause of the behavior Forgon is seeing. All feedback thus far relating to the patch yields a performance improvement. |
past-due <30942300+past-due@...> changed status from |
past-due <30942300+past-due@...> changed resolution from `` to |
past-due <30942300+past-due@...> committed [619] In Warzone2100/warzone2100@619e84d:
|
resolution_fixed
type_patch (an actual patch, not a request for one)
| by pastduePR: Warzone2100/warzone2100#113
Patch: https://github.com/Warzone2100/warzone2100/pull/113.patch
Issue migrated from trac:4720 at 2022-04-16 13:01:03 -0700
The text was updated successfully, but these errors were encountered: