A method, comprising: receiving a plurality of graphics data comprising a first graphics data, each of the plurality of graphics data mapped to a corresponding buffer in a Graphics Processing Unit, GPU, memory, wherein the first graphics data is mapped to a first buffer in the GPU memory; receiving a second graphics data mapped to a second buffer in the GPU memory; comparing the first buffer mapped by the first graphics data with the second buffer mapped by the second graphics data, the comparing comprising: comparing a data attribute of the first graphics data with a data attribute of the second graphics data; comparing a checksum of the first buffer with a checksum of the second buffer if the data attribute of the first graphics data is identical with the data attribute of the second graphics data; and comparing content of the first buffer with content of the second buffer if the checksum of the first buffer is identical with the checksum of the second buffer; remapping the second graphics data to the first buffer if the first buffer is identical with the second buffer; incrementing a count of a buffer indicator of the first buffer after the remapping; decrementing the count of the buffer indicator of the first buffer when the second graphics data is removed after the remapping; and decrementing each of the counts of different buffer indicators corresponding to a same instance of a graphics application when the instance is ended after the remapping. receiving a plurality of graphics data comprising a first graphics data, each of the plurality of graphics data mapped to a corresponding buffer in a Graphics Processing Unit, GPU, memory, wherein the first graphics data is mapped to a first buffer in the GPU memory; receiving a second graphics data mapped to a second buffer in the GPU memory; comparing the first buffer mapped by the first graphics data with the second buffer mapped by the second graphics data, the comparing comprising: comparing a data attribute of the first graphics data with a data attribute of the second graphics data; comparing a checksum of the first buffer with a checksum of the second buffer if the data attribute of the first graphics data is identical with the data attribute of the second graphics data; and comparing content of the first buffer with content of the second buffer if the checksum of the first buffer is identical with the checksum of the second buffer; comparing a data attribute of the first graphics data with a data attribute of the second graphics data; comparing a checksum of the first buffer with a checksum of the second buffer if the data attribute of the first graphics data is identical with the data attribute of the second graphics data; and comparing content of the first buffer with content of the second buffer if the checksum of the first buffer is identical with the checksum of the second buffer; remapping the second graphics data to the first buffer if the first buffer is identical with the second buffer; incrementing a count of a buffer indicator of the first buffer after the remapping; decrementing the count of the buffer indicator of the first buffer when the second graphics data is removed after the remapping; and decrementing each of the counts of different buffer indicators corresponding to a same instance of a graphics application when the instance is ended after the remapping.