云渲染(cloudrender)的模式与常规的云计算类似,即将3D程序放在远程的服务器中渲染,用户终端通过Web软件或者直接在本地的3D程序中点击一个“云渲染”按钮并借助高速互联网接入访问资源,指令从用户终端中发出,服务器根据指令执行对应的渲染任务,而渲染结果画面则被传送回用户终端中加以显示,这就是云渲染产品业务处理逻辑。

针对云渲染产品进行性能测试,除过一些专业测试工具,企业自研测试工具外,我们还可以借助基于Google浏览器的调试工具Webrtc。Google浏览器输入chrome://webrtc-internals/,就会展示出有webrtc相关功能被启用的网页以及通信过程中产生的统计数据:

打开网易新闻 查看更多图片

音频统计数据:

audioInputLevel

发送端采集的音频能量大小,数值越大,说明音频保真度越高。

bitsSentPerSecond

每秒发送出去的比特数,数值越大越好,发送字节的吞吐量。

packetsSentPerSecond

每秒发送出去的音频包数,数值越大越好。

googResidualEchoLikelihood

Chrome 56中新增的,主要用来标识是否存在回声,范围为0 (没有回声)- 1(有回声),当值大于0.5时表明存在回声。

视频统计数据:

bitsSentPerSecond

每秒发送出去的比特数,根据当前网络情况会进行动态调整,数值越大性能表现越好。

framesEncoded

累计编码出来的视频帧数,没有异常情况的话会一直增长。

packetsLost

发送端从接收端发送过来的RTCP Receiver Report中得到的累积丢包数量,可以和googNacksReceived数据进行对照。该数值越小越好,数值偏大说明网络存在瓶颈。

googRtt

Rtt全称为Round-trip time,是发送端从接受端发送过来的RTCPReceiver Report中得到的时间戳通过计算得到的往返时延。

packetsSentPerSecond

Chrome 56中新增的,每秒发送出去的视频包数量,数值越大性能越好。

qpSum

发送端编码出的带有QP值的帧的数量,QP全称为QuantizationParameter。帧值达到60以上一般都是良好的。

googAdaptationChanges

发送端因为CPU的负载变化导致的分辨变高或者变低的次数,需要设置。

googAvgEncodeMs

发送端平均编码时间,越小越好。

googEncodeUsagePercent

发送端(平均每帧编码时间)/(平均每帧采集时间),反应编码效率。

googFirsReceived

发送端收到的关键帧请求数量,FIR全称为Full Intra Request,一般来说在video conference模式下,有新的参与者进来会发出。

googPlisReceived

发送端收到的关键帧请求数量,PLI全称为Picture Loss Indication,一般来说在解码失败时会发出。

googNacksReceived

发送端收到的重传包请求数量,Nack全称为Negative ACKnowledgement可以和packetsLost数据进行对照。

googFrameHeightSent

发送端发送的分辨率高度,根据当前网络会进行动态调整。

googFrameWidthSent

发送端发送的分辨率宽度,根据当前网络会进行动态调整。

googFrameRateInput

发送端设置的初始帧率。

googFrameRateSent

发送端实际发送的帧率,根据当前网络会进行动态调整。

————————END————————