遊戲/程序/更新/二次開發/小作品相關發佈
Sep 21
最近使用html2canvas时遇到一个文字排版错误的缺陷,虽然html2canvas本身兼容性问题挺多的,但是这个看起来是一个广泛发生的问题,便进行了深入追踪。问题现象如下:
點擊在新視窗中瀏覽此圖片
相关issues包括 https://github.com/niklasvh/html2canvas/issues/2648https://github.com/niklasvh/html2canvas/issues/2696等,挺多的。
Jun 22
WWDC20221讲到iOS15在相机部分新增了不少识别相关的功能,一种有一项就是人物聚焦——对应背景模糊。同时,我们排查SDK变化时,注意到CIFilter新增了一个personSegmentationFilter,看起来就是对应这个功能的实现了。不过翻阅文档https://developer.apple.com/documentation/coreimage/cifilter/3750390-personsegmentationfilter?language=objc,苹果真是啥都没有讲。尝试了之后,我得到了能实现人物聚焦(背景虚化)的效果的CIFilter使用方式。
Jun 10
iOS15在UIKit中的改动并不多,其中一大项目是为UIButton新增了UIButtonConfiguration功能,为标准化button组件样式复用增加了更多的可能性。
之前我提过从里氏替换原则的角度,目前我们常用的复用UIButton的方法——继承+约束,其实是不合理的,那UIButtonConfiguration能解决我们的问题么?看起来不能。
Mar 6
目前业界普遍认可的认知上,对于Javascript这门语言来说,最大的包袱或者隐患就是this与其动态绑定问题。this的动态绑定问题带来的不止是写出bug的风险,还在代码可维护性,性能与语言发展上设置了无数障碍,同时也是典型的反直觉产物。因此业界一直在讨论,能否在javascript开发最佳实践中摒弃this,即实现thisless的Javascript。
Mar 2
之前在team里展开过一次“论战”,背景是咱们大型app的容器(Web容器,ReactNative容器)内页面/功能发均是react背景,同时开发人员native背景与h5背景均存在,实际开发过程中类组件与函数组件均有使用,并且在各个方向上有所踩坑。因此发起“论战”,即容器react开发类组件与函数组件谁更合适?
Dec 31
在js完成驱动式动画,复杂动效,物理引擎,与3d场景数据预处理(比如threejs)的过程中,不可避免的会遇到需要在js中执行几何数学运算的场景。具体来说,比如操作css的transform样式,直接计算输出matrix或者matrix3d的值(比如https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Matrix_math_for_the_web写的这样)。只是一两个matrix还好,如果在dom中搭建了复杂的动效场景,并且动画效果需要逐帧驱动(requestAnimationFrame驱动)效果实效,并且保持在合理的60fps,几何数学运算的性能就相当关键了。
Dec 18
在图形学特别是游戏技术领域,通过SDF【Signed Distance Field】以及其衍生技术进行文字渲染已经是通用技术了,当然玩Webgl的人也都知道,我们知道这是在相关领域最常见的可缩放文本(但是不是矢量文本)方案。SDF定义上严格来说包含了字体储存和渲染方案二合一,因此既然我们可以用IconFont来解决图标问题,也可以用SDF来解决图标问题。

另外乍看起来,SDF还有IconFont没有的优势,包括:a. 资源分发灵活性,毕竟图片解决问题。b. 图形可延展,便于做描边,宽窄字体用同一资源。c. web兼容性,反正是自己写render,有canvas就行,计算复杂度远低于一般的canvas做其他图片格式兼容方案或者特殊渲染方案。d. 易使用,输出结果为canvas或者继续导出imageurl,icon即图片更合理。
Nov 21
我们做客户端包括并不限于Android/iOS/Windows/嵌入式程序等,核心指标之首均Crash率,我们通过Crash率来衡量咱们工程的可用性高低。目前业界Crash率的定义的定义有两种:

- Crash次数/启动次数,这样能测算出每次启动后到底有多少概率是正常离开的,多少概率是闪退的,非常理论化的一个数字。
- Crash次数/用户数,比如每日Crash次数除以日活即今日Crash率,这样可以准确评估出用户感知到的可用性闪退率到底是多少。