被围起来的数字生活:从数字地主到数字佃农

被围起来的数字生活:从数字地主到数字佃农——一场主权收缩的困局。

你购买设备的那一刻,未必已经签下卖身契,但你很可能已经接受了一套由别人预先写好的规则。

当你点亮新手机的屏幕,面对的往往不是一片待你开垦的数字旷野,而是一座早已规划好路线的高墙花园。你想安装一个来自网络的软件,系统彬彬有礼地提醒你:“请从官方应用商店下载。”你想修改系统设置,那选项灰暗如铁窗,上书“已被管理员禁用”。你想将照片直接传输到电脑,却被引导进入某个特定应用,再经由云端中转——仿佛你不过是数据的临时保管者,而非真正的支配者。

这一切,并不只是技术进步的自然结果,也不只是某一家公司的恶意设计。它更像是一种结构性合流:资本追求可持续抽租,平台追求更高的可控性,监管追求更低的风险与更清晰的责任边界,而大量普通用户也真诚地偏好“少一点折腾、最好默认可用”的产品体验。几股力量彼此借力,最终共同塑造了今天这座看似便捷、实则不断收缩用户主权的数字花园。

问题恰恰在这里:秩序、便利与安全并非没有价值,但当它们被组织成一套默认设置、且越来越少给用户留下退出、迁移和自行决定的权利时,我们在数字世界中的身份就发生了悄然变化。至少对那些仍然重视控制权、迁移权和自我支配能力的人来说,这种变化已经不是“体验优化”,而是一场温和而持续的身份降格:我们正从拥有者,退回到被许可使用者;从主人,退回到租客。

更棘手的是,这种变化并不总以暴力的方式出现。它往往披着“为你好”的外衣,以安全、体验、一体化服务、持续更新的名义完成。于是,真正值得警惕的,不只是某一家公司太强势,而是我们越来越习惯于把原本属于自己的决定权,交给平台代为处理。

一、从数字旷野到围墙花园:谁拿走了你的主权?

曾经,个人电脑代表着一种近乎粗粝却真实的自由。开机之后,你面对的是文件系统,是可见的目录,是可以自行决定安装与卸载的软件,是可以自由插拔的外设,是可以被替换、被修补、被折腾的操作系统。你不一定总能驾驭它,但至少你知道:机器的使用逻辑,原则上应该由你来定义。

那是一个远称不上完美的时代。软件可能崩溃,系统可能蓝屏,驱动冲突和兼容问题足以逼疯任何新手;可与此同时,你的设备仍是你的设备。你可以从任何网站下载安装程序,可以修改系统默认项,可以把文档拖进任何你喜欢的目录,可以决定数据备份到哪里,也可以在平台意志之外,维持一套属于自己的数字生活秩序。

诚然,那片旷野并非伊甸园。盗版软件横行,系统崩溃是家常便饭,驱动程序冲突足以让新手束手无策,病毒和木马在开放的旷野上肆虐。那时的“自由”,确实伴随着混乱、风险与更高的学习成本。开放,从来不是毫无代价的恩赐。

也必须承认,并不是每个人都渴望做“国王”。对很多普通用户而言,开放意味着更高的理解门槛、更频繁的故障、更难分辨真伪的风险。后来平台化系统之所以胜利,不只是因为它们更会控制,也因为它们确实把大量原本由个人承担的技术负担,重新打包成了“默认可用的秩序”。这正是它们最强的地方。

但问题不在于秩序本身,而在于这种秩序越来越少给用户留下真正的选择权。你可以不必亲自处理风险,却也越来越难决定软件从哪里来、数据往哪里去、系统应该如何被使用。你得到的是省心,失去的却是支配权。自由不再被明面剥夺,而是在“替你做好了”的过程中,被一层层拿走。

二、平台化的圈地:资本、安全与便利如何共同构建数字庄园

平台时代的形成,并不是一场单线程的阴谋,而是一场多方力量彼此强化的结果。资本当然希望把一次性交易改造成长期抽租,平台天然偏爱标准化、可审计、可封禁、可分成的秩序;监管机构偏爱更容易追责的集中式入口;而大量普通用户,则真实地偏爱“少一点折腾、最好默认可用”的产品体验。

