Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: More ways to split DF into multithreads. (+multiplayer)  (Read 746 times)

flabort

  • Bay Watcher
  • Still a demilich, despite the 4e and 5e nerfs
    • View Profile
More ways to split DF into multithreads. (+multiplayer)
« on: February 16, 2013, 07:24:58 pm »

So, how many of you already know that display has already been split from DF into a separate thread, meaning DF is now a two-thread game that can run faster on a 2 or 4 core computer now?
Granted, with DF's simple display, that increase in FPS is negligible (unless you use graphics packs). But here's a few more things that could (eventually) be split off into their own threads:
  • Pathfinding. Suggested a lot, actually, and would take some work to do. But definitely worth it if it happens.
  • Injury/syndrome handling. This would only speed things up marginally more then the graphics, but you would eventually notice it.
  • Task handling. This would allow the FPS drop from job cancellation spam or from 10+ legendary miners eating through soil to be negated entirely. As well as making it easier to work on improving the system, though it WOULD be difficult to split off in the first place.
  • Player interface. By making designations, menu exploration, and other such screens/functions work on a seperate thread from the game, we could save... not much FPS. The game auto-pauses while in these menus, so we naturally see the FPS rise while in them. This would mean that the increase in FPS after unpausing or leaving a menu is delayed a little longer, though, and would cause us to see a few more features implemented. Specifically, the auto-pausing while in a menu could be disabled by hard-core players (like the squads screen, but for all screens), and... see the spoiler for details, but they are OMG MULTYPLR PLEZE related.

Settings related to this:
AUTOPAUSE_ON_MENU: Automatically pauses when in a menu. Only disable if you're a hard-core challenge fan, or have 4 other players in online mode.
MENU_REMOVE: Automatically removes you from a menu if the game autopauses for some other reason, like damp stone. Only applicable if Menu Autopausing is disabled.
ONLINE_MODE: allows others to join you if they have the password for your game.
ONLINE_MODE_ENABLING: Allows you to turn ONLINE_MODE on or off when saving or loading in game.
ONLINE_MODE_PASSWORD: The password needed to join you. Must be at least 6 characters long.
ONLINE_MODE_OVERSEE: Default on. When this is disabled but ONLINE_MODE is enabled, other players may observe any part of your fortress at any time, but cannot affect anything.
ONLINE_MODE_GUEST_AUTOPAUSE: Affects whether your game will pause or not when a guest goes into a menu that causes autopausing. Default no.

Yes, this thread was mostly created as a way to describe a multiplayer suggestion. But, I hope/think I did it in a new way that could possibly be done within 10 updates with a player-base hack added, or within 20 updates naturally.
Logged
The Cyan Menace

Went away for a while, came back, went away for a while, and back for now.

Avo

  • Bay Watcher
    • View Profile
Re: More ways to split DF into multithreads. (+multiplayer)
« Reply #1 on: February 17, 2013, 10:39:32 pm »

Each of your suggestions have been suggested multiple times before, to be accurate there is currently 13 pages on multi threading and 34 pages on multiplayer. Please remember to search for your topics before you post them; remember it's perfectly acceptable to necro an old post so long as you add something meaningful to the discussion.
Logged

flabort

  • Bay Watcher
  • Still a demilich, despite the 4e and 5e nerfs
    • View Profile
Re: More ways to split DF into multithreads. (+multiplayer)
« Reply #2 on: February 18, 2013, 02:12:38 pm »

I knew each had been suggested. I just thought that my way of presenting each was in a fresh way. Thank you for clarifying when and when not to necro is acceptable on this forum, though. It really clears some things up.
Logged
The Cyan Menace

Went away for a while, came back, went away for a while, and back for now.

10ebbor10

  • Bay Watcher
  • DON'T PANIC
    • View Profile
Re: More ways to split DF into multithreads. (+multiplayer)
« Reply #3 on: February 18, 2013, 02:13:40 pm »

Do note however, that that particular rule only counts for the suggestion forum.

Necroing in all other parts of the forum is still kinda frowned upon.
Logged