A remote management controller may include a capture engine and a
processor. The capture engine may be configured to: obtain a slice of
video data output from a video graphics controller; calculate at least
one value correlative to the slice of video data; determine whether any
portion of the slice has been locked; and if any portion has not been
locked and if the calculated value for such portion of the slice differs
from a value for a previously obtained corresponding portion, move the
portion to a virtual screen buffer, update a table associated with the
virtual screen buffer with the calculated value, and modify a change
table to indicate that the portion has changed. The processor may be
configured to: read the change table to determine whether any portion of
video data in the virtual screen buffer has changed; and if any portion
has changed, lock any changed portion from being accessed by the capture
engine, access the changed portion from the virtual screen buffer, and
process the changed portion in the virtual screen buffer for transmission
to a remote system.