RailWorks 3 - Multi-Core & Other Settings!

Discuss almost anything about RailWorks.

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby Hawk » Wed Oct 05, 2011 7:16 pm

Checking TSX gives me frame rates about 1.

As for upgrading, OS or hardware - that's not an option.

I'm just glad I got what I got. *!greengrin!*
Hawk
 

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby thecanadianrail » Wed Oct 05, 2011 8:32 pm

Hawk wrote:Checking TSX gives me frame rates about 1.

As for upgrading, OS or hardware - that's not an option.

I'm just glad I got what I got. *!greengrin!*


guess it's better than nothin! !*salute*!
Canadian National Railways
Courtesy and Service
My youtube Page: http://www.youtube.com/user/CanadianRailRoader
User avatar
thecanadianrail
 
Posts: 2076
Joined: Fri Oct 29, 2010 8:36 am
Location: Fox Creek, Alberta, Canada

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby Old Prof » Thu Oct 13, 2011 4:41 am

thecanadianrail wrote:... I recomend upgrading your OS to current specs (windows7 64 bit) ...


When did Windows 7 64-bit become part of current specs? I've been following all the RW3 threads (well, as much as I can tolerate, anyway) and haven't seen any mention of this. Please provide a source for this requirement (link, if possible).

Thanks,

Tom Pallen
Tom Pallen (Old Prof)
Old Prof
 
Posts: 735
Joined: Wed Sep 09, 2009 10:09 am

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby AzureWX » Mon Oct 17, 2011 1:26 pm

Is there any additional info on exactly what the multi-core box does? I've got an absolute POS computer that picks up a few FPS when that is ticked, so if there's another workaround that accomplishes the same benefits without the potential CPU meltdown, I could use the tip. *!!wink!!*
User avatar
AzureWX
 
Posts: 10
Joined: Mon Oct 17, 2011 12:29 pm
Location: Petersburg, VA, USA

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby Hawk » Mon Oct 17, 2011 1:48 pm

AzureWX wrote:Is there any additional info on exactly what the multi-core box does?

It's pretty much explained in the first post in this thread. I don't think anything has changed in that regard since then.
Hawk
 

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby peterhayes » Mon Oct 17, 2011 10:18 pm