问题恰恰在这里:这些诉求并非完全虚假,甚至各自都有其现实合理性。但当它们叠加起来,结果却稳定地指向同一个方向——控制权持续从用户手中转移到平台手中。于是,我们看到的,不只是某个资本集团的贪婪,而是一种更稳固的结构:资本逐利、安全治理、规模化运维与便利偏好,共同塑造了今天的数字庄园。

在这种结构里,资本仍然是最强势的组织者。它最懂得如何把“便利”变成依赖,把“安全”变成授权,把“服务”变成租金,把“默认设置”变成新的服从关系。于是,一场针对用户主权的系统性收缩徐徐展开。

2.1 从买工具到租服务:所有权如何被抽空

过去的软件交易,更接近传统商品逻辑:你买下一个版本,获得一个副本,在本地安装,在本地使用。它可能过时,可能不再更新,但至少在一段时间内,它属于你。

而今天,越来越多的软件与服务转向订阅制、账号制、云端授权制。你支付的,不再是“拥有这个工具”的价钱,而是“继续被允许使用它”的租金。只要你停止付款,访问权就会收回,某些功能会熄火,某些内容会失效,某些积累甚至可能一并消失。

这并不意味着订阅制毫无合理性。持续更新、云同步、协同编辑、安全补丁、跨设备服务,这些确实构成了新的成本结构。但真正的问题是,当产品从工具转变为持续服务时,用户却没有同步获得足够明确的退出权、迁移权与最低限度的访问保障。于是,订阅不再只是商业模式,也逐渐成为一种支配关系。

2.2 从开放网络到平台内网络:便利如何变成依附

平台告诉你:这是为了方便,为了让你无需下载多个 App,无需记住多个密码,无需在不同服务之间反复切换。必须承认,这种便利并不是幻觉。统一登录、统一支付、低学习成本、弱设备门槛,这些都是真实的优势。对很多用户来说,这甚至是他们第一次如此低摩擦地接入数字服务。

但便利的另一面,是平台替你决定了连接方式、数据去向和服务边界。你不再面对一个开放互联网,而是在“平台里的互联网”里活动;你不再拥有可自由迁移的记录与关系,而是在平台内部“被允许使用”这些积累。问题不在于便利本身,而在于便利被设计成了依附:你越离不开它,就越难带着自己的关系、记录与资产离开它。

2.3 从用户到行为矿工:数据如何反过来定义你

平台经济的另一重逻辑,是把用户的一切行为都重新编码为可采集、可分析、可出售、可训练的资源。点击、停留、搜索、支付、聊天、观看、滑动,每一次动作都被记录并回流进更庞大的推荐、广告、画像与优化系统之中。

表面上,你获得了更懂你的服务;实际上,你也在不知不觉中为平台持续生产价值。更微妙的是,这些数据并非只是“被平台收集”,它们也在反过来塑造你能看到什么、会买什么、会信什么、会习惯于什么。用户不仅成为平台的消费者,也成为平台不断再生产自身权力的原料。

三、当开放互联网开始后退:我们失去了什么?

我们失去的,并不只是几个下载入口,或几个自由安装软件的权限。更深层的丧失,是一种曾经默认存在的技术伦理:设备应当首先服务于拥有它的人,软件应当允许被替换,数据应当能够被导出,服务之间应当可以互相连接。

一旦这些原则退场,用户就不再是系统的主人,而更像平台秩序中的临时居住者。你可以住得舒适,但装修权、改造权、迁移权、继承权,越来越不掌握在你手里。

开放互联网的价值,不只在于“自由折腾”,更在于它曾经提供了一种制衡机制:任何平台若做得太差,用户还有较低成本的替代路径。可一旦入口、关系链、支付能力、身份认证与数据沉淀都被集中到少数平台内部,这种制衡便会迅速减弱。你依然看似拥有选择,实际上却越来越难真正离开。

四、AI Agent 会成为新的破墙工具,还是新的包租人?

近来像 OpenClaw 这样的工具之所以引人注目,正因为它提出了一种新的可能:如果平台不愿开放接口,AI 是否可以绕过 API,直接通过“看见屏幕—理解界面—模拟点击”的方式替用户重新取得操作权?

