跨平台多媒体渲染引擎的设计与实践
作者| 阿里文娱无线开发专家 风吟
一、背景
在当前直播和短视频领域,各家公司为了吸引用户和提升用户体验都在创新各种视频玩法, 例如美颜、美妆、虚拟形象等。这些酷炫的效果背后其实是强大的渲染技术。优酷和来疯也在 布局这一领域,我们亟需一个底层渲染框架来高效地支撑我们的业务迭代。于是,自主开发一个跨平台、可扩展、高性能的渲染引擎就被提上了日程。
二、引擎设计
1. 引擎特点
前面说了我们的目标是开发一个跨平台、可扩展、高性能的渲染引擎。怎么理解?下面详细阐述一下:
1)跨平台。
我们的业务场景涵盖了移动端和 PC 端。为了提高开发效率,我们要把平台无关的逻辑抽象成公共组件,例如渲染管线、后处理算法等,实现一份代码,多端共用。
2)可扩展。
跨平台解决了横向的平台差异问题,而可扩展就是解决业务迭代的纵向问题。 我们将渲染逻辑分解成一个一个的小“零件”,

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
揭秘!开源软件背后的神秘组织
每谈及开源、开源社区,就不得不提及 Apache 软件基金会(Apache Software Foundation,ASF),作为全球最大的开源组织,它究竟是如何运行管理的? Flink 社区将分享“走进 ASF”系列内容,先从宏观介绍 ASF 是如何运作的,然后详细解说如何参与 Apache 具体项目做贡献,如何成为某个项目的 Committer、PMC 成员,如何选择多个 Apache 项目进行多领域贡献并成为 ASF Member 等,希望有助于你真正了解开源、参与开源。 我的开源之旅 我2011年加入阿里,经历过若干组织架构调整,做过行为日志 OPlog,阿里郎,云转码,文档转换等若干产品,在2016年10月份由于团队需要有幸接触到 Blink 的开发,开始了解 Apache Flink 社区,由初期的参与社区开发到后来逐渐主导具体模块的开发,到负责 Apache Flink Python API(PyFlink) 的建设。目前是 ASF Member, PMC member of @ApacheFlink and a Committer for @ApacheFlink, @...
- 下一篇
Android体系化进阶学习年薪60W 图谱:(某大厂内部外泄资料)
前言 许多 Android 开发者经常会问我,要学会哪些东西才能成为一个优秀的 Android 工程师?对于这个问题,他们的描述或多或少都有些差异,但是,总体来说,我们都需要学习一系列的技能,才能成为一个优秀的 Android 工程师。 在我看来,存在这样的困惑是正常的。Android 是一个巨大并且动态的生态系统,你可能需要花好几周时间去了解并学习它相关的一些工具和概念,但是最后你会发现,它们有好多都不是很重要,或者说并不是非常有用。因此,在本文中,我将分享我在 Android 开发中所使用到的重要技能,希望能够帮到你,让你把你的精力集中到重要的事情上。 所以,今天,我将献上一份《Android知识图谱》,以自身的经验 & 所见所闻,旨在告诉大家,学习Android,实际上需要学习什么内容,希望你们会喜欢。 核心分析内容 面向Android初、中级开发者,对于要学习的Android理论知识,我认为主要包括: Android基础 & 常用Android进阶与时俱进、热门技术编程语言计算机基础下面,我将对上面的理论知识逐一介绍。 1. Android基础 & 常用...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Linux系统CentOS6、CentOS7手动修改IP地址
- Red5直播服务器,属于Java语言的直播服务器
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作