SPICE带宽优化

您所在的位置:网站首页 图像算法优化开发合作方案 SPICE带宽优化

SPICE带宽优化

2024-06-25 18:18| 来源: 网络整理| 查看: 265

现状梳理

测试环境:QEMU + Ubuntu20.04 虚拟机全屏播放1920x1080的视频,记录客户端的下行带宽情况。带宽数据的获取使用nload。

编码设置带宽数据(MBit/s)备注GLZ无损(SPICE默认)

Max: 43.48

Min: 14.03

Avg: 27.43

x86_64-softmmu/qemu-system-x86_64 -enable-kvm -m 4G -spice port=5930,disable-ticketing=on -vga qxl -device virtio-serial -chardev spicevmc,id=vdagent,debug=0,name=vdagent -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 -drive format=qcow2,file=test.qcow2

JPEG有损

MAX: 7.9

Min: 6.21

Avg: 7.04

qemu-system-x86_64 -enable-kvm -m 4G -spice port=5930,disable-ticketing=on,image-compression=quic,jpeg-wan-compression=always -vga qxl  -device virtio-serial -chardev spicevmc,id=vdagent,debug=0,name=vdagent -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 -drive format=qcow2,file=test.qcow2

SPICE图像数据处理基本流程

优化方向 JPEG-2000

论文《基于SPICE协议优化的虚拟桌面技术研究》中,采用JPEG2000图像压缩算法对SPICE协议性能表现总结:

维度效果备注客户端带宽占用

12M → 2M     

客户端CPU占用

40% ~ 70% → 50% ~ 100% 

JPEG2000的解码占用更多的CPU资源,在富交互场景下,会影响用户体验。

延迟

数据量减小带来延迟降低

0.3ms~250ms → 平均15ms

视频质量

不明显。

带宽有限(4~10M)JPEG2000表现更好;

带宽充足(100M),原生SPICE表现更好

算法实现版本的横向对比

Benchmark

有损压缩:

无损压缩:

数据来源:J2K encoder benchmarks: Open JPEG, Kakadu, Fastvideo | fastcompression.com

JXL - JPEG-XL

一个新的位图格式,2017年提案,2020年敲定比特流格式,有开源实现:https://github.com/libjxl/libjxl

Benchmark 性能

性能上Jpeg-xl表现优于jpeg (libjpeg).

图像质量 

(数据来源:Benchmarking JPEG XL image compression)

y轴(Maximum Butteraugli)数值越低,代表图像质量越好  

图像效果上,jpeg-xl优于jpeg, 与jpeg-2000相近。

参考资料

jpeg-xl intro: https://cloudinary.com/blog/time_for_next_gen_codecs_to_dethrone_jpeg

jpeg-xl benchmark: https://drive.cvte.com/p/DYieqi4QtYsCGJvGEQ

总结和思考 图像压缩算法在压缩率上的提升,对云桌面的带宽降低、延迟降低预期会有帮助。JXL算法在性能上优于jpeg和jpeg-2000, 效果上优于jpeg, 与jpeg-2000相近,建议优先从jpeg-xl算法入手降低spice协议带宽占用。 优化效果测试

测试环境

qemu + ubuntu20, jpeg图像质量85, 使用image-compression=quic,jpeg-wan-compression=always 参数强制图像压缩全走jpeg

测试方法

使用enweb进行课件全屏预览,模拟授课场景

测试工具:

reds_stats, 查看display_channel的数据量

数据记录 用例jpeg jxl 分析备注

课件1: 37页

课件分享:《Unit 1 Hello! Part A 李婷》

希沃白板5 为互动教学而生 | 课件制作神器

点击链接可直接预览课件

76307260 

56586318

Diff: 19720942 下降大约 25.8%

课件2: 33页

课件分享:《Unit 4 My home Part B Kiko》

希沃白板5 为互动教学而生 | 课件制作神器

点击链接可直接预览课件

99681360

56738530

diff: 42942830,

下降 ~40%

课件播放

JPEG Quality: 100

158320883

118747477

下降:~25%

存在的问题

CPU负载增加15%~30%,内存占用增加4%。

如果您觉得这篇文章有帮助,麻烦点个赞支持一下~感谢各位啦。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3