run tile renderer with proper context to allow per-layer caching