No we render all viewlets all the time then hide/show them as needed. The only time they get destroyed is when the viewlet manager is destroyed.