Because it was a 2-dimensional game, although displaying some 3D graphics, Diablo 2 was restricted by frame rates in all speed calculations. What this meantis that, for each action, or in order for that action to be displayed, such as the swinging of your sword, it took a certain ammount of frames. Character action speeds were based on discrete breakpoints, rather than a fluid speed ratio. Think of the oldschool motion picture films. If for example, a Paladin wih 0% increased attack speed swung a sword with (0) attack speed, let's say the default speed was 9 frames. Meaning it would take 9 frames to display the motion and apply the effectof swinging the sword. The next speed available would have been 8 frames (the less frames it takes to display something, the faster it is because less time is elapsed).
What does this all mean? Simply put, 10% increased attack speed may not necessarily change your attack speed by 10% in Diablo 2. Why? Because to compensate for the fact that 2D must display at a whole-number frame rate, Blizzard set breakpoints at which the ammount of frames would change. I.E., 0% atk speed = 9 frames, maybe 25% = 8 frames, maybe 48% = 7 frames. I'm only throwing these numbers out as examples to show the concept. Using the numbers above, basically if you had 20% increased attack speed, you would hit just as fast as if you had 0%. it's not until you hit 25% that the ammount of frames it takes to display your swing changes.
In Diablo 3, these actions are performed in 3D. There is no constraint by frame rates. In Diablo 3, 5% increased attack speed means 5% increased attack speed, of course being rounded to the nearest 0.01 attacks per second to keep the numbers nice.
I hope this guide helped some people in understanding attack/cast/block/recovery speed calculations.
For other explanations, guides, walkthroughs, downloads, videos, and discussions visit
Dark Revolution Gaming