OK, it was Font that caused significant performance loss. Reuse them without calculating it every time.