[求职] Web 渲染/多媒体

# 简介
8 年工作经历,前 4 年写前端搞基建,近 4 年转多媒体方向搞音视频和渲染 SDK

# 详细
工作技能
• 语言:Javascript | C++ | WebAssembly
• 框架:React | Vue | 小程序 | Weex
• 领域:图形 | 音视频

工作经历
xx 2022.5-至今
• 渲染引擎 Web 端负责人;连续两年年度最佳员工;
• 负责自研渲染引擎 Web SDK 规划和落地;
• 主导各类自研(基于图形/基于 GAN)数字人落地云渲染服务;
xx 2020.6-2022.3
• 多媒体引擎 Web 端负责人;
• 负责自研多媒体引擎 Web 端规划和落地;
xx 2018.03-2020.05
• xx 直播:参与直播开放体系的建设,负责 xx 直播互动开发方案;
• xx 海购 WMS:负责组内技术推进和工具链开发;
xx 2016.08-2018.02
• 参与餐饮 SasS 内部创业;
• 参与 ZanUI(后更名 Vant-Weapp) 组件库开源,;主导第一个小程序错误上报 SDK Raven-Weapp 的开源;

项目经历

数字人 SDK AvatarX
• 背景:
• 战略立项全平台数字人解决方案,自研渲染 SDK 总体功能上对标 Unity ,其中 Web 端力求轻量和易用;
• 行动:
• 总体架构设计:共用底层代码同时抹平相关 API (如文件系统)差异,以便短平快产出初始版本;
• 渲染性能优化:针对 Web 端运行情况优化 Shader (如必要的 loop unrolling ,变量计算精度调整等)和 GL 资源使用,人物帧率从不可用的 2 帧提高到 60 帧;
• 包体大小优化:引擎功能裁剪,利用 Async 实现引擎资源按需加载,首包网络流量控制在 2M 左右,首屏所需渲染资源(Shader 、材质模板、贴图等)从 19M 降至 1.8M ;结合 IndexedDB 构建缓存透明资源管理,加速二次进入资源加载;
• 加载速度优化:修改 Shader 反射流程,支持 Web 平台 Shader 并行编译,加载耗时缩减 1/3 ,单 bundle 人物首屏控制在 3s ;
• 结果:
• Avatar Web SDK 提供完整数字人解决方案,支持人物捏脸换装以及对话,并且也不限于数字人应用场景,在数字人客服、数字文物、虚拟展厅等虚拟人/物/景为渲染目的的场景均有应用。

多媒体引擎 XPlayer
• 背景:
• 直播/视频大热,公司急需完善的视频编辑器(非编播放器)开拓和巩固设计领域的市场;
• 行动:
• 总体架构设计:以模块化和扩展性优先参与设计底层 C++引擎整体架构,在数据流向上,数据源/处理增强/输出渲染各部分可自由扩展和组合,以适应不同产品和业务的需求;
• 预览播放优化:视频利用 Video 标签 + Texture 、音频利用 Audio/Video 标签 + WebAudio AudioWorklet 将音视频数据导入音频后续处理逻辑,借助浏览器原生能力,做到最小化所需的运行时( 900K )和最优性能;
• 合成导出优化:提供多种策略——(需要 ShaderdArrayBuffer 支持)开启多线程;需要较新浏览器支持的 WebCodecs 以及其对应的带 SIMD 优化后 H264 实现的 Polyfill 版本,根据策略不同合成有 1.5-3 倍的提升;
• 结果:
• SDK 补充的音视频能力除应用于视频编辑业务外,辐射图片编辑业务(如视频素材解析、Gif 导出功能依赖);合成性能对标 ClipperChamp ;项目中积累下的 Web 音视频经验成功转化为授权专利。

直播互动开发套件
• 背景:淘宝直播互动组件开发工具,开放体系中互动开放的解决方案。
• 随着业务上升,淘宝直播启动开放,便利二方/三方业务快速接入直播分享红利和反哺直播;
• 互动开放紧随互动动态化进行,动态化刚落地,相应开发工具链亟需完备;
• 直播互动本质为 Rax(类 React) 组件,继承了 Rax 开发的弊端如各端样式无法完全统一,一般需要多次返工;
• 行动:
• 互动调试方案:以淘系前端代码模块化标准为出发点,设计模块替换,以实现在真实直播间在线调试开发中模块,确保开发和上线样式和行为的一致性;
• 共建开发工具链:将以上方案固化到淘系前端统一的开发工具 DEF 的 builder ,推广到集团;
• 成果:
• 互动调试方案使互动组件的研发周期缩短了 40%,基于此的工具链成为 ALive 中互动开发的标准方案。

开发工具链 SuperKaola
• 背景:针对 Vue 工程构建优化,并集成项目初始化、本地开发、构建发布等功能的统一开发工具。
• 市面上尚未有成熟的 Vue 开发工具链(如后来的 Vite),也未有成熟成体系的构建方案;
• WMS 项目庞大,有大量的模块和页面;项目的增量构建耗时已经超过 1 分钟,开发体验和效率极差;
• 行动:
• 构建优化:基于 Code Splitting 以业务模块粒度进行动态加载,并利用多线程和缓存加速构建;优化后增量构建耗时下降到秒级;
• 成果:
• 优化经验固化到工具链推广到供应链组所有项目,统一了前端团队技术底座。

说起来这个赛道太窄了 orz
vx: ZXZlcnl3aWxsMjAwOA==

来源:https://v2ex.com/t/1061553