improve viewport event dist