这确实是一种富有想象力的突围。它意味着,即便平台封死了官方接口,用户仍可能借助模型在交互层面重新进入系统,把原本被平台垄断的流程重新纳入自动化范围之中。从这个意义上说,Agent 技术似乎为“重新夺回主动权”打开了一条缝隙。

但这种缝隙并不自动通向解放。因为一旦 AI 代理代替用户操作应用,新的问题会立刻出现:谁来控制这个 Agent?谁来承担误操作责任?谁掌握它读取界面、分析上下文、保存凭证和访问敏感信息的权限?如果这些能力最终集中到另一个模型平台手中,那么旧平台的围墙也许只是被绕过了,新的中介秩序却很可能随之建立。

所以,Agent 不是天然的解放工具。它可能成为用户重新争夺操作权的杠杆,也可能只是“房东换了一个”的下一轮租赁关系。它的政治含义,不在于它看上去多么酷炫,而在于它会把控制权重新交还给谁。

五、我们何以无力翻身?——制度性约束与结构性困境

OpenClaw 的局限,折射出一个更深层的困境:平台体系对用户主权的压缩,往往是制度性的、结构性的,而我们的反抗则常常只是技术性的、局部性的。

这种围墙花园,不仅是技术层面的限制,更是法律、经济、组织与心理层面的多重裹挟:

  • 法律上,用户协议为平台提供了近乎天然的护身符。你每一次点击“我同意”,都在接受一套单方面拟定的秩序。这些协议冗长晦涩,但一旦发生纠纷,它们往往又成为平台最可靠的防线。
  • 经济上,切换成本高得惊人。你的文件格式、工作流程、社交网络、历史数据、支付记录,全被锁进既有生态。离开并非不可行,只是代价极高。
  • 组织上,平台不仅服务个人,也嵌入企业、学校、政务与日常协作。你未必真心认同它,却很难单方面退出它。
  • 心理上,越来越多人已把“方便”视为压倒一切的价值,把“默认可用”视为技术理应提供的状态。只要系统还能顺畅运行,很多人并不会主动追问自己究竟失去了什么。

还需要承认的是,“数字佃农”并不是所有用户都会主动认领的自我描述。有人把封闭生态体验为窒息,也有人把它体验为秩序;有人在意所有权,有人更在意随手可用;有人担心迁移困难,也有人从未打算迁移。率先感到不适的,往往是那些经历过开放互联网、重视可控性、习惯自行管理工具链的人。他们的感受未必在统计意义上最普遍,却常常在结构意义上最敏感——因为他们最早察觉到的,不只是“不方便”,而是用户正在从拥有者退回到被许可使用者。

更致命的是,平台之间虽然彼此竞争,但在维护“围墙逻辑”上却往往高度相似。苹果的封闭生态、谷歌的应用分发体系、微软的新平台野心,路径不尽相同,却都在强化一个基本趋势:把用户留在自有秩序中,让退出变难,让迁移昂贵,让控制权回收到平台侧。

面对这种结构性困局,个体当然不是毫无行动空间,但也很难靠一次越狱、一次换机、一次装开源软件就彻底脱身。问题不只是“有没有替代品”,而是我们的数字生活早已深嵌在一整套平台制度之中。

六、结语:从“数字佃农”到“数字公民”——问题不在于怀旧,而在于重新追问边界

回看这场围绕数字生活展开的缓慢圈地,我们看到的并不是一个简单的善恶故事。PC 时代的开放更粗粝,也更混乱;移动时代的平台化更整齐,也更省心。问题不在于过去天然更高尚,也不在于今天的一切便利都是骗局。真正值得警惕的是:当安全、便利、效率与商业逻辑被合并成一套越来越封闭的默认秩序,用户对设备、数据、软件和服务的支配权,便开始持续收缩。

从这个意义上说,“数字佃农”并不是一个适用于所有人的情绪标签,而更像是一种症状描述。不是每个人都会立刻为此焦虑,也不是每个人都愿意为更多控制权支付学习成本和风险成本。但一个社会若长期不再追问这些问题,用户就会在不知不觉中,从公民退回到租客,从拥有者退回到被许可使用者。

