Here's the formula (found
here):
Speed indicates base Swing Speed in seconds. To determine actual swing speed, use the following:
1. Take the weapon speed in seconds, and multiply it by 4 to get the speed in "ticks." If you are barehanded, you swing at 2.5 seconds, or 10 ticks. Example: The Halberd (4.25 second base speed) has a base speed of 17 ticks.
2. Figure out Stamina Ticks (Current Stamina / 30, rounded down.) Example: Current Stamina = 50. So Stamina Ticks = 1.
3. Figure out Swing Speed Increase item property modifier. Example: 20.
Apply those results to the following:
a. Hit Start = ((Base Weapon Speed - Stamina Ticks) * (100.0 / (100 + Swing Speed Increase)))
ex. Hit Start = ((17 - 1) * (100.0 / (100 + 20)))
c. Make sure minimum swing time is never less than 5 ticks (1.25 seconds).
ex. The calculated Halberd Hit Start speed = 13 ticks (3.25 seconds)
As an example, I have an Ornate Axe that has a weapon speed of 4.25 ( 4.25 * 4 = 17 ticks) and SSI of 30. My stamina is 160 (160 / 30 = 5.3 ticks rounded down to 5). so...
Hit Start = ((17 -5) * (100 / (100 + 30))) = (12 * .77) = 9.24 or 9 ticks. 9 /4 = 2.25 seconds per swing.