That is surprising since clearClip calls setClip internally and does nothing else. Internally, setClip does some additional work if the dc is not a buffered bitmap.
When using a buffered bitmap, I see dc.setClip is about half the cost of dc.clearClip. This makes sense to me as dc.setClip is native and just sets a few variables so the cost is very small. The call to dc.clearClip is that plus stack management time (pushing 4 values on the stack and popping them from the stack). I could be wrong here, but it does seem to make sense to me.
That said, I don't understand what you mean by this...
setClip should contain clearClip becouse there is no multiply clips
That is surprising since clearClip calls setClip internally and does nothing else. Internally, setClip does some additional work if the dc is not a buffered bitmap.
When using a buffered bitmap, I see dc.setClip is about half the cost of dc.clearClip. This makes sense to me as dc.setClip is native and just sets a few variables so the cost is very small. The call to dc.clearClip is that plus stack management time (pushing 4 values on the stack and popping them from the stack). I could be wrong here, but it does seem to make sense to me.
That said, I don't understand what you mean by this...
setClip should contain clearClip becouse there is no multiply clips
Looks to me you have big bugs in onUpdate and you set clips to hide them. In onUpdate, you ALWAYS want to update the entire screen.
Looks to me you have a bug with displaying hours and whatever the "16" is The fact you also lost seconds means you're not doing that properly in onUpdate, where you don't even have to set a clip region.
You can do this with only one clip region (for seconds in onPartialUpdate()) I do it all the time! Figure out how many characters will fit, limit the length of a sting and just display that many.