OpenClaw 的意义,也许正不在于它已经带来了真正的解放,而在于它暴露了今天数字秩序中的一个核心事实:即便平台不开放接口,用户依然会寻找新的方式夺回主动权;而每一次这种尝试,又都迅速暴露出新的依赖、新的风险与新的收编机制。它证明了反抗并非不可能,也证明了单靠工具远远不够。

所以,真正的问题或许不再是“怎样养好一只龙虾”,而是我们是否愿意重新把几个长期被平台替我们回答的问题,拿回公共讨论之中:

  • 设备究竟归谁支配?
  • 数据是否应当具备可携带权?
  • 订阅终止之后,用户是否仍应保有最低限度的访问权?
  • 平台以安全和便利为名收回的那些控制权,边界究竟在哪里?
  • 哪些接口、哪些格式、哪些基础能力,应该被视作数字时代的公共设施?

真正的破局,不会只是某个工具突然横空出世,而是制度层面的重构:法律如何重新界定用户权利,市场如何降低迁移成本,社会如何重新理解“方便”与“自由”的关系,公众又如何重新认识“数据”“接口”“设备支配权”并非技术细节,而是数字时代最基本的公民问题。

或许,第一步不是要求所有人都立刻成为“数字主权”的信徒,而是重新学会对现有秩序提出怀疑。不是否认便利,而是拒绝把便利自动等同于正当;不是浪漫化开放,而是要求在秩序之中保留退出、迁移和自行决定的空间。

科技本应扩展人的能力,而不是把人稳定地安置在被管理的位置上。哪怕只有一部分人率先感到了这种收缩,他们的焦虑也未必只是怀旧,它更可能是某种前哨警报:提醒我们,数字世界的边界,正在被谁定义,又正在替谁服务。


温馨提示:本文基于ChatGPT工具辅助完成。

如视 VR 看房性能优化经验总结

壹、背景

贝壳 VR 看房是贝壳找房如视事业部(现已独立,如你所视科技有限公司)做的一款在线 VR 3D 看房服务。通过专业的三维空间扫描设备采集房源户型三维数据,经过算法加工之后,可以通过 WebGL/Three.js 等工具将房源以1:1复刻至浏览器上,并支持720°空间自由行走和模型、全景等多种模态间的自由切换。

尤其是在新冠疫情的影响下,用户可以直接在线上进行 VR 3D 看房,降低筛选、沟通成本。此外,在后续的业务迭代中又引入 VR 带看、VR 经纪人/ AI 讲房、“一键换装”看装修等新业务模式。随着业务复杂度的提升、用户使用群体的覆盖面越来越广,性能问题已经成为项目瓶颈,亟待解决。

1. 现状分析

业务分析

如视 VR 团队是2017年开始成立的,2018年4月份贝壳找房App 首次对外发版,VR 看房属于新品牌的核心亮点。于是从2017年开始近一年的时间内从0-1搭建贝壳VR看房,团队节奏是很紧的——倒排、抢时间。

2018年后半程在贝壳 VR 看房的基础上,又新增 VR 经纪人讲房和 VR 线上实时同步带看业务。

2019年初,引入早期版本的 AI 讲房业务。内部项目“未来家”——即 VR 装修(渲染)技术突破,支持“一键看装修”功能,并支持与实景 VR 同屏对比。

由于2019年末、2020初新冠疫情的影响,VR 线上实时同步带看业务转变为公司级别核心业务。实现 VR 带看二手房、新房、租赁等业务全场景的覆盖,并支持微信小程序(高流量)。

2021年初,则重点投入 AI 讲房业务新的探索——添加算法权重,实现 AR 数字人,往更智能(基于用户画像和性能条件实现“千人千面”体验)、更具空间表达的方向发展。
2021年末至今(2022年7月),团队方向调整,从贝壳找房剥离并成立如你所视科技有限公司。由支撑贝壳找房VR看房转向 SaaS、PaaS 数字空间综合解决方案创业公司。

技术分析

