我们有两个不同的平台,CPU频率相同的设置,发现canvas->flush()光栅化线程在YT启动时的时间成本差异很大,快的最多只有1.632毫秒,慢的有7.292毫秒大多数时候,有没有办法找到差异的根本原因并对其进行优化?
钴版本:Cobalt 11.132145 with ARM-Linux and Opengl
void HardwareRasterizer::Impl::Submit(
const scoped_refptr<render_tree::Node>& render_tree,
const scoped_refptr<backend::RenderTarget>& render_target,
const Options& options) {
DCHECK(thread_checker_.CalledOnValidThread());
scoped_refptr<backend::RenderTargetEGL> render_target_egl(
base::polymorphic_downcast<backend::RenderTargetEGL*>(
render_target.get()));
// Skip rendering if we lost the surface. This can happen just before suspend
// on Android, so now we're just waiting for the suspend to clean up.
if (render_target_egl->is_surface_bad()) {
return;
}
backend::GraphicsContextEGL::ScopedMakeCurrent scoped_make_current(
graphics_context_, render_target_egl);
// Make sure the render target's framebuffer is bound before continuing.
// Skia will usually …Run Code Online (Sandbox Code Playgroud) 我正在Starboard中实现媒体处理程序,而且我遇到了Cobalt中的客户端应用程序没有足够积极地缓冲内容的情况.这导致它只是空闲缓冲区.当平台缓冲区耗尽时触发的正确Starboard事件是什么?我应该以某种方式冒出错误,或者是否有信号我可以给客户端应用程序请求更多数据?
从360视频的钴文档中,钴用CSS实现它,它不使用webGL来实现它,那么CSS和webGL之间实现360视频的性能有什么不同?播放360视频时,平台是否有任何性能影响?
cobalt ×3