renders only on object invalidation
external need to render the frame on canvas resize