早期为了,架构上基于 jQuery +发布/订阅者模式实现的模块化开发,后期(2020年中)转向分层+基于 React 技术栈实现的动态模块化架构形式,见下图。

前端架构图
图一:前端架构图

2. 优化目标

优化目标很多,本文仅抽取两点(围绕内存、FPS、TTI、进VR带看耗时这四点)进行详细说明:

① 性能满足更多用户诉求,贝壳VR 看房覆盖面更广,不能局限于某些高端设备——提高用户覆盖面
几个关键路径体验 亟待解决,已经阻塞业务发展——比如启动Loading耗时长、VR 带看链路上流失率高等等。

贰、优化经验

前期实际落地时并没有按照 性能优化方法论 来执行(当初也没经验),实际上也因此踩了很多坑,浪费了很多时间、资源——特别是在旧架构体系上和产品策略上做的工作 ROI 极低。

1. 指标体系

1.1 系统指标

房源的VR 3D模型是通过WebView基于前端WebGL能力渲染出的,核心指标有两个:

  • 内存占用(iOS 端直接上报;线上 Android 端无法上报、黑盒,只能通过 PerfDog 线下统计)。
  • 体现流畅度的 FPS 值。

分析分布大致的结论如下:

  • 内存(高崩溃率):一个 VR 占用内存大概300MB,正常情况两个 VR 实例大概700MB内存(最低值区间700MB),但线上平均指标实际是 1.2G——而 iOS 系统崩溃阈值是1.5G左右;Android 系统差异大,无明确阈值。
  • FPS:前11s平均50fps以内,正常55fps以上。是合格值,但是进入 VR 7s 阶段,FPS 降至 40fps 以下,拉低平均值。

1.2 关键路径指标

关键路径指标有很多,这里抽取两个做详细说明:

  • TTI:可交互时间,即从房源详情页点击进入 VR 到 VR 页面渲染完成可交换的耗时。这个过程有 Loading 过程,内部又称为 Loading 耗时长,优化前平均值在7s左右,优化后2s。
  • 点击 VR 带看入口到带看就绪耗时:优化前21s,优化后用户发起端1s内,经纪人端2.5s。

此外,还有跟渲染引擎相关模型渲染、模态切换等指标,由于偏三维领域,本文不展开。本文分别去两个系统指标和关键路径指标进行分析、经验介绍。

2. 摸底分析

2.1 内存

前文提到,一个 VR 占用内存大概300MB,正常情况两个 VR 实例大概700MB 内存,但线上平均指标实际是 1.2G。分析定位后发现:

  • 非 VR 渲染模块:除了 VR 耗资源之外,还有地图(百度/腾讯)、多媒体(小区图集/小区视频/讲房音频等)等模块亦占用内存。
  • RTC 功能:除了渲染模块之外,VR 带看依赖的 RTC 功能(实时语音)也会占用 WebView 进程资源。
  • UI 资源:首面板逐帧动画以及其他过渡动画等。

这些占用内存的模块短期内都是无法省去的,因此性能指标的瓶颈在 1.2G。而且,功能越用越多,内存占用越高,崩溃的概率越高。

2.2 FPS

除了在7s左右 FPS 急剧下降之外,整体 FPS 处在合理值范畴。为啥 7s 左右 FPS 会明显下降呢?主要是这里有个 用计算换降低存储空间成本 的优化——将三角面片数据及 uv 贴图数据压缩后存储,端上使用再解压使用。

2.3 TTI

可交互时间,即从房源详情页点击进入 VR 到 VR 页面渲染完成可交换的耗时。分析后,关键流程如下:

启动 Loading 耗时关键阶段流程图
图二:启动 Loading 耗时关键阶段流程图

从关键流程图来看,到能交互阶段(虽然是部分交互),需要大概7s时间。

Node 计算

  • WHY:户型图敏感数据,不适合暴露在端上计算(比如两点间最短路径)。或无理由,就是写在 Node 层。
  • 调整:计算结果缓存,离线化支持。

浏览器端渲染

  • WHY:全模块渲染,无动态加载。造成 js 臃肿(依赖的 Three.js 库本身就巨)。
  • 调整:需 架构升级、先分层、非首屏内容异步加载或用户触发渲染。

