Jump to content

Recommended Posts

Posted (edited)

I was testing which weapon would be best for my ranger, and measured the attack times with different buffs on.  All the numbers were adding up until I stacked both chant and swift aim, and started attacking faster than any math can seem to justify.

 

                                             Attack   Recovery   Reload   Total      5-shot Avg

CrossBow                 1.7    2.5      3.3   7.5      7.48

CrossBow (swift-s)       1.7    2.1      2.2   6.0      5.96

CrossBow (viscious-v)    1.7    3.1      4.4   8.8      8.76

CrossBow (chant-c)       1.7    2.1      2.7   6.5      6.50

Crossbow (s, c)          1.7    1.5      2.2   5.4      5.44

 

(Sorry for table being askew, its not respecting my formatting in the editor.  All times in seconds.  Measured using elapsed game time using start/end time difference on buff.  Test character 10 dex, no armor)  Times are consistent within 1/10th of a second, and repeatable.

 

1 - Swift alone, the numbers match up to the spell description.  Recovery: 2.5/1.2 = ~ 2.1 (2.08333).   Reload also matches: 3.3/1.5 = 2.2 on the nose.

 

2 - Chant alone, the numbers also match up the description.  Recovery: 2.5/1.2 = ~ 2.1 (2.083333).  Reload also matches: 3.3/1.2 = ~2.7 (2.75 )

 

3.  Now when we stack both swift and chant, we would expect to see something like 2.5/(1 + .20 + .20) for recovery, which would be 1.78 speed.  Even if we stacked the buffs multiplatively, it would be 2.5/(1.44) = 1.736.   Instead, we are getting 1.5s which is  almost an extra 27% (26.6666%) speed burst out of thin air  (2.5/1.5 - 1.40 = 26.666%).

 

Anyone know where this extra speed is coming from?

Edited by blinkicide
  • Like 1
Posted (edited)

Ok I figured this out:

 

Some buffs add/subtract directly to the armor speed mod.   So if you have a naked character, your armor speed penalty is 1.0 (no penalty).

If you then stack swift or chant on these, it subtracts directly.

 

So if you are in 50% penalty armor with a warbow, and use Swift, it will be exactly like you are in 30% leather armor.  (With a warbow swifts reload speed bonus doesn't come int play)  In fact, I put two archers with same stats side by side, one in plate + swift, and one in leather, and they matched perfectly over dozens of attacks.

 

Thus with both chant and swift and no armor, your armor speed penalty becomes essentially a bonus:  1.0 - .20 - .20 = .60 less time for your recovery.

 

Now this armor penatly/bonus stat stacks multiplicatively with Dex.  So you can't use a 30 dex character to get 1.0 - .20 - .20 - .60 = 0 to eliminate recovery altogether.  (If you want to do that, see the post below, I figured out how.)   Instead, the math ends up being (1.0-.20-.20) / (1+Dex Bonus).

 

There's a few other bonuses to investigate here, like speed bonus on some weapons.

 

Edit: speed mod on weapons stacks additively just like chant/swift, and only affects the weapons recovery period (not attack or reload).  So you can reduce your recovery to 40% if naked with those buffs (1-.20 -.20 - .20 = .40), before dividing by dex bonus.  

Edited by blinkicide
  • Like 1
Posted (edited)

It seems that Deleterious Alacrity of Motion + chant + speedy weapon (50% + chant 20% + 20 weapon speed mod) is enough to remove the recovery period altogether (no recovery animation), even on a 10 dex character.   A bit surprising since the bonuses only adds up to -90% by my calcs,   Tested with forgiveness, gonna pick up some other speed weapons later today to test, particularly want to try the wand)

 

So even with low dex, the right buffs = no recovery time.  Still have attack and reload times, but makes some wand / war bow build ideas quite interesting.  Especially wizard, since they can cast alacrity all the time. 

Edited by blinkicide
  • Like 1
Posted

Hi blinkicide,

 

