64-bit, multithreading theory/question

By on May 14, 2013 2:10:08 AM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

SithLordAJ

Join Date 04/2008
+37

Hey, so I'm not trying to plead for Sins to get 64-bit/multithreading,  but I've been thinking about things...

Is it not possible to make a kind of 'helper' app that only runs on a 64-bit, multithreaded system? This apps sole job would be to manage additional assets above and beyond what the 32-bit, single threaded can do, swapping the resources into the main app as needed.

This would clearly be a patchwork way to add multithreading, but it helps,  and I would think it would be fairly easy to make and not affect the 32-bit game.

6 Replies
Search this post
Subscription Options


Reason for Karma (Optional)
Successfully updated karma reason!
May 14, 2013 3:16:02 AM from WinCustomize Forums WinCustomize Forums

There are proggies written/designed for FSX [flight sim] to entice the game to benefit from multiple cores, as well as the mod to enable LMA in a 32 bit application [FSX].

Both are 'needed' because FSX is HUGELY processor-intensive ...

Reason for Karma (Optional)
Successfully updated karma reason!
May 15, 2013 4:04:05 AM from WinCustomize Forums WinCustomize Forums

As a separate application it would provide poor improvement as it would exist in separate address space. As a dll that's loaded by the client app it would work.

 

To give you an idea, I'm reading this at the moment : http://www.manning.com/williams/

 

 

Reason for Karma (Optional)
Successfully updated karma reason!
May 16, 2013 1:41:39 AM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Well, that's partly the point... the game is only designed to run on 32 bit systems, and therefore is only able to address 3gb of ram. It is also single threaded. My proposal for games in this situation: add a second app that is 64bit and works in concert with the main app. Meanwhile, this new app runs on a second core, so it shouldn't slow down the system really. 

Theres a few ways I could see this working:

  • It works like the Windows swap file,  but both pieces are in ram. The working ram is on the 32 bit side, and the swap file is on the 64bit side. Imagine the app thinking it is using the low rez texture pack, but at the last minute it gets swapped for a highrez texture... stuff like that. 
  • Im not sure if this will work, but every time the main app puts a resource into ram, the second app swaps it for a pointer to a 64bit memory address. 
  • It knows what function calls are running on the main app and attempts to run them itself. If it wins, it forces the main app out of the function with the results. 
Reason for Karma (Optional)
Successfully updated karma reason!
Sign Up or Login and this ad disappears!
There are many great features available to you once you register. Sign Up for a free account and browse the forums without ads.
May 16, 2013 2:47:52 AM from WinCustomize Forums WinCustomize Forums

If you have the source code for the original program I don't understand why you just don't compile it to 64 bit, this should work fine and will save you a whole world of hurt. (as explained here http://msdn.microsoft.com/en-gb/library/windows/desktop/ee872017(v=vs.85).aspx

 

From that point adding a thread-pool to manage nurbs and assets should be easy enough.

 

 

Reason for Karma (Optional)
Successfully updated karma reason!
May 16, 2013 8:46:07 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Well, no... I did not write Sins of a Solar Empire, and do not have the source code.

The devs here claim it would take too much work to make it 64-bit and multithreaded,  so my question is: is there not some other method of making a game 64-bit/multithreaded without recoding the game?

The best solution is as you suggest, redo it from the ground up, but Sins cant be the only game that still has life and isn't 64-bit. This method could be used on them as well...

Reason for Karma (Optional)
Successfully updated karma reason!
May 16, 2013 9:20:03 PM from Stardock Forums Stardock Forums

is there not some other method of making a game 64-bit/multithreaded without recoding the game?

Probably none that would be easier than doing it the conventional way (by an order of magnitude, at least).

 


I don't understand why you just don't compile it to 64 bit, this should work fine

UI automation and IPC don't have a lot of bearing on whether you can or can't target a particular application to a given platform. A large application may be at the mercy of what platforms its third party dependencies support, parts that may have been coded under assumptions based on one platform that aren't freely portable, etc.

Reason for Karma (Optional)
Successfully updated karma reason!
Stardock Forums v1.0.0.0    #108432  walnut2   Server Load Time: 00:00:00.0000125   Page Render Time:

Home | About | Privacy | Upload Guidelines | Terms of Service | Help
WinCustomize © 2014 Stardock Corporation. All Rights Reserved.