A method for wirelessly transmitting content from a source device to a sink device, comprising: identifying one or more data types associated with a display frame displayed on the source device, wherein each display frame includes one or more data types selected from programmatically generated graphics and encoded media; selecting a transmission format for the display frame in accordance with the one or more identified data types, wherein the transmission format is selected from the group consisting of screencasting, graphics processing unit, GPU, processing, or GPU processing with media streaming, wherein screencasting is selected when the display frame includes only encoded media, wherein GPU processing is selected when the display frame includes only programmatically generated graphics, and wherein GPU processing with media streaming is selected when the display frame includes both programmatically generated graphics and encoded media; determining, by the processor of the source device, whether predetermined performance criteria have been met; and when the predetermined performance criteria have not been met and the selected transmission format is GPU processing or GPU processing with media streaming, changing the transmission format to screencasting; preparing (1008, 1010, 1016), by the processor and/or GPU of the source device, a second display frame for the sink device from the first display frame in accordance with the selected transmission format; and sending visual information representing the display frame in the transmission selected transmission format to the sink device, by wirelessly transmitting, by a wireless communication system of the source device, the second display frame from the source device to the sink device. identifying one or more data types associated with a display frame displayed on the source device, wherein each display frame includes one or more data types selected from programmatically generated graphics and encoded media; selecting a transmission format for the display frame in accordance with the one or more identified data types, wherein the transmission format is selected from the group consisting of screencasting, graphics processing unit, GPU, processing, or GPU processing with media streaming, wherein screencasting is selected when the display frame includes only encoded media, wherein GPU processing is selected when the display frame includes only programmatically generated graphics, and wherein GPU processing with media streaming is selected when the display frame includes both programmatically generated graphics and encoded media; determining, by the processor of the source device, whether predetermined performance criteria have been met; and when the predetermined performance criteria have not been met and the selected transmission format is GPU processing or GPU processing with media streaming, changing the transmission format to screencasting; preparing (1008, 1010, 1016), by the processor and/or GPU of the source device, a second display frame for the sink device from the first display frame in accordance with the selected transmission format; and sending visual information representing the display frame in the transmission selected transmission format to the sink device, by wirelessly transmitting, by a wireless communication system of the source device, the second display frame from the source device to the sink device.