attack speed and recovery times have been subject to long investigations and debates since the game's release, as seen in this thread which you may find interesting. I have conducted some tests myself for my Lady of Pain build; you'll find them here.

 

My tests are all frame-based, however, as opposed to second-based. To conduct them, I capped the game's speed at 30 fps, then recorded a 30-fps video with nVidia Shadowplay and advanced it frame-by-frame in VLC, manually counting. Math usually adds up except in a few cases; 1 or 2 frame discrepancies can be due to human error or simply system glitches (since PoE is not the only process running in Windows at any given time.) They amount to 1/30th of a second, so they're fairly inconsequential.

 

It is known that while DEX affects everything, anything in the game that says "attack speed" only affects recovery time (except, of course, stuff that explicitly affects firearms' reload speed, such as the Gunner talent or one of the Chanter's chants.) I believe the devs mentioned in an interview they did this purposefully to avoid messing too much with attack animations. Additionally, there appears to be a 4-frame delay between the end of the recovery time and the beginning of the next attack animation; I believe this was done to avoid glitches or otherwise strange behaviors in case the player built a character with 0 recovery time.

 

It is worth noting that stuff that reduces armor speed penalties only works if you actually have an armor speed penalty. So if you're wearing clothes with 0% recovery penalty and take the Armored Grace ability, and/or enchant them with Durgan Steel, they will not make your recovery any faster.

 

 

All my tests are based on a character wielding a two-hander, although I've recently built a barbarian that dual-wields battle axes with no recovery time while using Vulnerable Attack (after sipping a Deleterious Alacrity of Motion potion, of course.)

 

Standard attack animation for a two-hander lasts 30 frames, and there appears to be a hard limit of 24 frames for it. A character with 36% bonus speed from DEX attacks at 24 frames, and so does one with a 45% bonus. Chances are attack animations were capped this way to avoid messing with them too much, as the developers mentioned.

 

Recovery is often quoted as being 60 frames, but that is not consistent with my frame-by-frame analysis. I consistently get 50 frames, including the 4-frame delay; this would put recovery at 46 frames, which is consistent with recovery for two-handers being attack speed + 50% (1-frame variance is immaterial.)

 

My most recent test:

 

Penalties:

Plate Armor (50%)

Vulnerable Attack (20%)

 

Bonuses:

Armored Grace (-16% penalty)

Durgan Steel armor (-15% penalty)

Durgan Steel weapon (+15% attack speed)

Deleterious Alacrity of Motion (+50% attack speed)

25 DEX (+45% action speed; applies to both attack and recovery)

 

Expected:

Attack: 30 * (1-0.45) = 16.5

Recovery: 46 * (1+0.5+0.2-0.16-0.15-0.15-0.5-0.45) = 46 * (1-0.71) = 13.34 + 4-frame delay

 

OR, if DEX applies to recovery in the same way it applies to attack as you suggest,

 

Recovery: 46 * (1+0.5+0.2-0.16-0.15-0.15-0.5) / (1+0.45) = 46 * (1-0.26) / (1+0.45) = 34.4 / (1.45) = 23.5 + 4-frame delay

 

 

Observed:

Attack: 24 frames (seems to be hard-capped.)

Recovery: 21 frames + 4-frame delay (closer to your way of applying DEX, but faster by 2.5 frames)

  • Like 1

"Time is not your enemy. Forever is."

— Fall-From-Grace, Planescape: Torment

"It's the questions we can't answer that teach us the most. They teach us how to think. If you give a man an answer, all he gains is a little fact. But give him a question, and he'll look for his own answers."

— Kvothe, The Wise Man's Fears

My Deadfire mods: Brilliant Mod | Faster Deadfire | Deadfire Unnerfed | Helwalker Rekke | Permanent Per-Rest Bonuses | PoE Items for Deadfire | No Recyled Icons | Soul Charged Nautilus

 

Posted (edited)

