def mmap_send(mmap, mmap_size, image, rgb_formats, supports_transparency): if mmap_write is None: warn_encoding_once("mmap_write missing", "cannot use mmap!") return None if image.get_pixel_format() not in rgb_formats: if not rgb_reformat(image, rgb_formats, supports_transparency): warning_key = "mmap_send(%s)" % image.get_pixel_format() warn_encoding_once(warning_key, "cannot use mmap to send %s" % image.get_pixel_format()) return None start = time.time() data = image.get_pixels() mmap_data, mmap_free_size = mmap_write(mmap, mmap_size, data) elapsed = time.time()-start+0.000000001 #make sure never zero! log("%s MBytes/s - %s bytes written to mmap in %.1f ms", int(len(data)/elapsed/1024/1024), len(data), 1000*elapsed) if mmap_data is None: return None #replace pixels with mmap info: return mmap_data, mmap_free_size, len(data)
def mmap_send(mmap, mmap_size, image, rgb_formats, supports_transparency): if mmap_write is None: warn_encoding_once("mmap_write missing", "cannot use mmap!") return None if image.get_pixel_format() not in rgb_formats: if not rgb_reformat(image, rgb_formats, supports_transparency): warning_key = "mmap_send(%s)" % image.get_pixel_format() warn_encoding_once(warning_key, "cannot use mmap to send %s" % image.get_pixel_format()) return None start = time.time() data = image.get_pixels() mmap_data, mmap_free_size = mmap_write(mmap, mmap_size, data) elapsed = time.time()-start+0.000000001 #make sure never zero! log("%s MBytes/s - %s bytes written to mmap in %.1f ms", int(len(data)/elapsed/1024/1024), len(data), 1000*elapsed) if mmap_data is None: return None #replace pixels with mmap info: return mmap_data, mmap_free_size, len(data)
def mmap_send(mmap, mmap_size, image, rgb_formats, supports_transparency): if mmap_write is None: if first_time("mmap_write missing"): log.warn("Warning: cannot use mmap, no write method support") return None if image.get_pixel_format() not in rgb_formats: if not rgb_reformat(image, rgb_formats, supports_transparency): warning_key = "mmap_send(%s)" % image.get_pixel_format() if first_time(warning_key): log.warn("Waening: cannot use mmap to send %s" % image.get_pixel_format()) return None start = monotonic_time() data = image.get_pixels() assert data, "failed to get pixels from %s" % image mmap_data, mmap_free_size = mmap_write(mmap, mmap_size, data) elapsed = monotonic_time()-start+0.000000001 #make sure never zero! log("%s MBytes/s - %s bytes written to mmap in %.1f ms", int(len(data)/elapsed/1024/1024), len(data), 1000*elapsed) if mmap_data is None: return None #replace pixels with mmap info: return mmap_data, mmap_free_size, len(data)