AzureWX
To see if multicore really works you could try: (Windows by default will not allocate cores 'evenly' or even logically)
If you have a quad core you could use the 'task manager' to set the cores that TS2012 uses, ie set it to use 3 and not all 4 cores to see if that improves thiings.
In the Task manager under 'processes' right click on railworks32.exe and choose 'Set priority' and set to 'above normal', then choose 'SET AFFINITY' and
a quad core will show as CPU0 CPU1 CPU2 CPU3 you could say set TS2012 to run on CPU 1, 2 and 3 and then set Steam.exe to run just on CPU 0 (Core 0) and that could show you if multicore really helps (or try any variation even restricting TS 2012 to a single cpu/core).
Of course the easy way is to use a little app called Process Lasso (http://bitsum.com/prolasso.php) which you have to pay for to get the best out of it or a freebie called PRIO (http://www.prnwatch.com/prio.html) which saves any setting that you make using set priority or set affinity in Task Manager.
I only have a duo core so I set Steam.exe to run on core 0 and TS2012 to run on core 1 and I think (or at least I hope) that it seems to run better. On my quad core used for FSX only Process Lasso certainly seems to smooth things out very nicely.
Just a thought.
PeterH
peterhayes
 
Posts: 174
Joined: Sun Oct 02, 2011 12:34 am

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby AzureWX » Mon Oct 17, 2011 11:40 pm

*!!thnx!!*

A little tweaking in the task manager seems to have lended it a little stability and speed, if not any more FPS. I fired up "Short, Sharp Shunt" on BSB to test it, but an unrelated hardware glitch disconnected my keyboard and I slammed into the first hopper at 20mph. Not the graphical test I intended, but the framerate held throughout! !*roll-laugh*!

I think I'll give it a try again tomorrow with fresh eyes. Thanks again!
Twitter: AzureWX
User avatar
AzureWX
 
Posts: 10
Joined: Mon Oct 17, 2011 12:29 pm
Location: Petersburg, VA, USA

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby arizonachris » Tue Oct 18, 2011 12:31 am

Interesting idea, Peter. But setting affinity with Task manager doesn't hold, you have to reset it every time you start the game. In XP I used a program called "Set Affinity" http://edgemeal.110mb.com/SetAffinity/setaff_ii.htm which will hold what you set for any given program even after a cold boot. Not sure if it works with Win 7. Guess it's the same as PRIO or prolasso. Just one I'm familiar with.
For PC Tech Support check out my website: http://www.abithelp.com
Proud Volunteer on the USS Iowa
User avatar
arizonachris
 
Posts: 2996
Joined: Sun Mar 21, 2010 10:36 am
Location: Southern California

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby Toripony » Tue Oct 18, 2011 1:45 am

That disconnecting keyboard is a known problem in TS'12.
User avatar
Toripony
 
Posts: 908
Joined: Thu Jun 04, 2009 3:13 am

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby peterhayes » Tue Oct 18, 2011 7:01 pm

ArizonaChris
Yes, I should have said that if you use the task manager yo do need to reset the affinity/priority at each boot up. I think that PRIO and set affinity would be very similar. I did find today that by setting railworks.exe to use both core 0 and core 1 and restricting steam.exe to Core 0 that TS2012 seemed to run a little smoother.
Regards
PeterH :D
peterhayes
 
Posts: 174
Joined: Sun Oct 02, 2011 12:34 am

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby AzureWX » Tue Oct 18, 2011 7:14 pm

I don't really mind having to fiddle with task manager every time I run it as long as it helps stabilize the program, and it definitely seems to help. *!!thnx!!*

As to the keyboard, this isn't the issue y'all were talking about in the other thread, this is because I'm a cheapskate and bought a $2 PS/2-USB converter instead of a new keyboard and mouse last time I upgraded computers. *!!wink!!*
Twitter: AzureWX
User avatar
AzureWX
 
Posts: 10
Joined: Mon Oct 17, 2011 12:29 pm
Location: Petersburg, VA, USA

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby stresstool » Tue Oct 18, 2011 8:08 pm

I posted this on the other site some time ago. Here it is again, slightly edited:

I believe there is a misconception about what multi-core means especially in regard to what runs on what core. I believe it would be more accurate to imagine each core in your CPU as a checkout counter at a bank or market with there being a single line (queue) which is serviced in a "next available cashier" mode. It matters not whether there is one core or a hundred, the person/task/thread at the head of the line goes to whichever cashier/core is not currently in use.

Unlike people with a shopping cart full of things, what happens in the computer cashier, is only one thing can be purchased (task performed) then the customer (program), if it still has more to buy (things to do), has to go get back at the end of the line. The next time through the loop, the customer may or may not get the same cashier. In addition, in these time sharing multi-tasking O/S's we are using, not only is the customer restricted to "purchasing one item in each visit", but if they are taking too long, they get clipped mid transaction and again have to go to the end of the line (the time limit is often called process quantum). Of course, they get to resume the transaction exactly from where they left off at the next visit no matter which core they end up being assigned.

You can see this behavior in the CPU usage monitors. Those with multi-core CPUs running a single threaded program, say RW2 or MSTS, may see each CPU(core) being used roughly equally. I.e. a dual core will show each CPU being used roughly 50% and a quad core showing each core being used roughly 25%. This is because there is only one "person" (the single threaded program) in line and each time they/it gets put back in line, it ends up being at the head so they/it are immediately routed to the next available core. They use the core for their quantum period, put back in line, immediately routed to the next CPU, etc. Any kind of wait required of the task (any kind of I/O or mutex wait or what not) will also kick the task off the core but in that case, it is placed in a "go wait over there, we'll call you when your <wait> is finished" spot. When whatever the task was waiting for finishes (i.e. I/O completes), the task is placed back at the end of the line. I should point out if a core becomes available but no process is in line, the core spins in an idle loop (this shows up in the monitors as the idle time).

If for some odd reason one wanted to restrict a program to always run on one core no matter what, then the program can assign an 'affinity' to itself (or have it assigned) confining its scheduling to one or more cores, but I believe this is not typical and should be avoided. Even though one can assign an affinity of a program to one core, it won't prevent other programs from using that core also. I liken it to confining yourself to using an Express Lane at a market or the merchants window at a bank. Even though there might be other cashiers with no lines, you confine yourself to using the express lane regardless of whether there is anyone in line ahead of you. It strikes me as being less than optimum.*

Multi-threaded (or multi-process) programs can take advantage of multi-cores. Continuing along the cashier analogy, imagine yourself with your cart full of things preparing to get in line but this time you have 3 other individuals with you. Each of you grabs one item from the cart and gets in line. Each will be routed through however many cashiers there are. You can complete your checkout in 1/4 the time if there were at least 4 cores; 1/2 the time with 2 cores; no difference with 1 core. Except for the time it takes, you don't notice or change anything about your procedure whether there were 1 or 100 cashiers. Likewise, the computer won't do anything different whether there is one or 100 of you involved in your purchasing. In addition, having more cores than you have threads isn't going to help much unless you are also running additional programs.

* I am not sure why there is such a thing as affinity but I speculate it is to allow programs that were written multi-threaded but not multi-core aware to run without error. I.e. multi-threaded programs that were only ever tested on single core CPUs. It is pretty easy to screw up while writing multi-threaded applications but they will still work on single core processors because things the program expects may still happen in the intended order. With multi-core CPUs, parts of the program may (likely will) complete out of order producing some unexpected results. I.e. "Something bad has happened", "MSTS Phone home", BSOD, race conditions, mutex deadly embraces, etc.

Clear enough?
User avatar
stresstool
 
Posts: 26
Joined: Mon Feb 16, 2009 7:10 pm

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby arizonachris » Tue Oct 18, 2011 9:56 pm

Slightly off topic, but, I have used Set Affinity for years on my XP Pro/ Folding @ Home rigs (I have 4 of them). I have to confine the Folding/ SMP client to 3 cores so that one core can run the tasks that the GPU client need. Amazing how much work a video card with CUDA can do. Without Set Affinity, the SMP Folding client would use 100% of all 4 cores and choke the video card.
For PC Tech Support check out my website: http://www.abithelp.com
Proud Volunteer on the USS Iowa
User avatar
arizonachris
 
Posts: 2996
Joined: Sun Mar 21, 2010 10:36 am
Location: Southern California

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby Chacal » Tue Oct 18, 2011 10:34 pm

peterhayes wrote:I did find today that by setting railworks.exe to use both core 0 and core 1 and restricting steam.exe to Core 0 that TS2012 seemed to run a little smoother.


Shouldn't that be railworksproc2.exe?
Over the hill and gathering speed
Chacal
 
Posts: 1654
Joined: Tue Jul 05, 2011 1:11 pm
Location: Quebec, Canada

Re: RailWorks 3 - Multi-Core & Other Settings!

Unread postby peterhayes » Tue Oct 18, 2011 11:43 pm

Chacal
Sorry No! *!!wink!!*
Under processes in the Task Manager it is Railworks.exe *32 (the *32 just denotes it is a 32-bit application). It is derived from TS2012 v7.1a(.NET 4.0) as the application. Now it is interesting that we are told to use railworksproc.exe for the nvidia/ati graphic card settings. I wonder why? *!question!*
Regards
PeterH
peterhayes
 
Posts: 174
Joined: Sun Oct 02, 2011 12:34 am

PreviousNext

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 2 guests