Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2]

Author Topic: Looking for framerate and workspeed improvements  (Read 2928 times)

Lielac

  • Bay Watcher
  • [ETHIC:PEDANTRY: PERSONAL_MATTER]
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #15 on: January 11, 2014, 01:10:51 pm »

Also, I remember a thread about how to build a pump stack that kept all the tiles surrounding it at the correct temperature so you could leave temperature on while pumping  and not have to worry about the lag from the game recalculating temps in each tile as the pump-stack did its work.  I don't remember who started that thread, however, as it was close to a year ago.

Heeeeeeeeeere!
Logged


Lielac likes adamantine, magnetite, marble, the color olive green, battle axes, cats for their aloofness, dragons for their terrible majesty, women for their beauty, and the Oxford comma for its disambiguating properties. When possible, she prefers to consume pear cider and nectarines. She absolutely detests kobolds.

krenshala

  • Bay Watcher
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #16 on: January 11, 2014, 02:03:22 pm »

Also, I remember a thread about how to build a pump stack that kept all the tiles surrounding it at the correct temperature so you could leave temperature on while pumping  and not have to worry about the lag from the game recalculating temps in each tile as the pump-stack did its work.  I don't remember who started that thread, however, as it was close to a year ago.

Heeeeeeeeeere!
Thank you.  I'm not so great at forum searches some days, and today was definitely one of them.
Logged
Quote from: Haspen
Quote from: phoenixuk
Zepave Dawnhogs the Butterfly of Vales the Marsh Titan ... was taken out by a single novice axedwarf and his pet war kitten. Long Live Domas Etasastesh Adilloram, slayer of the snow butterfly!
Doesn't quite have the ring of heroics to it...
Mother: "...and after the evil snow butterfly was defeated, Domas and his kitten lived happily ever after!"
Kids: "Yaaaay!"

jcochran

  • Bay Watcher
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #17 on: January 11, 2014, 02:18:07 pm »

Just in case you weren't aware, the best way to build the stack is from the top down, as the pumps are evaluated in the reverse order in which they were built.  e.g., build pumps A, B, C, D and E, in that order, and the game pumps with E, then D, then C, B, and A, in that order.  This is how you can pump a full 7/7 of water or magma the entire height of the pump each tick (assuming the bottom-most pump is always pulling from a 7/7 tile, of course).

Also, I remember a thread about how to build a pump stack that kept all the tiles surrounding it at the correct temperature so you could leave temperature on while pumping  and not have to worry about the lag from the game recalculating temps in each tile as the pump-stack did its work.  I don't remember who started that thread, however, as it was close to a year ago.
Actually, order of pump construction doesn't matter as regards throughput. Yes, it does affect how soon you'll get fluid of the top of the stack when you first turn it on, but after it's been running a while? Not at all. You'll still get 7/7 per tick, every tick regardless of if you've built the stack from the top down, or the bottom up, or any other order. The ONLY effect that build order has is how soon the first delivery of fluid happen when you start the stack. For example, let's take your 'A B C D E' pump order as an example. Pump A built first, Pump E acts first.

Example 1. Stack built from top to bottom.
Pump E transports a tile of fluid for pump D to transport for C to transport, etc, until pump A transports it.  Yup. Bottom to top in a single tick just like you said.

Example 2. Stack built from bottom to top.
Tick 1. Pumps B through E don't have anything. Only pump A. Fluid is available at the output of Pump A only.
Tick 2. Pumps C through E don't have anything. Pump B transports fluid. Pump A then transports fluid replacing what pump B moved. Fluid at outputs of A & B.
Ticks 3, 4, 5.... Each tick gets the fluid to a level higher. Once there, the higher level pump will always see fluid every tick.


 In fact, when I build a tall pumps stack, I'll contruct a "support gear" every 3rd level of the stack under construction. Then I'll build a pump attached to every one of those gears simultaneously. After those pumps are finished, I'll then designate and build the remaining two thirds of the pumps. And finally, after the pumps are all constructed, I'll deconstruct the support gears. After all, why should I spend the time for those pumps to be built one at a time when I can instead have 'em built en-mass and let the horde of dwarves I have a available all do the work in parallel?