It is worth noting that stuff that reduces armor speed penalties only works if you actually have an armor speed penalty. So if you're wearing clothes with 0% recovery penalty and take the Armored Grace ability, and/or enchant them with Durgan Steel, they will not make your recovery any faster.

 

 

As to the specific buffs I investigated, chant (+20% ranged attack speed), swift (+20% attack speed), weapon speed mod (+20% attack speed) these all stack and reduce recovery as if they were negative armor penalty.  They stack additively with each other (unlike the dex buff which stacks multiplicatively, or any of the reload buffs -- which are all multiplicative).  Thus, if you have a character who is naked with these 3 buffs, their recovery time is only 40% of the original value.

 

Taking this a step further, if you use an alacrity potion, you get to 90% reduction (not 110% because alacrity overwrites swift), but the game starts skipping the recovery animation altogether.  By recovery animation, i mean no recovery bar is shown - straight to reload.  I'm still uncertain as to the exact point recovery begins: after first damage or projectile becomes air born, or when recovery bar first appears.  My timings assume its when the recovery bar appears.  But with 90% reduction (by math), no recovery bar is showing (tested using the pistol forgiveness on a 10 dex character.

 

This suggests, demonstrates rather, that some buffs which subtract/reduce the armor penalty, can flip the penalty negative, and can be used to get rid of recovery altogether if the armor penalty is small enough.  I'll take your word on armor grace not behaving this way, though.  The durgan steel enchant, don't have acess to that yet, but isn't that a weapon speed mod buff, like above?

 

 
Standard attack animation for a two-hander lasts 30 frames, and there appears to be a hard limit of 24 frames for it. A character with 36% bonus speed from DEX attacks at 24 frames, and so does one with a 45% bonus. Chances are attack animations were capped this way to avoid messing with them too much, as the developers mentioned.

 

I noticed as well that attack animations don't keep up with dex reductions (but recovery and reload do).  I did see measurable reduction from 30% going to 51% though.  It could be because of how I measure attack animation, I measure from the point attack command is issued to a ready char to a visible recovery bar.  

 

I compare my timings for a  "cycle -attack, recovery, reload" to the average of multiple/consecutive  cycles, to make sure I'm not catching any one-time attack delays or anything.  Everything checks out to within 1/10 of a second.

 

But perhaps what I been measuring as attack may include a few tenth's of a second of recovery, that is if you think recovery begins before the recovery bar is visible (e.g. does recovery start after damage / projectile launch? or does it start when recovery bar is first visible.  I think the frame counters, from reading their posts, were counting attack animation until damage dealt, instead of recovery bar visible?  I see there was also debate how to count the pause/delay between attacks, and execution of attack orders.

Edited by blinkicide
Posted (edited)

 

My most recent test:

 

Penalties:

Plate Armor (50%)

Vulnerable Attack (20%)

 

Bonuses:

Armored Grace (-16% penalty)

Durgan Steel armor (-15% penalty)

Durgan Steel weapon (+15% attack speed)

Deleterious Alacrity of Motion (+50% attack speed)

25 DEX (+45% action speed; applies to both attack and recovery)

 

Expected:

Attack: 30 * (1-0.45) = 16.5

Recovery: 46 * (1+0.5+0.2-0.16-0.15-0.15-0.5-0.45) = 46 * (1-0.71) = 13.34 + 4-frame delay

 

OR, if DEX applies to recovery in the same way it applies to attack as you suggest,

 

Recovery: 46 * (1+0.5+0.2-0.16-0.15-0.15-0.5) / (1+0.45) = 46 * (1-0.26) / (1+0.45) = 34.4 / (1.45) = 23.5 + 4-frame delay

 

 

Observed:

Attack: 24 frames (seems to be hard-capped.)

Recovery: 21 frames + 4-frame delay (closer to your way of applying DEX, but faster by 2.5 frames)

 

I'll go over this test in a separate post here, 

 

