If you aren't already, use Strict or SuperStrict. Apart from doing some extra compile-time error checking, it results in slightly more efficient code.
1) Yes, there is some overhead, but the cost is minimal.
3) It will certainly get as far as asking the driver to perform the task. You might find it's better to do a bounds check first, if you know that the resulting draw won't be visible.
1) Yes, there is some overhead, but the cost is minimal.
3) It will certainly get as far as asking the driver to perform the task. You might find it's better to do a bounds check first, if you know that the resulting draw won't be visible.