六张图居然要花4s去下载?

  • WHY:由于 JS/CSS/图标等静态资源(前4s大概200多个 HTTP 请求)都在同个CDN域上,浏览器或 WebView 同时只能执行3-5个 HTTP 请求,无法并行请求六张全景图片。
  • 调整:多 CDN 域名 + HTTP2 多路复用支持。

2.4 点击 VR 带看入口到带看就绪耗时

何为VR带看?VR带看是指用户和经纪人(可以多个用户、多个经纪人)打开同个VR 页面,可以实时语音并且交互画面同步,视频效果如下:

VR 带看启动流程

VR 带看启动流程耗时节点流程图
图三:VR 带看启动流程耗时节点流程图

线下分析15s耗时进入带看就绪状态,但线上真实情况却是21s左右。

VR 带看类似于远程视频语音,只不过视频内容换成了 VR 画面同屏。可想而之,从触发到就绪需要21s,这是用户不可接受的,这个业务推广面临极大的困难。

3. 策略调整

3.1 产品策略调整

  • 内存:产品经理将页面拆分为 首屏模块非首屏模块,首屏模块强制渲染,非首屏模块延迟渲染或用户触发加载——旧的前端架构不支持。
  • 点击VR带看入口到带看就绪耗时:
    • 不需要新开启 WebView,直接在原有的 WebView 上执行带看流程——旧的前端架构不支持
    • 就绪重新定义:不需要等 RTC 联通、三维模型渲染就绪才能进入带看;只要 WebSocket 联通就行。
    • 新产品模式:抢单模式,一个用户对应多个线上经纪人/职业顾问,谁先响应客户资源归谁。

3.2 技术架构升级

从产品策略的调整来看,基于 jQuery +发布/订阅者模式实现的增量式模块化开发前端架构已经不满足现有的业务和性能诉求。原有的设计是典型的SPA应用,但是新的架构诉求则更像是一个平台,即架构上分层:数据层、View 层,View 层又细分 DOM 层、Canvas 层、协议层及基础插件层。数据层和 View 层组成基础的首屏内容,非首屏内容则基于这两层以动态模块的形式进行开发——需要时挂载(占内存),不需要时卸载(会延迟清部分内存)。

前端架构分层设计
图四:前端架构分层设计

图四是图一的简化版本,以首屏内容(产品定义)为核心,非首屏内容以动态模块“热插拔”式支持:

  • 数据层:基于 MobX 二次抽象,以React Context <StoreProvider> 形式驱动UI。
  • 协议层:类 jsBridge,实现与客户端通信,保障业务层逻辑通用——App(iOS/Android) 即jsBridge,小程序依托 WebSocket 实现。
  • DOM 层:HTML 标签二维交互。
  • Canvas 层:基于 WebGL 三维模型建模抽象——Three.js 生态及自研渲染引擎。
  • 插件层:以插件的形式进行抽象,实现二维 DOM 和三维 Canvas 混合编程。
  • 动态模块:经纪人/AI 讲房、VR 带看、地图、多媒体资源等——以主副面板等形式集成。

3.3 产品策略和技术架构带来的提升

  • 内存:浅用户(功能使用少的用户,停留时长50s内)崩溃率降低明显;深度用户崩溃率有降低,但是未发生质变。
  • FPS:无直接影响。
  • TTI-Loading 耗时:由于基于首屏渲染,渲染依赖极大减少,平均值降低至3.3s;再加上摸底分析提到的优化,最后能降到到2s左右。
  • 点击VR带看入口到带看就绪耗时:
    • 用户端1s内——得益于不需要新开启 WebView,直接动态载入 VR 带看模块即可。不强依赖 RTC,瓶颈在 WebSocket 连接速度。
    • 经纪人/置业顾问端 3.5s 内,基本跟 TTI-Loading 耗时保持一致。

优化后数值基本都达到预期性能指标,但TTI-Loading耗时和内存溢出问题还是严重影响业务,可以成立专项再深度去治理。

4. 专项治理