First, your second calculation seems to confirm that dex is indeed multiplicative.  Otherwise the result would be wildly off.   You got to within 2.5 frames, which could very well be due to rounding.   But maybe we can get closer, also you use a lot of buffs, and frankly I haven't played / investigated all of them.  Maybe one of them is multiplcative, who knows.

 

That said, I notice that the frame counters are separating out the pauses into their own category.  I'm not sure whether the reason for excluding these frames is on sound footing; as I ended my last post, I think they were even debating among themselves how to account for them. 

 

So lets take that 4 frame "pause", and stick it with the rest of the recovery time:

 

we get 50 frames base (46+4).

 

Now expected:

 

50 * .74 / 1.45 = 25.517 frames

 

Now look at observed:

 

21 + 4 frames = 25 frames.

 

Maybe those 4 frames "pauses" between attacks are actually being counted for purposes of how many frames to remove from the recovery period?  Maybe need more samples/test conditions to see if this is just coincidence or not.  Either way, i'm fairly content with the accuracy at this point.

Edited by blinkicide
  • Like 1
Posted (edited)

As to the specific buffs I investigated, chant (+20% ranged attack speed), swift (+20% attack speed), weapon speed mod (+20% attack speed) these all stack and reduce recovery as if they were negative armor penalty.  They stack additively with each other (unlike the dex buff which stacks multiplicatively, or any of the reload buffs -- which are all multiplicative).  Thus, if you have a character who is naked with these 3 buffs, their recovery time is only 40% of the original value.

 

This suggests, demonstrates rather, that some buffs which subtract/reduce the armor penalty, can flip the penalty negative, and can be used to get rid of recovery altogether if the armor penalty is small enough.  I'll take your word on armor grace not behaving this way, though.  The durgan steel enchant, don't have acess to that yet, but isn't that a weapon speed mod buff, like above?

 

I think we're saying the same thing with different wording :)

 

There are buffs/bonuses in the game that generically apply to "attack speed." Examples include the weapon "Speed" enchantment, Deleterious Alacrity of Motion, Durgan Steel when applied to weapons, and the Swift Aim modal. These always apply to your recovery time regardless of whether you also have penalties stacked on it; if you are wearing clothing with 0% recovery penalty and sip a potion of Deleterious Alacrity of Motion, for example, your recovery is 50% faster.

 

There are buffs/bonuses, on the other hand, that only apply to "armor recovery penalty." These include the Armored Grace Fighter ability, or Durgan Steel when applied to armors. These will only do something so long as you are wearing an armor that applies a penalty to your recovery: If you're wearing clothes with 0% recovery, taking Armored Grace won't make your recovery 16% faster.

 

Durgan Steel can be applied to weapons, shields, or armors and gives different bonuses for each. For weapons, it gives +15% attack speed (it applies to recovery even if you are naked); for armors, it reduces the recovery penalty by 15% (only works if your armor is actually bestowing a penalty.) This is in addition to other bonuses that aren't relevant to speed, and therefore of no interest in this context :)

 

 

That said, I notice that the frame counters are separating out the pauses into their own category.  I'm not sure whether the reason for excluding these frames is on sound footing; as I ended my last post, I think they were even debating among themselves how to account for them. 

 

So lets take that 4 frame "pause", and stick it with the rest of the recovery time:

 

we get 50 frames base (46+4).

 

Now expected:

 

50 * .74 / 1.45 = 25.517 frames

 

Now look at observed:

 

21 + 4 frames = 25 frames.

 

Maybe those 4 frames "pauses" between attacks are actually being counted for purposes of how many frames to remove from the recovery period?  Maybe need more samples/test conditions to see if this is just coincidence or not.  Either way, i'm fairly content with the accuracy at this point.

 

 

I agree with you that DEX is multiplicative.

 

The reason why I kept the 4-frame delay separate is that it seems to be unaffected by modifiers and stays there even when you manage to eliminate recovery. I've just tested this with my dual-wielding Barbarian: The attack animation is 24 frames, then there's a 4-frame delay before the second hand swings. No recovery bar ever appears.

 

