Star Wars: The Old Republic, skipping after long play time.

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
wiggmpk
Newbie
Newbie
Posts: 4
Joined: Sun Apr 16, 2017 7:28 pm

Star Wars: The Old Republic, skipping after long play time.

Post by wiggmpk »

Code: Select all

Ubuntu 16.04.2 LTS
uname -r = 4.8.0-46
wine --version = wine-2.5 (Staging) - Same results from wine-staging 2.0+
nvidia-381

Code: Select all

Intel i7-6700HQ @ 2.6GHz (Quad Core)
Nvidia GeForce GTX 960m
16Gb RAM 32Gb SWAP (never gets touched)
This game still requires a patch to play as noted @ https://bugs.winehq.org/show_bug.cgi?id=29168. I am using a workaround to play as noted @ https://github.com/aljen/swtor_fix

Expected Behavior: Continuously smooth FPS and game play.

Experienced Behavior: After about 2hrs of gameplay, the game pauses every second for about 1/4 to 1/2 second.

Additional Information:
Enabled CSMT for better graphic performance (have tried disabled, no change)
Enabled VAAPI as backend for DXVA2 GPU decoding (have tried disabled, no change)
Enabled Environmental Audio Extensions (EAX) (have tried disabled, no change)

Logs attached.

launcher.txt = the login/patcher, which in turn launches swtor.exe x2 game clients
^ this file is 31 megabytes, because of this I compressed all 3 logs into 1 tar.gz
swtor_fix.txt = the workaround client
launcher_20170417.log = the actual game client log

PS: Please forgive me if I have neglected to provide pertinent information.
Attachments
logs.tar.gz
(113.89 KiB) Downloaded 262 times
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Star Wars: The Old Republic, skipping after long play ti

Post by Bob Wya »

@wiggmpk,

I had a bit of a look into this issue a while back... It's not much fun dealing with these timing related bugs...

I rebased the original patch against Wine 1.9.19 ...
I can rebase this again - if you want to see if it helps with Wine Staging 2.5...

You could try tweaking the swtor_fix synchronisation time (the default is 15 seconds).

Feel free to file a bug - but I doubt it will get much attention... The threading model is very different on native Windows... So this issue is hard to workaround...
In your case it sounds (possibly,maybe) like the shared system time is going slightly out of sync in the swtor process - despite the extra dedicated thread to keep it in sync.

Have you tried eariler versions of Wine - e.g. 1.8.7 - to see if your issue is a regression?

The logs you've attached aren't terribly useful - you'd at least want to timestamp the entries to help match up when the game starts to stutter...
See WineHQ Wiki: Debug Channels ...
+timestamp: prefixes each debug output line with the timestamp when that line executed. This is invaluable for debugging performance issue.
Ta
Bob
wiggmpk
Newbie
Newbie
Posts: 4
Joined: Sun Apr 16, 2017 7:28 pm

Re: Star Wars: The Old Republic, skipping after long play ti

Post by wiggmpk »

@Bob Wya

Much thanks for the reply. I wasn't holding my breath, given the age of the game.

I would eternally grateful if you found the time to rebase the patch for wine-staging 2.5 as I am nowhere near savvy enough to do it myself. In the mean time, I will try using an older version of wine to see if the problem persists. Given the time it takes for the issue to present itself, it may take some time to report back.

This was my very first attempt and collecting logs for an issue and I really had no idea what I was doing. Brainwash in IRC was kind enough to point in the right direction. I'll give it another go with timestamps.

As far as tweaking swtor_fix is concerned, applying your rebased patch would make tweaking the snycro time a mute venture yes?
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Star Wars: The Old Republic, skipping after long play ti

Post by Bob Wya »

wiggmpk wrote:@Bob Wya

Much thanks for the reply. I wasn't holding my breath, given the age of the game.

I would eternally grateful if you found the time to rebase the patch for wine-staging 2.5 as I am nowhere near savvy enough to do it myself. In the mean time, I will try using an older version of wine to see if the problem persists. Given the time it takes for the issue to present itself, it may take some time to report back.

This was my very first attempt and collecting logs for an issue and I really had no idea what I was doing. Brainwash in IRC was kind enough to point in the right direction. I'll give it another go with timestamps.

As far as tweaking swtor_fix is concerned, applying your rebased patch would make tweaking the snycro time a mute venture yes?
Actually I've tested the re-based wine-1.9.19-ntdll_thread_update_shared_data_time.patch patch and it still applies against Wine Staging 2.6.
So you should be good to go with that...

Testing using swtor_fix.exe or a patched version of Wine - with the wine-1.9.19-ntdll_thread_update_shared_data_time.patch patch - are mutally exclusive...
Since in essence they both do (roughly) the same thing.

swtor_fix.exe should in theory be more efficient - since it only synchronises the main SWTOR process to the system time and does not afffect any other Wine processes.
I'm knocking up a forked version of swtor_fix.exe that takes a single command line argument - to set the synchronisation interval time (in milliseconds).
I'd recommend testing with this as well. I'll post a link when I'm done testing this... 8)

Have you tried locking your SWTOR Wine processes to a single physical core (be it hyperthreaded or not) with:

Code: Select all

taskset
??

Bob
wiggmpk
Newbie
Newbie
Posts: 4
Joined: Sun Apr 16, 2017 7:28 pm

Re: Star Wars: The Old Republic, skipping after long play ti

Post by wiggmpk »

As per your suggestion, I tried previous versions of wine. From wine-1.8.7 on up. I just updated to wine-staging 2.6 with the same results. I dabbled with the swtor_fix source, playing around with the sync time with the same results.

My launcher script typically had been

Code: Select all

taskset -c 0-7 wine launcher.exe
I have tried eliminating taskset altogether, but I will test it using a single core.

I am eager to get my hands on your forked version of swtor_fix :)


If I haven't said it already, I appreciate the time and attention you are giving this issue.
Thank you
wiggmpk
Newbie
Newbie
Posts: 4
Joined: Sun Apr 16, 2017 7:28 pm

Re: Star Wars: The Old Republic, skipping after long play ti

Post by wiggmpk »

Assigning a single physical core to the game drops my FPS to about 3 (obviously unplayable). Needless to say I didn't test it long enough to see if it resolved the desync.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Star Wars: The Old Republic, skipping after long play ti

Post by Bob Wya »

wiggmpk wrote:...
I am eager to get my hands on your forked version of swtor_fix :)
...
OK so I've pushed some updates to a forked version of the original swtor_fix repository...
See Github / bobwya : swtor_fix ...

As I don't (personally) have any interest in playing SW:TOR I've not gone totally overboard with my testing regime... You've been warned!! 8)

The changes to the swtor_fix.exe source code are very simple...
It just allows a single time interval parameter - to set the interval (in milliseconds) between successive system time updates in the main swtor process.

Give it shot - but you may find it makes no difference (your issues could be due to a VRAM memory leak or a thousand other factors)... :cry:

Bob
Locked