1. A method comprising: playing a video on a display of an electronic device, wherein the video has a height and a width, the video has a geometric area based on the height and width; predicting, using a processor, a portion of the video that is viewable by splitting the video into a plurality of tiles; invoking, using a device-side advertisement Application Program Interface (API), a browser refresh callback function to issue a callback from a browser to the device-side advertisement API when the browser refreshes the tiles of the video; at a first time while the video plays on the display, measuring a first refresh rate for each tile of the plurality of tiles of the video using the device-side advertisement API; overlaying markings, using the device-side advertisement API, on each tile of the plurality of tiles of the video in the geometric area while the video plays; at a second time while the video plays on the display, performing, by the device-side advertisement API, a first processor-based operation on the markings; while the video plays on the display at the second time, performing, by the processor, a refreshing operation, and the first processor-based operation slows down the refreshing operation of viewable tiles of the video; measuring a second refresh rate for each tile of the plurality of tiles of the video at the second time during the refreshing operation wherein the second refresh rate of the viewable tiles of the video is less than the first refresh rate based on the processor performing the first processor-based operation; predicting, by the device-side advertisement API, whether each tile of plurality tiles is viewable based on the second refresh rate and properties of end user device; and determining an estimated area of the video displayed on the display based on the first refresh rate and the second refresh rate and number of predicted viewable tiles of the plurality of tiles of the video, wherein the estimated area is indicative of a viewability of the video.