As for the thermal issues with magma stacks, yes, it's quite important.... And easily handled. Just make the output from each level of the stack a 1x3 reservoir. In fact, if you look at the 3 images I posted for a stack I have under construction, you'll see on the "power distribution" level a space for 1 pump that will be supplying magma to higher levels (it's toward the top of the image. A length 1 axle is leading from the top and bottom of it. The 1x3 reservoir is positioned to the left against the magma pipe.


I will agree with you on magma replenishment in pipes. If you're going to need a LOT of magma, pumping straight from the sea near the map border is best. But there's a limit to how close to the edge you're allowed to build and that increases the distance that is subject to flow mechanics.

Frankly, tapping from the bottom of a magma pipe gives the best compromise between available flow rate vs available magma over time. Given that the original poster is simply wanting to perform some large scale obsidian casting, flow rate and total magma really isn't his or her bottleneck. Instead the issue is simply getting each layer ready for casting. And that's not a pretty or fast issue. For instance, the "ideal" method would be to

1. Fill mold area at level Z with magma.
2. Flow at level Z+1 water until filled, converting level Z to obsidian.
3. Flow at level Z+2 with magma until filled, converting level Z+1 to obsidian.
Keep alternating between flooding a level with magma or water until the desired casting is completed.

Unfortunately, step 3 above doesn't work. So instead step 3 becomes something like
3. Drain off excess water and let dry. After dry, fill level Z+1 with magma and flood Z+2 with water converting Z+1 to obsidian.
And this is SLOW. REALLY REALLY SLOW

Or instead construct two pits that are 20x44 spaced apart from each other by 10 tiles. And at the top of each of those pits have some retracting bridges that can be flooded with magma or water as designed and dropped into the pit. Then proceed to start filling and emptying them until the original poster has two cast columns of obsidian. At least the casting in this case will go as fast as fluid can be obtained. Once the two columns are completed, then build a few more bridges between them. Clean out the space. And cast the 10x44 region between the columns in a similar manner with obsidian.
Logged

WJLIII3

  • Bay Watcher
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #18 on: January 12, 2014, 11:57:30 am »

I'm not sure what everyone means about magma over water not working. I've only tried it once, but it worked perfectly.
Logged

jcochran

  • Bay Watcher
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #19 on: January 14, 2014, 01:45:43 pm »

I'm not sure what everyone means about magma over water not working. I've only tried it once, but it worked perfectly.
Talking  about "flowing" magma over the top of water. Not dropping magma from a retracting bridge onto water. What seems to happen when you attempt to flow magma over water is that you get a lot of the water converted to steam before it's able to solidify the magma into obsidian. And since the water doesn't get replaced, you end up with a randomly mixed layer of obsidian and magma, and on top of that mixed layer, you then get a layer of magma.

Doing the reverse, flowing water on top of magma gets a nice even cast since even though you still get a lot of steam generation, you get replacement water to make up for the loss so the layer of magma gets completely converted into obsidian and you end up with a layer of water on top.
Logged

Thormgrim

  • Bay Watcher
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #20 on: January 14, 2014, 03:45:27 pm »

Leather would be preferable, since copper will slow down your dwarves somewhat. Also, don't bother fully armoring everyone. Just give them something to cover the torso, legs, and feet, so they don't go insane.

Will they eventually build up enough armor user to offset that, or do they only build armor user by being attacked in armor?
Logged

AWellTrainedFerret

  • Bay Watcher
  • An Axe Knight draws near!
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #21 on: January 14, 2014, 05:00:06 pm »

If you set up an upright spear trap on a repeater with only wooden training spears in a high traffic area, yes they will build up armor skill fast enough.
Logged
The Axe Knight attacks before you are ready!
The Axe Knight chants the spell of SLEEP!
Thou art asleep.
Pepare'th thine anus.
Axe Knight hath no lube.

Maolagin

  • Bay Watcher
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #22 on: January 14, 2014, 05:40:36 pm »

I'm not sure what everyone means about magma over water not working. I've only tried it once, but it worked perfectly.
Talking  about "flowing" magma over the top of water. Not dropping magma from a retracting bridge onto water. What seems to happen when you attempt to flow magma over water is that you get a lot of the water converted to steam before it's able to solidify the magma into obsidian. And since the water doesn't get replaced, you end up with a randomly mixed layer of obsidian and magma, and on top of that mixed layer, you then get a layer of magma.

Doing the reverse, flowing water on top of magma gets a nice even cast since even though you still get a lot of steam generation, you get replacement water to make up for the loss so the layer of magma gets completely converted into obsidian and you end up with a layer of water on top.

Ah, that makes a lot of sense, and squares with what I've seen. I was also wondering about this, because I've had flowing magma-on-water be perfectly reliable. But thinking back, that obsidian farm was built into an aquifer layer. Probably any water tiles that got emptied by steam just refilled before they could be surrounded by obsidian.

Which makes me think, perhaps a flowing-magma casting setup would work fine if you just leave the water pump running on the level below, and arrange the geometry so the pump outlet gets obsidianized last.
Logged

Hans Lemurson

  • Bay Watcher
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #23 on: January 15, 2014, 09:12:45 pm »

If you set up an upright spear trap on a repeater with only wooden training spears in a high traffic area, yes they will build up armor skill fast enough.
Or drop things on them. 3,000 plump helmet spawn and they're legendary!

Anyways on the subject of Pump-Stacks, the rate-limiting factor is almost never the throughput rate of the pumps themselves, but rather the rate of magma replacement at the input tile.  Pumps are insanely powerful.  Transporting the entire contents of their input tile up to the output every single tick?!!  Sluggish magma can barely ooze fast enough to refill the void before it gets sucked clean again by these unholy dwarven vaccuum machines.  This is how we get the "moses effect" for building on the bottom of flowing streams and shallow lakes.
Logged
Foolprooof way to penetrate aquifers of unlimited depth.  (Make sure to import at least 10 stones for mechanisms)
Toughen Dwarves by dropping stuff on them.  (Nothing too heavy though, and make sure to wear armor.)
Quote
"Urist had a little lamb
whose feet tracked blighted soot.
And into every face he saw
his sooty foot he put."

Bomepie

  • Bay Watcher
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #24 on: January 16, 2014, 12:14:36 pm »

I'm not sure what everyone means about magma over water not working. I've only tried it once, but it worked perfectly.
Talking  about "flowing" magma over the top of water. Not dropping magma from a retracting bridge onto water. What seems to happen when you attempt to flow magma over water is that you get a lot of the water converted to steam before it's able to solidify the magma into obsidian. And since the water doesn't get replaced, you end up with a randomly mixed layer of obsidian and magma, and on top of that mixed layer, you then get a layer of magma.

Doing the reverse, flowing water on top of magma gets a nice even cast since even though you still get a lot of steam generation, you get replacement water to make up for the loss so the layer of magma gets completely converted into obsidian and you end up with a layer of water on top.

Well this sucks, what's the currently accepted method for casting areas as large as this? I don't think it's possible to use bridges to drop the magma since their size limit would result in gaps in the cast. All I can think of currently is waiting for each layer of water to dry completely.
Logged
Megadorf™ A giant dwarf shaped dwarf fortress

The All Guardsmen Party

jcochran

  • Bay Watcher
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #25 on: January 16, 2014, 05:20:57 pm »

Well this sucks, what's the currently accepted method for casting areas as large as this? I don't think it's possible to use bridges to drop the magma since their size limit would result in gaps in the cast. All I can think of currently is waiting for each layer of water to dry completely.

What I'd suggest would be to use bridges to drop the magma and water. Just need to do it in 2 stages. Let's say that you want to make a casting that's 44 wide, by 50 long, by 60 high (pulling numbers totally out of my rear).
Well, since the widest expanse you can cover with a bridge is 20. that 44x50 immediately brings to mind three segments. 44x20, 44x10, 44x20. So what you do is make 2 castings of 44x20 with a gap of 44x10 between them. Those two castings can be done pretty much as fast as you can supply magma and water. So you end up with two pillars of obsidian. After you've done that, you then fill the 44x10 gap between them with an other casting.

Logged

itg

  • Bay Watcher
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #26 on: January 16, 2014, 05:34:27 pm »

I'm not sure what everyone means about magma over water not working. I've only tried it once, but it worked perfectly.
Talking  about "flowing" magma over the top of water. Not dropping magma from a retracting bridge onto water. What seems to happen when you attempt to flow magma over water is that you get a lot of the water converted to steam before it's able to solidify the magma into obsidian. And since the water doesn't get replaced, you end up with a randomly mixed layer of obsidian and magma, and on top of that mixed layer, you then get a layer of magma.

Doing the reverse, flowing water on top of magma gets a nice even cast since even though you still get a lot of steam generation, you get replacement water to make up for the loss so the layer of magma gets completely converted into obsidian and you end up with a layer of water on top.

Well this sucks, what's the currently accepted method for casting areas as large as this? I don't think it's possible to use bridges to drop the magma since their size limit would result in gaps in the cast. All I can think of currently is waiting for each layer of water to dry completely.

You can actually build retracting bridges which are technically floating in space. They work just fine.

By the way, if you turn temperature off while casting, you won't have any problems using the "flowing" method. Technically this is slightly cheating.

Bomepie

  • Bay Watcher
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #27 on: January 17, 2014, 11:52:57 am »

What I'd suggest would be to use bridges to drop the magma and water. Just need to do it in 2 stages. Let's say that you want to make a casting that's 44 wide, by 50 long, by 60 high (pulling numbers totally out of my rear).
Well, since the widest expanse you can cover with a bridge is 20. that 44x50 immediately brings to mind three segments. 44x20, 44x10, 44x20. So what you do is make 2 castings of 44x20 with a gap of 44x10 between them. Those two castings can be done pretty much as fast as you can supply magma and water. So you end up with two pillars of obsidian. After you've done that, you then fill the 44x10 gap between them with an other casting.

Ahh I was still thinking of a previous plan which called for filling the whole cast with water/magma before hand, but if I'm doing this one layer at a time I guess this will work just fine.

You can actually build retracting bridges which are technically floating in space. They work just fine.

By the way, if you turn temperature off while casting, you won't have any problems using the "flowing" method. Technically this is slightly cheating.

I'd like to know how the floating bridges work, is it just a matter of building them then removing the floors/walls around them?

As for the temperature, I've been hearing that having temperature on during pumping causes a pretty bad FPS hit, if temp is off what changes would there be to casting? It sounds like the obsidian would still form, but there would be no steam. I know this would allow my dwarves to run around in the magma when they shouldnt, but there'd be no way for them to get into the cast anyway if I do things correctly.
Logged
Megadorf™ A giant dwarf shaped dwarf fortress

The All Guardsmen Party

Larix

  • Bay Watcher
    • View Profile
Re: Looking for framerate and workspeed improvements
« Reply #28 on: January 17, 2014, 12:11:31 pm »

I'm not sure what everyone means about magma over water not working. I've only tried it once, but it worked perfectly.
Talking  about "flowing" magma over the top of water.

This works perfectly when you do it right. I just tried it in the arena - a pan full of 7/7 water, created loose lava above and to the side and let it _flow over_ the water, got a solid block of obsidian. Not that it needed trying, i cast 10 of my 20 z-levels of my obsidian layer cake by magma over water, i would have noticed if this didn't work.

And just to pre-empt, this was with temperature on. Magma just flowed in from the side and the whole casting process was: open magma inlet until level is filled at least two deep - shut magma off - open water inlet - let it run until z-level is cast and the level above at least two deep full of water - shut water off, turn magma on - let run until another layer of obsidian is formed and the level above is 2+ magma - etc.

Quote
What seems to happen when you attempt to flow magma over water is that you get a lot of the water converted to steam before it's able to solidify the magma into obsidian.

This just doesn't happen to me. I've no idea what you've been doing to get this behaviour. Having too much or too little water might be a reason - when water is so low that natural evaporation happens, there's no water in the tile to obsidianise; when water's more than a full z-level high, obsidian can form on top, cave-in to the bottom and piston-teleport liquid up to interact with the top layer, leading to irregular layers and sometimes encapsulated liquid pockets.

It seems more like you didn't flow the magma _over_ but _into_ the water, i.e. on the same z-level. That can evaporate water instead of obsidianising it.
« Last Edit: January 17, 2014, 12:17:07 pm by Larix »
Logged
Pages: 1 [2]