That said, it does seem like it makes sense to include the 4-frame delay into the calculation. I'll keep an eye out for that in my tests going forward.

 

The way we count is very similar. I too count recovery frames from the moment the bar appears to the moment the bar is empty; then, the 4-frame delay ensues, after which the attack animation starts. I never start counting attack-animation frames from the first swing as that seems to also include a delay from the moment you order to attack to the moment it is executed; I always just count after the first recovery is over for the sake of precision.

 

Could it be that we have a 4-frame delay after recovery, as well as one before recovery starts? To test this, I'll use the console to give my character a 100% action speed bonus from DEX and count frames. I'll keep you posted.

 

 

EDIT:

 

Here's some research.

 

H9ar7zX.png

 

In all tables above, the 4-frame delay is always included in the recovery numbers.

 

Looking at the 10 DEX numbers, it looks like speed penalties are calculated on recovery including the 4-frame delay, then another 4-frame delay is added on top of that. For example, Plate armor bestows a 50% armor speed penalty calculated as 50*(1+0.5)=75, which includes the 4-frame delay (recovery being 46 frames + 4 frame delay.) But then I observed a recovery time of 75 frames + a 4-frame delay, which had already been included in the prior calculation.

 

Dexterity appears to apply "weirdly" in all cases, as shown by just looking at figures for the naked character. Granted, a 2- or 3-frame discrepancy is so small that it makes no difference in real-world scenarios, but for the sake of understanding how the game mechanics work, they pose a bit of a conundrum.

 

 

EDIT II:

 

Moar tests.

 

This is with the Blade of the Endless Paths.

 

Penalties:

Plate Armor (50%)

Vulnerable Attack (20%)

 

Bonuses:

Armored Grace (-16% penalty)

Durgan Steel armor (-15% penalty)

Durgan Steel weapon (+15% attack speed)

Speed weapon (+20% attack speed)

Deleterious Alacrity of Motion (+50% attack speed)

25 DEX (+45% action speed; applies to both attack and recovery)

 

Expected:

Attack: 30 * (1-0.45) = 16.5

Recovery: 50 * (1+0.5+0.2-0.16-0.15-0.15-0.2-0.5) / (1+0.45) = 50 * (1-0.46) / (1+0.45) = 27 / (1.45) = 18.62

 

 

Observed:

Attack: 24 frames (seems to be hard-capped.)

Recovery: 15 frames (11 + 4-frame delay)

 

 

This one is with a Pollaxe.

 

Penalties:

Plate Armor (50%)

Vulnerable Attack (20%)

 

Bonuses:

Armored Grace (-16% penalty)

Durgan Steel armor (-15% penalty)

Deleterious Alacrity of Motion (+50% attack speed)

25 DEX (+45% action speed; applies to both attack and recovery)

 

Expected:

Attack: 30 * (1-0.45) = 16.5

Recovery: 50 * (1+0.5+0.2-0.16-0.15-0.5) / (1+0.45) = 50 * (1-0.11) / (1+0.45) = 44.5 / (1.45) = 30.68

 

 

Observed:

Attack: 20 frames (very strange; should probably check a Pollaxe with no bonuses or penalties.)

Recovery: 33 frames (29 + 4-frame delay)

Edited by AndreaColombo
  • Like 1

"Time is not your enemy. Forever is."

— Fall-From-Grace, Planescape: Torment

"It's the questions we can't answer that teach us the most. They teach us how to think. If you give a man an answer, all he gains is a little fact. But give him a question, and he'll look for his own answers."

— Kvothe, The Wise Man's Fears

My Deadfire mods: Brilliant Mod | Faster Deadfire | Deadfire Unnerfed | Helwalker Rekke | Permanent Per-Rest Bonuses | PoE Items for Deadfire | No Recyled Icons | Soul Charged Nautilus

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...