Well, actually the removal of enter/leave for the critical sections was not of any use... I achieved no speedup. The drawing of the buttons and of the text input field seems to be slow because of the following calls: 0009:Call gdi32.SetBkColor(00000250,00c8d0d4) ret=004327f3 0009:Ret gdi32.SetBkColor() retval=00ffffff ret=004327f3 0009:Call gdi32.SetTextColor(00000250,00000000) ret=004327d9 0009:Ret gdi32.SetTextColor() retval=00000000 ret=004327d9 0009:Call gdi32.SetBkColor(00000250,00ffffff) ret=004327f3 0009:Ret gdi32.SetBkColor() retval=00ffffff ret=004327f3 0009:Call gdi32.SetTextColor(00000250,00000000) ret=004327d9 0009:Ret gdi32.SetTextColor() retval=00000000 ret=004327d9 0009:Call gdi32.SetBkColor(00000250,00ffffff) ret=004327f3 0009:Ret gdi32.SetBkColor() retval=00ffffff ret=004327f3 Is it possible to reduce in any way the time that each of these spend? Thanks, Amox