经过前面三个阶段之后,基本能做到 ①整体指标大盘稳定②产品策略合理③技术架构无缺陷 ——能考八十分的高分水准。而专项治理则是将八十分往九十分继续提高。

4.1 TTI 指标:Loading 耗时长

虽然已经将Loading 耗时缩减到 3.3s以内了,但是这个过程本身很“膈应”,对业务还是有影响的。更进一步地我们开始思考怎么能把这个过程给去掉,但仅仅局限在 Web 前端的角度我们很难再有所突破。

本着 渐进增强 的原则,由于我们大部分用户是在贝壳/链家App上使用VR看房服务,我们可以重复利用客户端渲染能力。

分析3.3s的瓶颈:

  • 1s HTTP请求至浏览器端渲染(HTML「壳子」/CSS/JS等)。
  • 2s 左右的全景图片请求(六张)。

至此,我们可以基于 WebView 拦截HTTP请求,让客户端提供HTTP请求预载、代理、缓存等能力。静态资源、全景贴图等在房源详情页提前请求,到 WebView 层拦截使用,终于整个流程平均值降到2s内(高端设备已经到1s内)——已经达到一个很好的效果。

但是,Loading 这个过程依旧存在。我们继续深度挖掘客户端能力:客户端浅渲染三维模型——即客户端最小程度渲染三维模型(全景效果),由于资源已经提前预载,客户端渲染速度在300ms内(视终端设备性能来定),然后等 WebView 渲染就绪后再替换成前端渲染。所要做的工作是客户端渲染和前端渲染效果对齐即可。

最终,300ms的延迟肉眼近乎无法感知,无缝衔接——效果如下视频。这个加载效果也步入业内第一梯队。

4.2 内存溢出

由于动态载入\卸载的加成由于内存瓶颈造成的崩溃率已经有较明显下降。但是针对深度用户,崩溃依旧无法避免,但这部分用户又尤其重要。

同样的,遵循 渐进增强,优雅降级 的原则,我们先系统地整理了影响内存情况的所有因素——见内存溢出影响因素鱼骨图。

内存溢出影响因素鱼骨图
图五:内存溢出影响因素鱼骨图

同时按照线上内存性能分布情况、算法用户画像分析和测试团队线下测试情况建立了一份数据库。基于这份数据库和算法的用户画像数据来给用户提供不同的功能——即“千人千面”的用户体验,大体逻辑如下:

  • 针对低端环境用户(终端设备性能弱,电池影响等):仅提供基本功能,高端功能(高分辨率、装修对比等)禁用(不会加载渲染)。
  • 针对高端环境用户(高性能设备):渲染质量高,功能丰富。
  • 针对用户画像提供功能:比如,用户对装修感兴趣,则推荐装修模块;比如,用户购买意向高,则渐进推荐 VR 带看、AI 讲房等功能

至此,将原本前端性能优化工作转换成算法团队根据用户画像来推荐功能的工作。性能状况是用户画像的一部分,在性能条件容许的情况下给用户最好的体验和功能,而非之前一股脑儿全给——不管你是什么样的用户,都能得到合适的 VR 3D 看房服务体验。

而前端的工作重点则开始转变解析 WebSocket 推送的指令——在首屏模块的基础上,该渲染哪些异步模块,该何时卸载哪些异步模块,卸载的同时内存的清理情况。

很可惜这部分并没有很务实地落地——可能对于家长而言,孩子考八十就足够了,不强求九十分或更高~

叁、表格形式-简化

表格形式-简化

北京漫游:大兴野生动物园

缘起

最近恋上小红书(很难想象我会成为小红书的重度用户)——也就是在某天晚上在小红书上刷到了大兴野生动物园里面关于小熊猫的内容——天啊~为什么地球上有这么可爱的小动物!

我想去现场瞧一瞧。但曾经逛西安海洋馆的悲伤记忆还在,我实在接受不了关在笼子里面的动物——没有自由、眼神永远无助。犹豫了好一阵子,又觉得新冠疫情结束,可以将去北京大兴野生动物园看小熊猫当作二〇二三年看看大大世界的第一站——怀着期待和忐忑的情绪,小熊猫我们来了。

休憩的小熊猫
休憩的小熊猫

规划

