For illustration, these examples are run in slow motion using setInterval. Actual sizings are invisible and average <2ms.
View source to see how options are applied.