显存到内存(分辨率) | 缩放时间(stretchRect) | LockRect(调用GetRenderTargetData,空) | LockRect(用memcpy复制数据) |
400*300 | 0 | 15~17 ms | 数据已经到内存,此项无效 |
800*600 | 0 | 16~18 ms | 数据已经到内存,此项无效 |
1920*1080 | 0 | 20~21ms | 数据已经到内存,此项无效 |
3840*2160(4K) | 0 | 34~35 ms | 数据已经到内存,此项无效 |
7680*4320(8k) | 0 | 85~90 ms | 数据已经到内存,此项无效 |
15360*8640(16k) | 0 | 265~456 ms | 数据已经到内存,此项无效 |
内存到显存(分辨率) | 缩放时间(stretchRect) | LockRect(显存surface,空) | LockRect(用memcpy复制数据) |
15360*8640(16k) | 5~7 ms | 38~45 ms | |
7680*4320(8k) | 5~7 ms | 15~17 ms | |
3840*2160(4k) | 5~7 ms | 8~10ms | |
1920*1080 | 5~7 ms | 6~9 ms | |
两种将数据从内存更新到显存的方式,速度比较: