The 2D commands like dot for example, have to lock the buffer prior to drawing any pixels and then unlock it once they're done. The lock/unlock process can be fairly slow, much slower than the drawing the pixel in this case.
You can control this behavior yourself however, by using the lock pixels
& unlock pixels
commands to manually lock/unlock the bitmap you're drawing to..
So if you're drawing a lot of dots in a loop, then you manually the lock the buffer prior to entering the loop and unlock once you're done..
Some like this for example,
For lp=0 to 10000
` Do some pixel drawing