Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
linwenbang authored May 8, 2022
1 parent 8dc34df commit c8e9333
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions Reports/2022/#201-2022.05.09.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,20 @@
- 工具和平台
- 数据效果

### 🐕 [Flutter PlatformView优化](https://mp.weixin.qq.com/s/gJXk56yJ5oJREHCUbsdhXg)

[@邦Ben](https://github.com/linwenbang): UC 的 U4 内核团队针对 Flutter 上的 PlatformView 做了深入的研究,并且做了一下优化 PR(部分合入到官方中),主要是针对 Android 的场景,目前官方提供的 Virtual displays 和 Hybrid composition 都存在一些问题,Virtual displays 存在功能性问题,Hybrid composition 存在因为线程合并带来的性能问题,以及死锁风险,且在 Android Q 以下因为内存拷贝导致性能变差。在之前的 Hummer 引擎中实现了挖洞模式,并且通过移植 Roger 大神在 U4 浏览器内核中实现的 Embed Surface 方案,来进一步优化。并且 Embed Surface 方案被合入到主线,后续会逐渐弃用 Hybrid composition。因此可以期待最新的 release 版本。

最终得到的结论:

- 「挖洞模式」的性能仍然是最好的。在挖洞模式能满足的场景下,请考虑优先使用挖洞;
- Embed Surface 除了仅支持 Android 6.0 及以上外,没有明显短板,其帧率在大多数场景下可以与挖洞模式持平;
- 从测试数据看,不合并线程的 HybridComposition 的帧率波动比较大,并不比 Embed Surface 有优势。另外,因为不能完全避免 Android Q 以下的内存拷贝,同时还需要处理部分场景下的同步问题,所以我们不会继续优化该方案。

参考:
[Hummer 引擎优化系列](https://mp.weixin.qq.com/s?__biz=MzUzMjk2ODM1MA==&mid=2247484736&idx=1&sn=c080c85e8eab7152eccc599170613770&chksm=faaa63b1cdddeaa782aee05d96d733623cb4d52f26670b41ab2e9dbf63301aee4995c070fe00&scene=178&cur_album_id=2315269790401298433#rd)


### 🐎 [AVPlayer 播放器对远端缺失 Content-Range 功能的本地支持和处理](https://bbs.noahark.io/t/topic/312)

[@JonyFang](https://github.com/JonyFang): 通常来说 H264/HEVC 编码可以通过 AVPlayer 直接播放,但是相对弱些的后台路由,在定位文件的时候并不支持 Content-Range 和系列相关报头,则会导致无法播放。本篇主要针对这类 case,通过 WebServer 的方式来解决该类问题。
Expand Down

0 comments on commit c8e9333

Please sign in to comment.