2020年工作总结

我的工作:
	前期:
		1. Scratch创作器项目
		2. Scratch作品分析服务


	后期:架构组
	
		1. 公共组件项目:
			登录组件,WASM加解密组件/MD5,发送短信组件,滑动验证组件,上传组件,
			
			标准化:jenkins,sentry,nexus npm私有库

			1. WASM签名 , MD5签名,AES加解密,sb3,m3u8加解密
			2. 发送验证码
			3. 无痕验证,滑动验证
			4. 文件上传组件:无界面,oss,网宿云存储,七牛云存储。封装统一的API,peerDependency



		2. 负责直播客户端项目	
			--- 解决的是状态一致性问题

			1. 多端状态管理同步。单一数据源原则。发送Action,操作状态和结果状态分离。服务端状态整合计算。
			2. 频繁状态操作的防抖。
			3. 客户端开发流程
			4. 视频流补偿机制。采用屏幕截图上报的方式


			遇到的问题 :
				1. 学生看不到老师头像,
				2. 老师看不到学生共享桌面




二. Scratch创作器


		1. 游戏引擎性能优化
		2. 涉及到的知识点比较多,动画,声音,图形编辑器。
		3. Canvas Pool ,解决过多的canvas原色,在移动端ios设备上渲染不出来的问题。
		4. 复杂SVG在移动端的支持。固定画布大小,将svg转成位图模式。
		5. 凸多边形,碰撞检测算法。
		6. 抽象基础组件,支持快速完成定制

		目前小码王的Scratch环境是业界定制的最好的。包括:兼容性,性能(游戏播放时的卡顿等问题的解决)


七。 Scratch 播放器优化的内容:

			一. 播放作品的流畅度度
				1. 碰撞检测算法优化
					1. 凸多边形算法优化:利用缓存,避免重复计算凸多边形的边界
					2. 颜色碰撞算法优化:定期内存回收,长期不用。

					的颜色内存数据从内存中清除。减少内存占用。


			二. 作品的兼容性
				中文字体的兼容性
				SVG渐变效果
				文字位置的兼容性
				复杂SVG图片移动端兼容:避免重复重复绘制SVG,提前利用canvas将SVG转换为位图


			三. 移动端低配置设备的支持, 针对性的解决问题。
				1. 减少内存消耗
				2. 降低渲染时资源分辨率
				3. 解决内存泄漏问题
				
			四. 内置屏幕录制功能
				1. 麦克风和平模播放的声音合成 RecordRTC
				2. 声音流与Canvas流合成
				3. 获取音频流的音量信号,动态显示音量的波动变化,500毫秒刷新一次


			五。其他关键词:骨骼动画, 球体,AABB 轴对其包围盒,OBB, K-DOP


			六。使用WebWorker解决sb2文件解压缩,页面卡顿的问题。

  

原文地址:https://www.cnblogs.com/lhp2012/p/14245211.html