下定决心,忽悠好好友,开始研究攻略、做规划。

时间线
从小红书的关于大兴野生动物园的视频来看,排除掉周六日——北京人太多人太多。然后周一猛兽区不营业,最终选择3月28日周二请假一天去看小熊猫。出发时间是早上 6:00,意味着 5:30 前就要起床——青春坟墓依赖症同学面临者极大挑战。

时间线安排
时间线安排

交通
我们两波人都选择最实惠的交通工具(地铁和公交),一波回龙观到大兴野生动物园(13元/2小时9分钟),另一波望京到大兴野生动物园(12元/2小时5分钟)。感叹北京人多地广之外,交通还贼便携。

蔬菜、水果
筹备了苹果、胡萝卜和白菜。进园是不让带的,奈何周二人少,门禁管理阿姨也是睁一只眼放我们大背包进去了。

心满意足

春天

星期二请假一天入野生动物园确实是一个无比正确的选择。我们入园时已经九点多了(晚于预期时间近一个小时),但人真的很少——类似于在逛一个普普通通的小区公园。按照攻略,搭着园区代步车直奔猛兽区,到达目的地后却被告知「猛兽区十一点之后才开放」。

好吧,攻略往往是无效的,计划永远滞后于变化。突然间只能开始漫无目的的乱逛,期间遇到不少初春盛开的樱花、杏花特别吸引眼球,色泽浓厚。喜欢看花,就像看过一段人生,开花前的煎熬、绽放时的耀眼、香断凋谢后的无情——好像都刻骨铭心般经历过一番,却又如流星稍纵即逝。

这时携带的重量超两斤的佳能相机派上用途,花儿背景虚化的效果手机怎么拍都达不到——新冠疫情三年,这台佳能一直在吃灰,她也一定在等待着重见天日、被重用的时刻吧。

春天盛开的杏花
春天盛开的杏花

鹦鹉

第一站有趣的是鹦鹉——未进禽区就已经听到鸟儿叽叽喳喳声不绝于耳。进去后,这些鸟儿种类还真不少(反而显得空间过于压抑),也不是特别怕人。其中一只体型比较大的鸟儿(可能是鹦鹉的一个种类)看上我衣服上纽扣——可能是被当作坚果了吧,一直尝试用自己的啄尝试抠下来——阵势挺吓人的,但是第一次这么近距离接触这种鸟类也是特别有喜感。

唯一遗憾的时,这次来动物园是冲着小熊猫来的,我并没有准备瓜子、花生这类坚果,没有达到更有趣的互动。还有,禽区内我一直在想「我家里养的那两只猫甩到这里,他俩一定认为这里就是游戏的天堂」,不知道是他俩乐呵还是受群鸟欺负。

谈情说爱的鹦鹉
谈情说爱的鹦鹉

长尾猴

给我感觉 快乐就应该是这个样子,但是自我小学毕业之后就再也没体验过这种快乐,我知道那种快乐是什么样子的,但是我知道我往后人生很难再会体验到。

乐呵的长尾猴
乐呵的长尾猴

小熊猫

乞食的小熊猫
乞食的小熊猫
卖萌的小熊猫
卖萌的小熊猫

猛禽区

睡午觉的母狮
睡午觉的母狮

羊驼

奇奇怪怪的羊驼
奇奇怪怪的羊驼

归途

一路疲倦
一路疲倦
归途背影
归途背影

最后

小红书为啥吸引我?

主要有两点:① 发现页推荐逻辑清晰、干净;② 搜索结果价值高。其中 ① 体现在首屏给四个(iPhone 版)推荐项,分别是近期访问相关(科技资讯)、猫、Switch 相关和一个手机壳赞助(广告)——无论刷新几次,这四类大方向不会存在过多变化——而淘宝、京东等的推荐,信息量太大,巴不得吸引我掏出口袋里那几个子。而 ② 是吸引我持续使用的最主要原因——我把小红书当百度来用,有兴趣的同学可以用「猫粮」、「感冒药」分别用小红书、百度搜索对比下,看看谁的结果是搜索者真正想要的——又得吐槽百度这家公司产品有多「废」。

动物园是罪恶的?