[#310] cached the computed value of `hWidth` and `hHeight` values so that we avoid doing 2 divisions at each frame change