A computing device (400, 500) comprising: a display (420, 520), a memory and a processing unit (100, 405, 415, 505) configured to receive video frames, said processing unit including: a display buffer (130, 445, 540) connected to a display port (450, 545), said display port (450, 545) connected to the display (420,520); and a rendering engine (110, 435, 530) and a display engine (120, 440, 535), the display engine (120, 440, 535) being configured to: receive (210, 305) an indication of a new video frame from the rendering engine (110, 435, 530) or an operating system running in the processing unit (100, 405, 415, 505); determine if the indication includes a flip completion event indication; if the flip completion event indication is not determined: fill the display buffer (130, 445, 540) with the new frame and scan out the new frame from the display buffer (130, 445, 540) to the display port (450, 545); and if the flip completion event indication is determined: disable an adaptive contrast and backlight enhancement if a gamma curve is in a linear mode such that no gamma correction is applied when a timeout period has not expired; determine (220, 320) one or more dirty regions of the new video frame wherein the dirty regions are one or more portions of a new frame of image data that have changed relative to one or more previous frames; fill (230, 325) the display buffer (130, 445, 540) with the one or more dirty regions of the new video frame; scan out (240, 330) the one or more dirty regions of the new video frame from the display buffer (130, 445, 540) to the display port (450, 545); and dynamically adjust the timeout period based on the amount of the frame that has changed. a display (420, 520), a memory and a processing unit (100, 405, 415, 505) configured to receive video frames, said processing unit including: a display buffer (130, 445, 540) connected to a display port (450, 545), said display port (450, 545) connected to the display (420,520); and a rendering engine (110, 435, 530) and a display engine (120, 440, 535), a display buffer (130, 445, 540) connected to a display port (450, 545), said display port (450, 545) connected to the display (420,520); and a rendering engine (110, 435, 530) and a display engine (120, 440, 535), the display engine (120, 440, 535) being configured to: receive (210, 305) an indication of a new video frame from the rendering engine (110, 435, 530) or an operating system running in the processing unit (100, 405, 415, 505); determine if the indication includes a flip completion event indication; if the flip completion event indication is not determined: fill the display buffer (130, 445, 540) with the new frame and scan out the new frame from the display buffer (130, 445, 540) to the display port (450, 545); and if the flip completion event indication is determined: disable an adaptive contrast and backlight enhancement if a gamma curve is in a linear mode such that no gamma correction is applied when a timeout period has not expired; determine (220, 320) one or more dirty regions of the new video frame wherein the dirty regions are one or more portions of a new frame of image data that have changed relative to one or more previous frames; fill (230, 325) the display buffer (130, 445, 540) with the one or more dirty regions of the new video frame; scan out (240, 330) the one or more dirty regions of the new video frame from the display buffer (130, 445, 540) to the display port (450, 545); and dynamically adjust the timeout period based on the amount of the frame that has changed. receive (210, 305) an indication of a new video frame from the rendering engine (110, 435, 530) or an operating system running in the processing unit (100, 405, 415, 505); determine if the indication includes a flip completion event indication; if the flip completion event indication is not determined: fill the display buffer (130, 445, 540) with the new frame and scan out the new frame from the display buffer (130, 445, 540) to the display port (450, 545); and if the flip completion event indication is determined: disable an adaptive contrast and backlight enhancement if a gamma curve is in a linear mode such that no gamma correction is applied when a timeout period has not expired; determine (220, 320) one or more dirty regions of the new video frame wherein the dirty regions are one or more portions of a new frame of image data that have changed relative to one or more previous frames; fill (230, 325) the display buffer (130, 445, 540) with the one or more dirty regions of the new video frame; scan out (240, 330) the one or more dirty regions of the new video frame from the display buffer (130, 445, 540) to the display port (450, 545); and dynamically adjust the timeout period based on the amount of the frame that has changed. disable an adaptive contrast and backlight enhancement if a gamma curve is in a linear mode such that no gamma correction is applied when a timeout period has not expired; determine (220, 320) one or more dirty regions of the new video frame wherein the dirty regions are one or more portions of a new frame of image data that have changed relative to one or more previous frames; fill (230, 325) the display buffer (130, 445, 540) with the one or more dirty regions of the new video frame; scan out (240, 330) the one or more dirty regions of the new video frame from the display buffer (130, 445, 540) to the display port (450, 545); and dynamically adjust the timeout period based on the amount of the frame that has changed.