4889软件园:电脑手机软件下载大全,热门手机游戏免费下载

4889软件园 > 资讯文章 > 安卓手机网络加速器(年年换新手机,某个设备却在卡网速?升级中兴AX5400pro+分享)

安卓手机网络加速器(年年换新手机,某个设备却在卡网速?升级中兴AX5400pro+分享)

作者:佚名 来源:4889软件园 时间:2023-04-15 06:32:27

安卓手机网络加速器(年年换新手机,某个设备却在卡网速?升级中兴AX5400pro+分享)

安卓手机网络加速器文章列表:

安卓手机网络加速器(年年换新手机,某个设备却在卡网速?升级中兴AX5400pro+分享)

年年换新手机,某个设备却在卡网速?升级中兴AX5400pro+分享

家里之前一共用过两款路由器,第一款是2017年房子入住入手的路由器,偶尔有断连的问题,第二款是三年前更换的某品牌游戏路由器,中间出现几次断网的情况,家里人一直让我换掉它,后来设置每周自动重启一次,这个问题就没再出现了,但是没有WIFI6这些功能,家里路由器的性能明显跟不上手机的节奏。这一次入手中兴AX 5400 Pro ,具备wifi6功能,还有其他一些黑科技,是中兴10月份上市的旗舰路由器,应该可以保五到十年不用再升级路由器了。

想起读大三的时候,市场营销的教授跟我们提起,国内网络通讯设备的两大公司,一个是华为,一个是中兴,这两个公司出来的人,大把公司抢着要,选择中兴制造的路由器,更看重他的技术和品质。

中兴AX 5400 Pro 的包装盒比想象中还要大一些,淡黄色的纸皮,没有花里花俏的设计语言,承载的功能最主要是还是保护机器。

直接开箱,中兴AX 5400 Pro 配备了6根可折叠天线,包装盒中用了一块带卡位的黑色泡沫固定和保护。

包装清单有:

· 路由器*1

· 六类网线*1

· 电源适配器*1

· 说明书*1

AX 5400 Pro 一共有2款配色,“液态银”和“暗夜黑”,小固手上这款是液态银,主要是主机盖配色为银色,其他部位均为黑色,黑银搭配,比全黑配色更为活泼些。

液态银色搭配星级飞船造型的路由器主机,带有较浓厚的未来感和科幻感。

从上图这个角度,可以看到这台路由器配备了5个网口,其中2个2.5GE网口,和3个GE网口,以及一个3.0USB插口。

文章开头提了一句,AX 5400 Pro 可保我家五到十年不需要再升级路由器,主要是这台路由器超前配置,标配了双2500兆有线网口,我们家目前的带宽是300兆,一般家庭也都是300兆带宽就够用了,未来如果真4K电视流行起来再加上千兆资费的降费,才会考虑升级宽带,所以即使10年后我家宽带升级到2500兆,依然不需要更换路由器。

很多高端路由器的通病都是有散热差的问题,之前也看过不少网友发的给路由器加设散热风扇的帖子,小固使用AX 5400 Pro 已经有一段时间了,并没有出现过过热的情况,主要是这款路由器有多层立体散热结构,铝硅和铝镁合金双侧全覆盖散热片,结合石墨烯高效散热涂层工业级别散热,可以达到40000小时连续运行入新,这个数据是中兴实验室100台样机累计不间断测试所得出的理论数据。

机身底部和多个侧面布满了散热口,能够及时向外散热。

之前就从AX 5400 Pro 的商品详情页了解到,这款路由器搭配了中兴自研主芯片,1.1GHz 4核CPU,8核独立NPU,双向数据吞吐能力达到20GHz,有了这强大的芯片,这款路由器的产品定位是旗舰PRO级别,能够胜任电竞、工作室、NAS、多设备接入等要求较高的场景。

我使用带wifi6的手机都两年,家里的路由器这个月才升级到位,我们家的网络环境一直也都是以无线为主,除了电视是以网线接入,其他比如台式电脑、笔记本电脑都是连接wifi,免去繁琐的布线,桌面也能更加简洁(ipad和手机就更不用说了),所以路由器的wifi功能的高速和稳定,是我最最最看中的。AX 5400 Pro 搭配满血的WIFI6,有4通道的160MHz频宽,比其他旗舰型路由器还要多出一倍的通道,搭载6 路独立外置信号放大器,100m2左右的户型可以轻松搞定信号问题,比如我家的户型是90方,路由器放在客厅位置,在其他任何房间网络信号都是满格,离路由器最远的房间(离路由器位置隔了2道墙和一条走廊),5G信号就掉了2格,因为5G信号穿墙能力较差一些,可以设置智能选择频段,自动切换5GHz或者2.4GHz频段。

AX 5400 Pro 初次使用需要下载“中兴智慧生活”app,这款app没有任何广告,一股清流,好评。设置第一次连接网络也是傻瓜式操作,插了网线-下载app-选择添加路由器,一路操作,到设置wifi密码,就完成操作了。

这里分享我的小经验:将路由器wifi名称改成跟上一个路由器同名(比如我家设置成sunshine),密码也是设置成一样,换了新路由器之后,家里的设备都不需要重新输密码连接wifi,我家的智能家电比较多,基本靠这一招节省很多时间。

初次连接,就提示有升级包,马上升级,新上市的机器建议有更新包就马上升级,可以解决和避免碰到一些bug。

新设备上手,必须过一下网速测试这一关,手机直接放在路由器上面测试,跑出400Mbps的速率,软件的测试结果显示是“网速相当于:100-500M宽带”,如果装的是中国电信的宽带,数据应该还会更好。

刚好最近收藏了好多纪录片,用云盘下载,速度可以达到40Mb上下浮动,按照带宽除以8等于下载速度的算法,300mb/8=37.5mb,下载速度超过预期值。

玩游戏网速不卡,不掉线,妹子才肯来我家玩,用5Ghz频段的wifi玩游戏,效果果然好。此外,AX 5400 Pro 支持游戏加速模式,配置了网易UU加速器和玩辰提速两个插件,为游戏上分保驾护航。

AX 5400 Pro 有3.0USB插口,可以组建成轻NAS设备,需要开启路由器的Samba服务,听起来复杂,实际操作非常简单,因说明书没有明示,可按我的做法操作。

※安卓手机操作如下:

第一步 使用手机的浏览器,输入192.168.5.1,输入登录密码,进入路由器管理后台(上图左一);

第二步 点击左三角“三”,点击应用,点击USB,在Samba服务下选择开启,点提交。

就完成了路由器的Samba访问业务开启。

※win系统电脑操作如下:

第一步 电脑打开控制面板,选择“应用”-“程序和功能”-“启用或关闭Windows功能”,勾选“SMB1.0/CIFS File Sharing Support”并确定,按提示重启PC。

第二步 PC与路由器连接,路由器web管理页面中,点击“应用”-“USB”-“Samba”,选择Samba服务开启,U盘接入路由器。PC打开“此电脑”,在路径处输入“192.168.5.1”后回车即可进行Samba访问(Samba访问IP地址为路由器地址,默认为192.168.5.1)。

安卓手机上设置好路由器的Samba服务后,就可以U盘或者移动硬盘等插入路由器,然后手机下载"ES文件浏览器",按我上图截图界面的操作,就可以范围U盘里面的内容了。

“中兴智慧生活”app上AX 5400 Pro 的功能界面简单清爽,主要是属于日常管理方面的功能控制,如果涉及到重要的后台设置,是需要在WEB管理网页(192.168.5.1)那里设置的,比如以下这个非常实用的设置。

假如你们家的路由器偶尔会断网,然后通过重启路由器就能恢复上网,不妨学一下我这招,就是给路由器后台设置每周一次自动重启,这个功能超级香,我们家上个路由器机油偶尔死机断网的问题,通过设置自动重启解决了。重启时间建议设置在凌晨家人都休息的时间。

对中兴AX 5400 Pro 路由器的开箱和体验,以及路由器使用的经验分享就到这了,如果你有什么问题,也可以在评论区中留言。

感谢!

万字解读Telegram发家史:Pavel Durov如何变成Facebook反抗者

钛媒体注:本文来自 readthegeneralist,原文作者: The Generalist 创始人兼主编 Mario Gabriele,Odaily 星球日报译者 | Moni

内容概述

1、Telegram 是世界上增长最快的应用程序,至少,在某些方面是这样的。 根据 2021 年的一份报告显示,没有哪个主要应用程序的月活跃用户增长超过 Telegram,它现在拥有大约 6 亿用户。

2、Telegram 围绕其安全性建立了一个叙事,尽管它确实加密了消息,但大多数都并不是真正的加密,也不是完全隐私的。不过,这似乎并没有损害公司声誉,在反定位方面做得非常出色。

3、使用加密货币存在风险。 2018 年的 ICO 为 Telegram 带来了 17 亿美元资金。不幸的是,对于创始人 Pavel Durov 来说,美国证券交易委员会认为这笔融资属于未经注册的证券销售,结果导致 Telegram 的发展速度放缓,并促成了不同寻常的财务协议。

4、竞赛是一种有效的吸引人才方法,似乎很少有公司像 Telegram 那样拥有这么多才华横溢的工程师。Telegram 的成功部分取决于人才,该公司经常为产品改进提供奖品,还聘请了最有才华的参赛者。

5、Telegram 仍然没有找到商业模式。自 2017 年以来,Telegram一直在探索支付服务,最近还尝试了广告。到目前为止,两者都没有取得较好的效果。从这个角度来看,Pavel Durov 的团队可能会从微信和其他同行那里寻找灵感。

——————————————————————

2021 年 10 月,在 24 小时的时间里,Telegram 获得了 7000 万新用户。社交媒体的无处不在让我们对如此庞大的数字感到麻木,但实际上,7000 万人这个数字比南非、法国和泰国的人口还要多,只比两倍加拿大人口少一点点。

有了这样的比较,或许你会发现 Telegram 已经是一个具有全球规模的消息传递应用程序。

为什么会发生这种情况?老实说,很大一部分原因是其他社交媒体“不给力”。Facebook 的问题越来越多,Instagram、Messenger 和 Oculus 也无法让用户满意。或许是为了寻找更好的人脉网络,甚至是更好、更人性化的社交媒体品牌,用户涌入了 Telegram——这个由具有超凡魅力的俄罗斯企业家帕维尔·杜罗夫 (Pavel Durov) 创立的社交应用。

Telegram 给人的感觉更像是对马克·扎克伯格的否定,这为其叙事提供了不错的口碑,但也掩盖了其他优势。是的,Telegram 已经确立了作为更注重隐私的替代品声誉,但它也是一个更好的消息应用。虽然它可能仍然落后于 WhatsApp 的非活跃用户——20 亿 vs. 6 亿——但 Telegram 赋予了用户更多权力和技巧。

当然,Pavel Durov 的业务也有过挫折,比如当年拙劣的首次代币发行 (ICO) 给他们带来了 17 亿美元的资金,但组织没有取得任何进展。 Telegram 会争辩说 SEC 对这次失败负有责任。然而抛开这一切,Telegram 自身也存在不少问题,比如目前依然没有建立可行的商业模式。对于 Telegram 而言,10 年后的今天,有意义的收入似乎仍然遥不可及。

看起来,Telegram 是一家复杂、有时甚至感觉有些不切实际的公司,尽管其产品卓越,但似乎仍然在扮演一个在比较中茁壮成长的反击者。在国际象棋中,“俄罗斯游戏”是一个开局手法,其部分特征是模仿对手并试图反击。在许多方面,Pavel Durov 似乎采取了同样的方法。

为了发挥其真正的潜力,Telegram 可能不得不改变玩法。随着公司进入新的十年,它更希望凭借自身优势树立声誉。由富有远见的高管和才华横溢的技术团队提供支持,Telegram不仅具有与 WhatsApp 相媲美、甚至能使其黯然失色的关键要素。在今天的文章中,我们将讨论 Telegram 的过去和未来,包括以下内容:

1、成立 vkontakte。在尝试打造更好的 WhatsApp 之前,Pavel Durov 创建了俄罗斯版的 Facebook。尽管扎克伯格的故事引人入胜,但 Pavel Durov 的故事更令人兴奋。

2、启动 Telegram。Pavel Durov从他的老公司被赶下台后,开始着手建立 Telegram。为了发展这款应用程序,他不得不应对 FBI 的干预和 SEC 的暴虐。

3、不寻常的融资。 Pavel Durov 采用非正统的方式为 Telegram 融资,以避免从风险资本家那里筹集资金。他不仅自己支付了大部分开发费用,而且还转向了 ICO 和债券发行。

4、擅长产品。 Telegram 是在 WhatsApp 之后创立的,但现在,它显然已经是社交媒体产品的领导者。Telegram 支持更大的群组、更多格式和一系列不同的功能。

5、资金的烦恼。该公司的大部分声誉依赖于其对隐私的承诺。这使得基于广告的商业模式不适合。 Telegram 已经尝试了促销和其他支付方式,但没有取得突破性的成功。

6、展望未来。不过,我们有理由对 Telegram 保持乐观,其他消息应用程序已经找到了创造性的货币化方式,尤其是中国的微信和日本的 LINE。

让我们开始吧。

VK 的故事

罗马诗人 Juvenal不是一个经常被引用的名字,但他却为我们如今的媒体时代贡献了不少潮流词汇,比如用“面包和马戏团”形容如何安抚群众,用“黑天鹅”和“守望者”形容金融市场变化。

星星之火可以燎原

具有讽刺意味的是,Pavel Durov——这个 1984 年出生的男人——生活会由寻求隐私来定义。Pavel Durov 是阿尔比娜·杜罗娃和她的丈夫瓦列里·塞梅诺维奇·杜罗夫的第二个儿子,瓦列里·塞梅诺维奇·杜罗夫是一位受人尊敬的罗马历史学家,曾研究过 罗马诗人 Juvenal 的讽刺作品。

虽然出生在圣彼得堡,但 Pavel Durov 童年大部分时间都是在都灵度过的,直到他的家人在瓦莱里接受圣彼得堡大学(SPbU)语言学系主任的职位后,家人才会返回俄罗斯。

毫无疑问,Pavel Durov 是一个聪明的孩子,但在众多兄弟中,他并不是非常出色的那一个。比 Pavel Durov 大四岁的哥哥 Nikolai Durov 从小就表现出了更非凡的数学能力。

Nikolai Durov 在青少年时期就参加了国际数学奥林匹克竞赛,还获得了几枚金牌,他现在是一位才华横溢的计算机科学家并将这种兴趣传给了在构建产品方面极具天赋的弟弟——Pavel Durov。 11 岁时, Pavel Durov 创建了俄罗斯方块游戏的衍生产品,后来他和哥哥 Nikolai Durov 合作完成了一款以中国为背景的策略游戏《Lao Unit》。

Pavel Durov 不是个“安分”的学生,更不是那写坐在教室前面以便更好地看到黑板并获得好成绩的孩子。Pavel Durov 经常告诉老师他们不称职,而且似乎乐于展示自己超群的才智,尤其是在计算机方面。有一次,他把学校电脑的屏保改成了老师的照片,旁边写着“必须死”。尽管教官多次试图将 Pavel Durov 锁在计算机系统之外,但他似乎总能找到办法进入。这种古怪的行为不仅放在了老师身上,一位同学说,当他和 Pavel Durov 说话时,好像永远无法确定自己是认真的还是在嘲笑他。

尽管对编程很感兴趣,但 Pavel Durov 在上大学时仍追随父亲的脚步,他不仅考入了圣彼得堡国立大学,而且还专注于语言学。为了满足俄罗斯的征兵要求,Pavel Durov 学习宣传,学习孙子和拿破仑所信奉的战术,随着时间的推移,他意识到对信息控制的重要性。

除了学习之外,Pavel Durov 还致力于开拓自己的事业,包括推出了 Durov.com 博客,这个博客变成了大学生上传论文和交流思想的平台。但是,Pavel Durov会经常故意发表煽动性言论——例如赞美希特勒。他后来解释说:

“有时我不得不煽风点火,如果用户同意你的观点,你会觉得自己处于世界之巅,但这样的结果反而会导致他们离开。如果你和他们争论,羞辱他们,他们会回来证明他们是对的。”

由于对在线社交动态的深刻理解,Pavel Durov 的网站吸引了超过 270 万访问者,这不仅使他的想法具有广泛的影响力,当这位崭露头角的创业家考虑自己的下一步行动时,这种洞察力将被证明是无价的。

追逐 Facebook

2006 年,Slava Mirilashvili 登录俄罗斯新闻网站,惊讶地看到他的老同学 Pavel Durov,因为他的朋友因为给大学生创建了一个倍受欢迎的线上论坛而被曝光。(作为说明,我们将 Slava Mirilashvili 称为“Slava”,以区分他和他的父亲,因为他的父亲也参与了这个故事。)

Slava Mirilashvili 近距离见证了 Facebook 的崛起。当然,这个社交网络早在两年前就在波士顿成立了。但在 Pavel Durov 的论坛上,他看到了面向俄罗斯市场的类似业务的可能性。于是,Slava Mirilashvili 找到了 Pavel Durov 的地址,两个年轻人重新开始了他们的友谊。谈话很快转向了新兴社交网络空间的潜力,其他一些朋友和麦吉尔大学毕业的 Lev Leviev 也很快加入。

那年夏天,从圣彼得堡大学毕业几个月后,Pavel Durov 注册了一个域名:vkontakte.ru。随着故事的发展,VKontakte 这个名字(意思是“接触”)最初效仿了 Facebook (Facebook 曾在取名时放弃了 The Facebook 中的 'the'),因此显然更干净。

为了启动他们的项目,三人需要资金。幸运的是,他们有现成的资金来源:Slava Mirilashvili的父亲Mikhail Mirilashvili,这位格鲁吉亚人建立了一个令人眼花缭乱的帝国,涵盖了从房地产到石油、媒体到赌博的不同业务,而且还拥有欧洲最大的老虎机网络。

在儿子的授意下,Mikhail Mirilashvili 将 VK 公司资本化,以换取 60% 的业务。尽管 Pavel Durov 仅持有 20% 的公司股份(剩余的 20% 由 Slava 和 Lev Leviev 瓜分),但他获得了大部分投票权,这反映了这家初创公司对他的愿景的依赖(也有其他消息来源显示,三名应届毕业生各获得 20%, Mikhail Mirilashvili 持有 40%)。

有了钱,VK 开始进入市场。与 Facebook 一样,VK 最初以大学生为目标,通过邀请逐个校区发展。Pavel Durov 还通过竞赛来鼓励注册:鼓励用户让尽可能多的朋友注册。谁证明了最好的推荐人,谁就会得到一个新的 iPod,仅这一策略就帮助 VK 获得了成千上万的早期采用者。

没过多久,VK 用户量就突破了六位数。而且,就在测试版仅仅六个月后,VK 就成为俄罗斯第二大社交网络,拥有超过 100,000 名用户。一年后,VK 用户量突破 100 万并超越了另一家本地社交媒体巨头 Odnoklassniki。

扩大 VK 网络规模

VK 公司的成功似乎来自对产品的了解和卓越的技术的结合。

从一开始,Pavel Durov 就展示了 VK 产品的远见和实用主义。早期的迭代大量借鉴了 Facebook,模仿了这家美国公司的调色板和功能。但很快,VK 就推出了其他个性化功能。例如,Pavel Durov倾向于将个人资料页面作为用户默认设置。这在当时可能更适合俄罗斯市场。

此外,VK 支持视频和音频文件上传,包括许多受版权保护的文件。不过,这个功能引发了版权纠纷,一家俄罗斯电视公司就起诉其侵权。此外,为了使产品更丰富,VK 还“模仿”了 Netflix 或 Spotify 服务,许多用户每周花费数小时观看网站上的视频。

VK 的一位早期员工指出,即使 VK 业务已经足够成熟了,但 Pavel Durov 仍以很高的期望统治着产品功能,该员工说道:“Pavel 对产品质量提出了很高的标准……代码的质量,最终产品的质量,你必须以任何方式达到这个标准。”随着 VK 的成熟,即使是很小的风格决策也经常会提交给 CEO。

VK 在技术方面也表现出色,随着公司的发展,暴涨的交易量逐渐成为越来越大的挑战,尤其是当该网站成为黑客的目标时。值得庆幸的是,Pavel Durov 还有一张王牌:他的哥哥 Nikolai Durov。在 2005 年从圣彼得堡国立大学获得数学博士学位后,Nikolai Durov 继续在波恩大学攻读计算机科学(和数学)博士学位,在此期间,他构建了一个能够处理数百万用户并抵御攻击者的后端。

金钱狂热

不过很快,Pavel Durov 拥有娴熟的技术能力也跟不上不断增长的需求了。 VK 相对较早开始货币化,鼓励用户购买应用内货币、发送付费短信和玩游戏。从 2008 年开始,该公司还尝试在网站上投放广告,但 Pavel Durov 更愿意将广告保持在最低限度,以免影响用户体验—— “客户至上是第一要务,永远如此。”

尽管带来了资金,但对更多服务器的日益增长的需求意味着需要更多的资金。于是,VK 的新投资人 DST Global 的创始人 Yuri Milner 登场了。

起初,拿走 Yuri Milner 的投资对 Pavel Durov 的团队来说并不是一个艰难的决定——一般来说,风险投资家会以最优惠的条件提供最多的资金,同时让 VK 继续按照自己的意愿运营。但随着时间的推移,DST Global 的俄罗斯资产被捆绑到 Mail.ru Group (MRG) 中。到 2011 年初,MRG 持有 32.5% 的股份,并可选择再持有 7.5%——显然,他们想要更多。Yuri Milner 的副手之一、总经理德米特里·格里辛(Dmitry Grishin)当时直言不讳指出,“我们要控制这个社交网络,或者甚至更好地收购其所有股份,在战略上是正确的,我们正在为此进行对话。”

然而,这场对话似乎没有持续多久。据报道,尽管 Pavel Durov 访问了 MRG 的办公室讨论收购事宜,但他在社交媒体上给出了最终答案:张贴了一张中指的照片,并配文称这是他对 Dmitry Grishin 的“官方”回应,并称 MRG 是一个“垃圾场”。

尽管措辞强硬,但他们并没有阻止 MRG 行使其选择权,将其持股比例提高到 40%,并对 VK 的估值为 15 亿美元。当时,该社交网络的用户帐户已达到 1.25 亿,业务遍布整个俄罗斯和其他前苏联国家。

权力游戏

VK 的影响力赋予了它真正的力量。

但是到 2011 年底,这个力量却变成了一种负担。

2011 年 12 月,针对不公正的议会选举的抗议席卷了俄罗斯。作为回应,该国安全机构 FSB 向 VK 施压,要求其关闭七个反对派团体并传递用户信息。作为回应,Pavel Durov 在推特上发布了一张穿着连帽衫的哈士奇照片,伸出舌头,这是他让世界和 VK 的用户知道他不会屈服于压力的方式。

不久之后,一个特警队访问了他的公寓,尽管 Pavel Durov 拒绝让他们进来。被包围后,他决定打电话给他的兄弟,告诉他发生了什么事。正如 Pavel Durov 后来所说,正是这一刻激发了他创立 Telegram 的想法:

“我意识到我与他没有安全的沟通方式,Telegram 就是这样开始的。”

值得注意的是,特警队撤退之后,Pavel Durov 的声誉反而得到了提升,至少目前是这样。

然而压力一直持续到新的一年,最终导致 Nikolai Durov决定离开 VK。年轻的 Pavel Durov受到商人和官僚的挤压,又失去了最亲密的哥哥支持,他的行为开始越来越不稳定。

举个例子,Pavel Durov 曾经从 VK 的办公室窗户往外扔了钱,据说他当时刚刚给了公司的一位副总裁一大笔奖金,可这位总裁却回答说对他来说重要的是使命而不是金钱,Pavel Durov 决定挑战一下他的副总裁并建议他将卢布扔到圣彼得堡繁华的涅瓦大街上。虽然副总裁答应了,但Pavel Durov 依然认为这样做还不够华丽,于是决定接手,他用 5,000 卢布纸币制作纸飞机,然后扔向快速聚集的人群中——Pavel Durov后来称其为“我们公司历史上最有趣的时刻之一”。

与此同时,MRG 仍在争夺控制权。

2012 年底,为 Yuri Milner 和 MRG提供资金的大亨阿利舍尔·乌斯马诺夫(Alisher Usmanov)表示,“具体谈判”正在进行中。

压力持续到 2013 年,当年 VK 因盗版而受到美国唱片业协会 (RIAA) 的抨击,这阻碍了该公司在西方交易所公开备案的机会。

两个月后, 让 Pavel Durov 感到最可怕的四月来临了。

2013 年 4 月 4 日,俄罗斯媒体 Novaya Gazeta 投下了一颗重磅炸弹,其中指出,杜罗夫和 VK 并没有抵制 FSB 的进步,而是积极怂恿抵抗组织。虽然 Pavel Durov 经常看起来像一个理想主义者且受到自由主义倾向的鼓舞,但他也是一个实用主义者。从长远来看,他可能已经决定采取 来保护 VK 的独立性。

大约在同一时间,警方对 Pavel Durov 进行了调查,原因是他曾驾驶一辆白色奔驰车碾过一名交通督导员的脚,因此涉嫌肇事逃逸。由于害怕报复,Pavel Durov 选择逃亡,一些人认为他潜逃到了意大利、瑞士或圣基茨和尼维斯。 2013 年 4 月 16 日,调查人员冲进 VK 的办公室,撕毁文件柜。

无论他身在何处,Pavel Durov 几乎每天都会打一个电话,希望证实 United Capital Partners (UCP) 是否已购买了 VK 48% 的股份。当时他对此一无所知,尽管这个消息会被证明是真的, Mirishvalis 和 Leviev 最终以 11.2 亿美元的价格将他们的股份卖给了一家传闻与政府有联系的公司。事实上,许多人认为,如果没有支持者的帮助,UCP 将无法为如此大规模的收购提供资金。

也许是感觉到自己在 VK 的日子不会长久,Pavel Durov和他的哥哥当时已经开始“低调”构建一个新项目——这个免费、安全的消息服务就是 Telegram,并将纸飞机作为标志,已经积累了相当多的用户群。到 2013 年 10 月的时候,Telegram 已经拥有超过 100,000 的每日活跃用户,并且在某些功能方面已经超过了 WhatsApp。尽管有这种吸引力,Pavel Durov 并不打算用该项目牟利,而是将其设想为一个非营利性项目,其开发资金由他们的新控股公司 Digital Fortress 提供资金。

愚人节故事

2014 年 1 月,Pavel Durov 出售了剩余的 VK 股份,买家是 MegaFon 首席执行官 Ivan Tavrin。到那时,Pavel Durov 已经与阿利舍尔·乌斯马诺夫和解了,因为他是移动运营商的部分所有者。据推测,Pavel Durov 应该知道了接下来会发生什么。

几个月后,Ivan Tavrin 将他购买的股份卖给了 MRG,让该公司控制了 VK。最终,俄罗斯的互联网巨头抢占了该国最大的社交网络。

尽管 Pavel Durov 仍然是首席执行官,但他开始对 UCP 和 MRG 产生不满。2014 年4月1日,他通过自己的VK账号宣布辞职。许多人认为这是一个(相当奇怪的)愚人节玩笑。

是开玩笑吗?八年过去了,还不清楚。 但在 2014 年 4 月 3 日,Pavel Durov 回到社交媒体并且发布了一个 meme 狗狗表情包,声称这一直是个恶作剧。 4 月 21 日,他又报告自己被解雇了,这一次是因为他错误地撤回了此前的辞职申请。

不管是什么情况,2014 年四月底,Pavel Durov分享了最后的更新:他将全职在 Telegram 上为他的团队寻找新家。在 Facebook 帖子中,他写道:

您认为哪个国家或城市最适合我们?请随时在下面发表评论。为了让您了解我们的偏好,我们不喜欢官僚主义、战争过度监管。我们喜欢自由、强大的司法系统、自由市场、中立和公民权利。

Telegram 的故事

Telegram 的故事模仿了 VK。

尽管消息传递应用程序在短时间内达到了平流层的高度,但在此过程中也引起了争议。自 2012 年开始从事该项目以来,Telegram 的月活跃用户已接近 6 亿,并且是 2021 年在此基础上增长最快的应用程序。在这个过程中,Pavel Durov 不得不抵挡美国联邦调查局的“追杀”,还要面对美国证券交易委员会的“刁难”。

在风雨飘摇中起步

当 Pavel Durov 离开俄罗斯时,他并没有因为钱而受伤,后来的报道表明他带着大约 3 亿美元和 2,000 枚比特币离开了——按今天的价格计算,这些比特币的价值大约是 8700 万美元。这些资金让他有足够的能力来资助 Telegram 的发展并投资于加勒比岛圣基茨和尼维斯,以换取公民身份。与被任命为 CTO 的兄弟 Nikolai Durov 一起,他们开始发展 Telegram。

实际上,并非所有人都相信该项目的承诺,因为它是 WhatsApp 的复制品,几乎没有带来什么新东西。不过在早期阶段,Telegram 的团队还是提供了不少创新,比如更流畅的界面、更快的交互和据称更安全的通信而与众不同。这一承诺吸引了用户,该公司在推出后的几个月内就吸引了 3500 万用户。在 Facebook 于 2014 年初以 218 亿美元收购 WhatsApp 后,Telegram 的反制立场变得更加有力。

但是,UCP 当时仍在给 Pavel Durov 带来麻烦。 VK 股东起诉他对 Telegram 的所有权,声称 Pavel Durov 花费了公司的时间和金钱来开发 Telegram。分歧一直持续到 2014 年,直到 MRG 购买 UCP 在 VK 的股份后才结束,针对 Pavel Durov 的诉讼也被撤销,Telegram 的发展道路终于畅通无阻了。

问题不断?

到 2016 年,Telegram 公司以“零营销预算”积累了 1 亿月活跃用户 (MAU)。尽管如此,Telegram 还是经常发现自己处于争议的中心,但问题是,这款应用程序注重隐私的功能不仅吸引了注重安全的用户,还吸引了希望远离公众视线的极端组织。Telegram 努力控制使用该应用程序的圣战组织并充分缓和非法内容。

此外,Telegram 也开始与美国政府机构产生冲突。据信,俄罗斯警方曾一度向移动运营商施压,要求其拦截 Telegram 消息。与此同时,Pavel Durov 还声称美国联邦调查局试图贿赂他和他的开发人员以引入后门。正如他所说,美国情报官员向 Telegram 的一名工程师提供了“数万美元”,鉴于 Pavel Durov 声称 Telegram 开发人员大都是百万富翁,因此这笔“小钱”几乎不是一个诱人的提议。

尽管存在这些问题,Telegram 仍在继续增长。

这种增长的另一个原因则是 Facebook,每当 Facebook 社交网络因滥用用户数据而出现故障或陷入困境时,就会有数百万人转向 Telegram。正如我们所指出的,Telegram 经常充当一种“反抗 Facebook”工具,Facebook 表现越差,Telegram 发展就会越好。当然,Telegram 与其他传统社交工具的关系也是如此,比如 2014 年和 2019 年韩国应用程序 Kakao Talk用户也开始转向 Telegram。

随着公众舆论和媒体叙事转向反对现有的、广告驱动的产品,Telegram 业务继续上升。在这种情况下,它的问题似乎只有一个,那就是:钱。

TON 的麻烦

到 2018 年,Telegram 的用户已接近 2 亿,但尚未找到可靠的盈利形式。尽管 Pavel Durov 似乎仍将他的创作视为一种公共产品,但创收将使其能够自我维持。此外,Pavel Durov 从 VK 获得的意外之财不会永远持续下去;据报道,2017 年该公司的成本已经达到了 7000 万美元。

尽管 Pavel Durov 以不喜欢在 VK 上投放广告而闻名——这使得 Facebook 的每用户平均收入一度提高了 7 倍——但他肯定知道这是通过社交网络获利的最有效方式。但是,这套剧本似乎不太适合 Telegram。由于专注于隐私和安全,Telegram 无法在不违反其基本承诺的情况下将数据传递给广告商,这意味着他们必须从其他地方考虑如何赚钱。

好在从 2018 年开始,早期的比特币投资者逐渐转向更广泛的社交网络。

2018 年一月份,Telegram 宣布推出“Telegram Open Network”(TON),这是一个支持应用内生态系统的新区块链,Pavel Durov 声称该网络将证明“远远优于”比特币或以太坊等现有链。

TON 计划支持支付和购买,包括来自第三方开发商的支付和购买。 Telegram 通过首次代币发行 (ICO) 筹集了 12 亿美元,为其建设提供资金。参与者包括硅谷大咖级投资公司,如红杉资本、Benchmark、Kleiner Perkins 和 Lightspeed。如果 Telegram 不出售股权,至少当时的想法是,这笔融资为其快速增长提供了一些机会。

TON 白皮书

乍一看,通过代币融资是一个高超的战略举措,这种手段让 Telegram 有了一个基于想法的战争宝库。 Telegram 高管、前 VK 工程师 Anton Rozenberg 后来指出:

融资 中的一切似乎都很神奇:Telegram 设法在一个虚拟项目上筹集的资金与公司本身的估值一样多,甚至更多——几乎没有对投资者的承诺,也没有股权损失。

一位消息人士表示,Telegram 进入加密领域促使 Facebook 做出了后续努力。与 Libra(现在称为 Diem)一样,Telegram 的加密项目同样命运多舛。尽管 Telegram 的用户数量越来越多,但 TON 的开发却步履维艰。另据一位前员工称,Telegram 告诉支持者,他们在当年 9 月完成了 TON 的大部分初始构建“90-95%”,这表明距离发布还有几天的时间。当年 12 月,他们表示距离公布他们的作品只有几天的时间。然而新的一年开始后,TON 还没有看到曙光。

2019 年 9 月,Telegram 发布了其实验源代码,10 月,美国证券交易委员会就找上门了。

美国证券交易委员会确定 TON 代币融资行为构成了对不受监管证券的销售,从而停止了其发展,美国证券交易委员会执法部门联合负责人 Stephanie Avakian 说:

我们今天采取的紧急行动,旨在防止 Telegram 向美国市场非法出售数字代币。

TON 再次被推迟,在进一步的问题之后,Pavel Durov 投降了。

2020 年 5 月,Pavel Durov 宣布他将放弃该项目,并将 TON 的死亡归咎于美国证券交易委员会。该公司在开发上花费了 4.05 亿美元,但并未发布任何可行的产品版本。令人沮丧的是,一些投资者开始考虑提起诉讼,声称他们的资金被滥用,分配给开发 Telegram 消息应用程序而不是 TON 网络。

最终,Telegram 将 72% 的资金返还给了 TON 投资者——总计 12 亿美元,许多人对没有获得 Telegram 的股权感到沮丧。非美国投资者可以选择将退款转换为贷款,在一年后为其初始投资带来 110% 的回报,这让 Pavel Durov 可以抓紧时间筹集更多资金。 Telegram 还向美国证券交易委员会支付了 1850 万美元的罚款,但并未“承认或否认这些指控”。

在从项目中分离出来后,Pavel Durov将 TON 的控制权交给了“社区”,因为代码是开源的,所以任何人都可以继续在项目的架构上进行构建,因此很快就出现了几个衍生产品,包括“Free TON”和“Toncoin”。 “Toncoin”似乎已经确立了自己作为原版的精神继承人的地位,并在 2021 年底获得了 Pavel Durov 的认可,目前该项目由两名独立开发人员掌管,另外九名开发人员与 Toncoin 的 Github 相关联,但基于对各种存储库的代码贡献来看,“Toncoin”开发似乎是零星的。相比之下,Free Ton 目前已更名为 Everscale,并使用与最初的 TON 代码不同的编程语言。

Telegram 的现任员工谈到了对 TON 的看法,他们指出美国证券交易委员会干扰了核心产品的开发并造成了摩擦。尽管 Pavel Durov大胆尝试,但 TON 最终未能解决货币化和资本化问题。

不安的债券

到 2021 年 4 月 31 日,Telegram 欠下 7 亿美元的巨额资金。届再一次,Telegram 遇到了资金问题,Pavel Durov 承认,他需要“每年几亿美元”才能运行Telegram 。

Telegram 拥有超过 5 亿活跃用户,因此不乏追求者。有报道称,西方一些风险投资公司已经提出以 300 亿美元的估值购买该业务 5% 至 10% 的股份,有些投资公司甚至把估值提高到了近 400 亿美元。

但是,从此前创立 VK 公司的经验中,Pavel Durov 了解到引入外部投资者的危险。在上一次从 CEO 职位上被洗牌之后,他不会再让这种事情发生了。

Pavel Durov 没有选择出售股权,而是转向了债务。2021 年 3 月,Telegram 发行了 10 亿美元的债券,年利率为 7-8%。更重要的是,如果 Telegram 在发行后三年内首次公开募股,购买者可以以比上市价格低 10% 的折扣将债券换成股权。如果 Telegram 需要更长的时间才能进入公开市场,则折扣将陡升至 15-20%。

债券买家中包括了阿布扎比的主权财富基金 Mubadala Investment,作为收购的一部分,Pavel Durov承诺扩大 Telegram 在该地区的影响力,预计将在阿联酋开设另一个办事处。

令人惊讶的是,Mubadala Investment 的这笔交易涉及俄罗斯直接投资基金 (RDIF)。据报道,在二次交易中,这家阿布扎比公司向 RDIF 出售了200 万美元债券。Mubadala Investment声称,这笔交易是主权财富基金之间创建合资企业的一部分。Telegram 对一位发言人表示不满:

俄罗斯的直接投资基金不在我们出售债券的投资者名单上,我们不会对与该基金的任何交易持开放态度。

尽管如此,RDIF 现在已经有权以低于 Telegram 潜在 IPO 的价格获得股权。尽管这可能激怒了 Pavel Durov,但该基金的参与也表明,在某些方面,Telegram 首席执行官已经获胜。

新高度

在马克·扎克伯格宣布 Facebook 更名之前不久,该公司经历了我们已经讨论过的大规模中断。一天之内,Facebook 客户蜂拥至其他社交网络,比如消息应用 Signal 报告称获得了“数百万”用户,而 Telegram 则宣布获得了 7000 万新用户。这为 Pavel Durov 的公司创造了一个“记录”,也为今年年初拥有 50 亿用户带来了有意义的提升。

尽管这是 Telegram取得进展过程中最引人注目的例子,但从广义上讲,2021 年是一个出色的增长年。Telegram 是去年增长最快的主要应用程序,超过了 Instagram、Zoom、TikTok、Signal 等。 2022年,Telegram 希望超过10亿活跃用户里程碑,但他们可能需要继续改进产品才能实现该目标。

Telegram成功的关键:强大的产品

如果你快速瞥一眼 Telegram,可能会认为它只是另一个无差别的消息传递应用程序。但其实,这款应用程序要有趣得多。Telegram是一款功能强大的产品,不断突破信使可以和应该做的事情的极限。尽管 Telegram 最初可能只是一个 WhatsApp 的克隆版,但它现在与 Twitter、Clubhouse、Reddit、Discord 和 Slack 有了许多相似之处,而不仅仅是一个简单的、流畅的用户交流界面。

MTProto 协议

Telegram 依赖于一个名为“MTProto”的自定义协议,该协议由 Nikolai Durov 设计,旨在提供安全性,同时保持性能。具体来说,MTProto 协议利用了两种具有不同隐私级别的加密方案。

虽然更多技术读者可能能够从下图中解析更多内容,但其余内容可以是知道“第 1 部分”是“服务器-客户端加密”的内容,这意味着用户数据存储在 Telegram 的服务器中。所有“云聊天”都使用这种加密方案。顺便说一句,Telegram 的公司结构旨在在这里增加一层额外的安全性。来自云聊天的数据分布在全球服务器上,由不同的法律实体管理。正如 Telegram 解释的那样,需要“来自不同司法管辖区的几项法院命令”来保护公司数据。

“秘密聊天”利用更安全的端到端加密 (E2EE),如 MTProto 的“第 2 部分”所示。在 E2EE 中,除了发送者和接收者之外,没有人可以破译数据,甚至 Telegram 也无法解密通过该层发送的消息。

Telegram 在这方面的做法引起了批评。在最近的 Twitter 帖子中,竞争对手消息服务 Signal 的联合创始人兼前首席执行官 Moxie Marlinspike 概述了他对该产品的问题。

在 Moxie Marlinspike看来,Telegram 并不比 Facebook Messenger 更安全,他表示:

“Telegram 将用户的所有联系人、群组、媒体以及您曾经发送或接收的每条消息以明文形式存储在其服务器上,用户手机上的应用程序只是他们服务器上的“视图”,数据实际存在的地方。几乎你在应用程序中看到的所有内容,Telegram 也看到了……令人困惑的是,Telegram 确实允许您创建名义上确实使用 e2ee 的非常有限的“秘密聊天”(无群组、同步、无同步)……”

FB Messenger 也有一个 e2ee “秘密聊天”模式,而且比 Telegram 的限制要少得多(并且还使用更好的 e2ee 协议),但没有人会认为 FB Messenger 是一个“加密信使”。

FB Messenger 和 Telegram 的构建方式几乎完全相同。

Moxie Marlinspike 构建 Signal 的工作使他的论点复杂化,他的产品与 CIA 和其他美国国家安全实体的联系也是如此。尽管如此,它还是突出了 Pavel Durov战略的核心部分。与其创始人一样,Telegram 既理想主义又务实。是的,它希望为那些需要它的人提供安全的体验,但不以牺牲大多数用户为代价。虽然拥有真正的 E2EE 可能会创造更私密的体验,但它会使 Telegram 对许多人来说不太有用;例如,消息不再会在不同设备之间同步。

与我交谈过的 Telegram 团队的一位成员解释说,最重要的是,该公司希望为用户提供最佳体验——对某些人来说,这可能涉及 E2EE 和消失的聊天,但对大多数人来说,它不会。在将 Telegram 与 Signal 进行比较时,之前讨论过的前 VK 员工简洁地说:

“Signal 用户量太少了。”

聊天

Telegram 可见产品的核心是其聊天功能。跨设备可用,用户可以通过简单、直观的界面相互发送消息。有趣的是,我发现它比 WhatsApp 感觉更流畅、更快、更生动。按钮可以按照您的预期进行,小功能会产生意想不到的乐趣。

更具体地说,Telegram 的聊天功能很强大。它支持具有高大小限制的各种文件(doc、zip、mp3)。回复、提及和主题标签已融入其中,应用内照片编辑功能也出奇地先进。

如上所述,默认聊天存储在云中,以便用户在从手机移动到笔记本电脑并再次返回时可以查看它们。如果你想保密,你可以启动一个“秘密聊天”,它使用 E2EE 并且可以设置为在一段时间后自动销毁消息。

群聊

如果用户想与更广泛的人群交流,他们可以求助于“群组”。与其他即时通讯应用一样,群组聊天用于不同的目的,从家庭聊天到商业协调。最近的一篇文章指出,Telegram 群组在学生中广受欢迎。学生们不是一次给老师发电子邮件或给一个朋友发短信,而是在持续的聊天中分享问题和答案,这让人想起了 Discord 。

在一些国家,Telegram 群组还成为了 Slack 替代品。例如,一位消息人士指出,在俄罗斯,与 Salesforce 子公司相比,许多人更喜欢 Telegram——部分原因是它完全免费。正如我们稍后将讨论的那样,这可能会为可靠的盈利模式提供一条途径。

Telegram 群组拥有自己的生命,因为与应用程序的其他部分一样,这些起名字几乎是异常强大的。 Telegram 最多支持 200,000 名成员; WhatsApp 最多只能有 256 人。Telegram 建立了一套共享和管理工具来管理这些类型的用户,群组管理员可以创建群组链接以与世界共享,并精细管理允许成员交互的方式。

频道

如果 Telegram 的群组模仿 Discord,那么“频道”就是一种 Twitter 或 Reddit 传真。频道不是对话,而是为广播而建立的,并且对用户数量没有上限。例如,Telegram 的一些公司频道的参与者超过 800 万。

有流行的meme、图片、新闻、报价等频道。每天有超过 4 亿人观看 Telegram 频道。频道所有者可以逐条查看查看数据。如果频道所有者想要允许观众交谈,他们可以在频道内嵌套分组讨论。

音频和视频

在见证了 Clubhouse 爆发的大流行轨迹之后,Telegram 加速了其音频功能开发。实际上,Telegram 在开发初期就提供语音通话功能,但现在 Telegram 的群组和频道已经可以举办“无限”的语音聊天,数百万人可以加入,管理员可以在舞台上邀请参与者,记录他们的讨论,并在应用程序之外共享对话链接。由于 Telegram 已有庞大的用户群,Telegram 在收听时间方面迅速超过了 Clubhouse。该公司在视频方面也遵循类似的轨迹,从通话到群组通话再到伪流媒体。 Telegram 现在可以支持多达 1,000 个同步观众,并允许轻松录制和观看。我们应该期待进一步的改进。Telegram 的博客写道:

“我们将继续提高人数限制上限,直到地球上的所有人都可以加入一个群组通话并观看我们的庆祝活动(即将推出)。”

支付

虽然您可能没有看到,但 Telegram 确实支持应用内付款,此功能的测试版于 2017 年首次出现,但仅限于与 Telegram“机器人”的交互。通过这个界面,用户可以“做任何事情,从点披萨到叫出租车,再到冬天厌倦时更换冬季轮胎”。

有多少人做过这些事情?虽然其官方博客更新强调 Telegram 现在与包括 Stripe 在内的 15 家不同的支付提供商集成,但该公司尚未庆祝任何重要里程碑的事实表明处理量很低。随着时间的推移,支付可能会成为 Telegram 平台最关键的元素之一。虽然该公司目前不收取任何佣金,但很容易想象一个小规模的抽成——为 Pavel Durov 的团队提供继续建设的火力。

其他细节

除了 Telegram 的主要功能之外,它还有许多次要功能,许多人可能未被发现。

例如,Telegram 保护您不必展示明文。发送隐私文本时,您可以选择部分或全部文本并将其标记为隐藏。要破译它,读者必须明确地点击它。(不过该功能也许仅在某些国家/地区提供。)

另一个有用的功能是“附近的人”。虽然出于隐私原因默认关闭,但任何人都可以通过激活该功能找到本地群组和聊天。

还有一些类似额附加功能,比如文本识别、还有一套能够自动发布电子邮件或启动游戏体验的机器人以及额外的身份功能。虽然这些似乎不太可能在 Telegram 的未来发挥重要作用,但这些细节都巧妙地改进了产品。

Telegram 的企业文化

关于 Telegram 文化的信息很少,但我们依然能够通过 Telegram 的运作方式以及它的独特之处窥视其文化。

创始人领导力

亚马逊的一位朋友曾经告诉我,与许多其他公司一样,这家电子商务巨头将自己组织成“层级”。入门级工程师可能是 4 级或“L4”,而 VP 可能是 L10。最高级别是 L12,L12 只有一名成员,就是创始人:Jeff Bezos。 (这总是让认觉得有点滑稽;为什么需要一个全新的阶层——其他人无法接触到——来加强 Jeff Bezos 的至高无上的地位?)

Telegram 的感觉就像这样——在控制方面,Pavel Durov 是独一无二的。他不仅给公司带来资金,而且指导了公司的愿景。那么,Pavel Durov 是什么样的人呢?

正如我们所提到的,他似乎是一个善变、矛盾的角色,他拥护苦行生活方式、摆脱虚荣和财富陷阱。虽然 Pavel Durov 自称是反传统者,但他被指控与 FSB 勾结,而且在融资方面的选择也是倾向于传统方式。虽然阿布扎比是一座现代化城市,但阿联酋并不是宽容的堡垒。当然,没有哪个国家是完美的,尤其是美国,但Pavel Durov 的一些最重要的人类和企业决策表现出的不仅仅是一点意识形态的可塑性。

除了这种脱节之外,Pavel Durov 还是一位高度智能的程序员,具有敏锐的产品意识。一位员工称他是一个“有远见的人”,能够招募到非常有才华的工程师,并将他们团结在一个共同的目标上,他坚持高标准的工作,迅速交付。

另一位核心人物是 Telegram 的首席技术官 Nikolai Durov,他主要负责构建和改进核心架构,据传他独自完成了整个 MTProto 和 TON 规范;据消息人士称,该公司的安卓客户端也几乎完全是他一个人创造的。Nikolai Durov 是一个古怪的角色。在 Medium 的一篇帖子中,一位儿时的朋友讲述了他听说过的关于他的故事:Nikolai Durov 非常专注于自己的工作,以至于没有发现麦片碗里掉了一只甲虫,最终不知不觉吃光了。

一位 Telegram 员工指出,Nikolai Durov 似乎很害羞,也不经常在大群体中交流,但他们表示,Pavel Durov 对他的哥哥表现出了非凡的关怀,因为 Nikolai Durov 带来的东西价值非凡,所以 Pavel Durov 会为他提供成功所需的一切工具。

产品交付

如前文所述,Telegram 以快速产品交付而闻名。尽管在 WhatsApp 诞生四年后才起步,但 Telegram 很快就赶上了,然后从功能的角度向前冲刺。现在,WhatsApp 和 FB Messenger 都落后于 Pavel Durov 的 Telegram,有些功能甚至是 Telegram 几年前推出的。

之所以能够以如此快速的方式完成产品迭代,主要得益于 Telegram 扁平的管理结构——如果 Telegram 的运营方式与 VK 类似的话,意味着该公司几乎没有经理这个岗位,他们采取了“小快灵”的方式,许多决策都由 Pavel Durov 一个人做出。

人才挖掘

据报道,Telegram 在招聘工程师方面做得非常出色。在某种程度上,这要归功于 Pavel Durov 的声誉。在俄罗斯,他被视为一代企业家和技术进步的象征。一位消息人士解释了这对 Telegram 的形象有何帮助,他说:

“在俄罗斯,Telegram 已经是一种象征。”

这使该公司能够挑选俄罗斯的精英开发人员。(据某些报道称,俄罗斯的软件工程师是世界上最好的,俄罗斯开发人员赢得的国际大学编程竞赛比其他任何国家都多。)

资金

虽然 Telegram 可以选择私人融资,但 Pavel Durov可能更喜欢通过 IPO 筹集资金。据报道,该公司的目标是 2023 年上市,这个时机可能受到债券发行条款的启发。

据俄罗斯报纸 Vedomosti 的报道称,Pavel Durov 已经开始与投资银行对话,并正在寻找合适的上市地点。显然,Pavel Durov正在考虑SPAC和直接上市方式,但他似乎更倾向于后者。虽然纽约证券交易所是一个有争议的目的地,但亚洲交易所也在他的考虑范围,其中就包括香港证券交易所。

如果 Telegram 今天上市,它会获得什么样的估值?

在 2014 年被收购时,WhatsApp 报告有 4 亿活跃用户,这意味着 Facebook 为每位用户支付了大约 55 美元。假设 Telegram 的活跃用户已超过 6 亿,那么它的估值可能达到 327 亿美元。

但自 WhatsApp 被抢购以来的八年里,市场发生了变化。社交媒体公司进一步展示了它们的盈利潜力,金融科技已渗透到各种产品中,而科技巨头则获得了突出地位。用相同的每用户价值来判断 Telegram 感觉已经过时了。

我们可能需要转向私人市场进行更好的比较。去年 9 月,Discord 以 150 亿美元的估值筹集了 5 亿美元。当时,该公司报告有 1.5 亿活跃用户,相当于每位用户 100 美元。按照这个衡量标准,Telegram 的价值将接近 600 亿美元,这个数字感觉可以更好地代表了该公司的价值。

竞争对手比较

当然,Telegram 和 Discord 的主要区别在于收入。 Discord 创始人 Jason Citron 专注于游戏的聊天业务并以此获得了 1.3 亿美元的收入,这一数字在过去五年中以 126% 的复合年增长率增长。

如果 Telegram 要赚钱,那肯定不在那个数量级上。

Telegram 可以在没有收入的情况下上市吗?虽然与 Facebook 首次公开募股时相比,如今的投资者更愿意承销快速增长的社交媒体公司,但他们希望看到一些商业需求的迹象。为此,Telegram 需要找到一种盈利方法。

Telegram 如何盈利?

尽管具有炙手可热的产品与市场契合度,但在某些方面,Telegram 似乎是一个不切实际的应用程序,而且尚未实现产品与模型的契合度。尽管进行了一些实验,但 Pavel Durov 的团队还没有确定最终的商业模式,他们需要不断变化,测试广告、订阅和基于支付的方法。

虽然 Pavel Durov 认为依赖用户数据的广告是不道德的,但 Telegram 愿意通过“关注”来赚钱,比如——

广告

2021 年 10 月,Pavel Durov 宣布将允许在 Telegram 上进行促销,但不会依赖用户数据。此外,他们还将尝试通过允许广告商定位特定渠道来推动广告商的回报,赞助企业可以选择在专门针对相关主题的渠道中推广他们的商品,而不是精确定位特定年龄范围、地理位置和表达的兴趣组内的用户。到目前为止,广告商只能访问用户超过 1,000 人的频道,并且最低预算必须超过 200 万美元。值得一提的是,Telegram 希望及时尝试将部分收入分配给频道所有者。

然而问题是,这种模式行得通吗?这似乎是一场艰苦的战斗。对于广告商来说,精细定位一直是关键,因此 Telegram 这种方式似乎并不能让广告商感到满意,更不用说 Pavel Durov 自己一直就不喜欢广告了,所以很难想象他会愉快地经营一家由广告商模式资助的企业。

订阅

那么 Telegram 还能在哪里赚钱呢?订阅也许是另一种选择,可以有多种不同的形式。该公司提出了一种“廉价”的产品,可以删除它正在添加的广告。虽然不是一个特别令人兴奋的提议,但它可以打开类似于 Discord 货币化的“服务器提升”的用户赞助。

如果你的想象力更大一点,不难想象订阅服务可以通过超级用户获利,尤其是那些运行大型群组或频道的用户。例如,高级功能可能位于付费墙后面,但 Telegram 需要注意不要疏远创作者。由于 Telegram 在世界某些地方已经被用作 Slack 的替代品,它可以引入企业层,尽管收费可能会消除它的主要吸引力。

WhatsApp 的“商业”产品似乎正朝着这个方向发展,但它不是专注于内部沟通,而是为公司提供工具以更好地为客户服务。这包括营销和用户支持工具。虽然 Facebook 免费赠送这些功能,通过推动企业在 Instagram 或 Facebook 本身上购买广告来获利,但 Telegram 可能会收费。 此外,随着时间的推移,Telegram 也可能会寻求与 Hubspot 和 Intercom 等公司竞争,为移动优先业务提供轻量级的替代方案。

支付

通过支付盈利,感觉会是 Pavel Durov 最自然的选择。虽然这对于 Telegram 来说还没有发挥作用,但似乎已经具备了成功的条件。Telegram 不仅拥有庞大的用户群,而且其大部分优势来自于其用户大多来自于银行账户较少的地区,包括亚美尼亚、柬埔寨、哈萨克斯坦、约旦和委内瑞拉等。此外,由于与 TON 的不幸遭遇,该公司拥有真正的加密专业知识,可以很好地利用这些专业知识。去年年底,Pavel Durov 透露该应用程序将支持 Toncoin 支付。也许这是迈向社交网络嵌入式加密交易的第一步。

Telegram 员工也强调支付是一个重点领域,特别是,他们注意到缺乏统一的全球支付系统,将该领域的现状与 WhatsApp 之前的消息传递进行了比较。正如 WhatsApp 通过绕过电信提供商改变了游戏规则一样,Telegram 也可以通过超越传统支付处理器或与传统支付处理器集成来做同样的事情。结果同样简单:在地球上的任何地方无缝地发送数据(在这种情况下是钱),这可能会利用或涉及稳定币或其他加密货币。

Facebook 正在与 Diem 一起追赶这一点,但 Telegram 可能处于更好的位置。虽然消费者非常不信任马克·扎克伯格的公司,但 Telegram 以注重隐私而著称,当涉及到金钱这一敏感问题时,这可能是一种优势。

实施支付策略也许能使 Telegram 比 WhatsApp 更强大,继而使其成为世界上最有影响力的企业之一。即使不能成为全球社交支付巨头,但只要在这个市场上分得一杯羹,也能让他们站稳脚跟。

相信 Telegram 的理由

尽管在创收方面尚未取得进展,但对于 Telegram 来说,他们可以在消息应用程序之上建立一个伟大的业务。虽然 Facebook 还没有弄清楚如何使用 WhatsApp,但微信和 LINE 都赚到了可观的收入。

在盈利这方面,微信是一流的。腾讯子公司与其说是一个应用程序,不如说是一个生态系统,通过单一界面提供聊天、支付、电子商务、游戏等服务,这家公司通过广告、支付和购买来赚钱。虽然很难将微信的收入与腾讯的其他收入区分开来,但根据去年一月份的相关报告指出,微信在一年内处理了 2500 亿美元的交易,支付大多通过其“小程序”——本质上是为该平台构建的第三方应用程序。

令人鼓舞的是,微信直到 2017 年才开始“小程序”计划,目前已支持超过 100 万个此类合作伙伴。从活跃用户的角度来看,微信似乎与 Telegram 的差距并不大——同一份报告显示,微信目前拥有 12 亿月活跃用户,约为 Telegram 的两倍。

Telegram 能否找到类似的多方面成功?答案可能并不容易,毕竟微信受益于庞大的市场支持,并有一个超组织为其发展提供资金。

另一个例子是 LINE,这家日本企业拥有大约 1.6 亿月活跃用户,其中 8400 万在其本国。由于游戏、支付和购物的结合,2020 年其收入达到了 15 亿美元。虽然从长远来看,数十亿美元不足以支撑 Telegram 的市值,但可以给他们奠定一个很好的基础。

无论 Telegram 选择什么方向,目前他们都需要迅速行动。

我们应该为 Telegram 的存在感到高兴,虽然该应用程序可能不像用户想象的那么隐私,但在可用性和功能深度方面都提高了标准。

Telegram 和 Pavel Durov 未来路在何方?也许时间会证明。但有一点可以肯定——Pavel Durov 还有很长的路要走。

【本文原发布于链得得,授权钛媒体App发布,作者:Odaily星球日报】

绿联私有云 DH2600 评测:强劲配置扩展多,简单易用好上手

随着我们每个人拥有的数据量逐渐膨胀,越来越多朋友开始研究“NAS”这种东西了。所谓 NAS,其实就是一个私人的云盘,可以把个人数据包括日常办公的素材、文件都放上去,手机珍贵的图片可以保存,也可以作为家庭的影音库,使用起来比移动硬盘更方便,数据全部是本地存储,比网盘更安全。

知名 3C 数码厂商绿联也一直在布局 NAS 私有云业务,近日,它们推出了又一款新品绿联私有云 DH2600。IT之家已经收到了绿联私有云 DH2600,以及配套的两块 4T 酷狼机械硬盘,并为大家带来图文评测。

外观设计精巧耐看,家用 NAS 颜值担当

绿联私有云 DH2600 整体采用银色圆润的机身设计,外观类似于一个桌面小冰箱,整机的体积也不大,整机三围仅为 225.6 x 110.3 x 201.4mm,大概相当于 6 罐可乐垒在一起,放在现代化装修的家里完全不会突兀。传统的 NAS 往往都是一个大黑方块,但绿联私有云 DH2600 优雅的外观真是和传统 NAS 截然不同。

绿联私有云 DH2600 的正面是一个磁吸式的顶盖,顶盖下方有电源指示灯和硬盘指示灯。

揭开磁吸盖板,可以看到两个支持快拆的硬盘位,这两个硬盘位兼容 3.5 寸和 2.5 寸机械硬盘。安装全程不需要螺丝和线材。

小巧体积丰富拓展,四盘外接存储加速

绿联私有云 DH2600 在外接硬盘接口方面提供了强大的兼容性,只要是目前市面上符合规范的硬盘都可以使用。甚至家里换机淘汰下来的闲置硬盘也可以派上用场了。

除了两个硬盘位以外,在绿联私有云 DH2600 内部我们还能看到两个 M.2 固态硬盘位。

固态硬盘既可以用作存储盘进行存储扩容,也可以用作加速盘对机械硬盘进行读写加速。

绿联私有云 DH2600 背部是一个散热风扇与一排接口,整机共有一大一小两个风扇,保证整体工作的温度适宜。

绿联私有云 DH2600 背面的下方依次是一个 5Gbps 的 USB-C,两个 5Gbps 的 USB-A 接口。在 4 个硬盘位都满了的情况下,还可以用这三个接口再扩展出 3 个移动硬盘和 U 盘。USB 接口旁边的是 2.5GbE 的高速网口,相比于传统设备的千兆网口,2.5GbE 高速网口的速度达到了 2.5 倍,可以保证快速传输的需要。

笔者在 USB 接口上插了一个 U 盘后,在管理界面,可以直接对 U 盘进行读取操作,也可以在硬盘和 U 盘间方便的进行对拷。如果主机内四个硬盘槽都满了,也可以用这种方式再拓展出三个移动硬盘,绿联私有云 DH2600 的拓展性不可小觑。

默认配置已满足家用,发烧玩家可按需增配

配置方面,绿联私有云 DH2600 搭载了 Intel 第 11 代 N5105 处理器,它基于 X86 制程打造,拥有四核心四线程,频率至高可达 2.9GHz,在 NAS 市场中更是鹤立鸡群。

绿联私有云 DH2600 自带了 4G SODIMM 内存,只需要拆下底部的散热网就可以看到内存插槽了。基础功能 4G 内存就可以满足。对于需要使用 Docker 容器的进阶用户,也可以轻松扩容,简单方便。

打开散热后可以看到它内置了 2 个 SODIMM 内存插槽,预装了一根 4G 3200MHz 三星内存,有需要的话可以自行升级成两根 8G 内存,带来至高 16G 内存的体验。

配置简单轻松上手,多平台兼容快速连接

与其它 NAS 不同的是,绿联家的私有云一直主打一个简单好上手,它内置了稳定易用的 UGOS 系统,你不需要懂太多的网络知识,也不用调整家里的网络拓扑,只要装上盘,插上线,然后用绿联云 App 就可以管理了。官网提供了 iOS、Android、Windows、MAC、TV 和微信小程序,适配相当全面。

下载好绿联云 App 后,将电脑和绿联私有云 DH2600 在同一路由器下,打开软件注册后就能自动搜索到绿联私有云 DH2600。首次使用时需要对硬盘进行格式化,并且选择存储模式。绿联私有云 DH2600 提供 Raid1 双盘备份模式和普通模式两种存储模式,其中普通模式为两块硬盘相互独立,在这个模式下可以方便的进行文件对拷和分盘管理。

而 Raid1 则是“备份模式”,即两块盘的数据保持一致,即便一个盘损坏,另一个盘也可以保护数据周全。推荐两块盘大小相同、且对数据安全较为重视时使用 Raid1 模式。

进入软件后,能看见绿联云的操作界面清晰易懂,各种功能直接前台显示,即便是小白也可以轻松上手。笔者第一次操作绿联私有云 DH2600 时,在在整个配置过程中甚至都不需要看说明书,也没有遇到什么困难,非常简单好上手。

作为一款 NAS 最基本的功能,绿联云 App 可以在局域网和广域网直接访问硬盘里的文件,也可以对硬盘里面的文件进行管理和操作。在这个界面我们可以清晰的看出硬盘的型号、容量、文件类型以及温度等信息,方便远程进行管理。

PC 端:多协议加持,本地磁盘般迅捷

绿联云电脑端管理文件是功能最全、效率最高、速度也最快的方式。笔者将绿联私有云 DH2600 和电脑均通过有线网络接入到 Redmi AX3000 路由器,然后在同一局域网内传文件,上传和下载都能稳定在 110MB/s以上的速度,几乎已经摸到千兆网口的极限了。

这个速度下传输 1G 的数据仅需几秒钟,而且看看电影之类的,直接在线打开就可以,完全不会卡顿。

除了像网盘软件那样在 App 内管理文件外,它也支持 Samba、AFP 等文件管理协议,可以映射到局域网内的电脑上,当作本地磁盘一般使用。

想要在本地网络内添加绿联私有云,既可以在“网络”菜单中直接找到它,也可以在此电脑的上方映射网络磁盘,然后输入绿联私有云的 IP 地址和账号密码。

作为一款轻松上手的 NAS 产品,绿联私有云 DH2600 也支持内网穿透外网访问,而且不需要折腾 NAT 类型、公网 IP 之类的,打开绿联云 App 就能实现对存储文件的远程访问。

笔者这里使用生成分享链接然后复制到浏览器的方式下载,此法外网下载速度可以高达 4-5MB/s,这个速度相当之快,并且全程不需要额外付费。

温度和噪音方面,笔者经过一段时间的满速下载后,查看了一下它的工作状态,可以看出 CPU 也就 68℃左右,硬盘更是只有 36℃,工作温度非常适宜,可以说长时间工作的稳定性是不用担心的,内存也只占用了 1G。而此时风扇转速约 2000 转,不用担心打扰。

手机端:操作更 Easy,相册备份更多回忆

除了使用电脑端管理外,绿联私有云 DH2600 还可以用手机 App 进行控制,使用起来更加直观,也方便一家人共同使用。在手机端同样可以控制绝大多数的功能,并且可以实现外网访问。想要看视频的话,直接手机点开就能看。

手机端有一个独特的功能便是相册备份。众所周知手机的存储空间寸土寸金,而我们生活的会议往往又想和家人们分享。比如一个家庭里男主人、女主人和孩子都有照片视频,想要存到同一个家庭数据库中,这时就可以使用绿联云的相册备份功能,自动将照片视频在局域网内备份到私有云中,既可以释放手机空间,还能实现和家人共享。

笔者用手中的 iPhone13 Pro 测试了一下备份速度,笔者手中有 1200 多张图片,800 多个短视频,如此多零散的文件对私有云的磁盘和处理器都是一个考验,但实际效果还是很不错的,最后只花了 3 分钟不到就完成了 2000 个文件的备份。

在相册完成备份后,它还提供了 AI 智能分类功能。就像大部分手机的相册 App 一样,根据照片的地点时间和内容智能归档,方便整理属于每个人不同的回忆。比如一家人上个月去北京旅行拍了不少照片,那么只要在 AI 智能分类中定位时间,或者搜索北京,就可以快速浏览所有的家庭照片了。

并且现在 iOS 自带的文件管理器也提供了 Samba 协议的支持,iPhone 和 iPad 也可以通过这种方法免客户端直接访问绿联私有云。安卓自带的文件管理器并不支持,但可以用一些第三方文件管理器来挂载绿联私有云。

进阶:打通百度网盘,迅雷离线下载

除了最基础的文件上传下载,绿联私有云 DH2600 还支持不少进阶功能。绿联云打通了百度网盘和迅雷下载,在 App 内可以直接读取和下载百度和迅雷账号内的文件,将云盘文件转存到私有云里面提高数据安全性,另外也省去了长时间开电脑挂机下载的麻烦。

举个例子,比如别人在百度网盘分享了一个电影资源的链接给我,以往我们要打开电脑长时间挂机下载,但现在我们可以直接保存到网盘,然后通过绿联云离线下载。笔者这边测试下来总速度大概维持在 3-4MB/s左右,似乎比电脑版非会员的速度快不少。

绿联私有云 DH2600 还支持迅雷离线下载功能,登录迅雷账号即可快速下载 BT 种子,或者从迅雷云端快速取回文件。经过笔者的实测这个下载速度相当快,能跑满我们这里十几兆的公网带宽。

如果在手机上突然看到有想下载的资源,可以在手机端使用迅雷离线下载,甚至还可以通过微信小程序进行远程控制,不需要 App 也能操控,更加方便出门在外的体验。

DLNA 跨平台推流,化身家庭影音库

下载好以后,视频文件就直接存在绿联私有云 DH2600 的本地了,如果想要把视频投放到大屏进行观看的话,除了在电视上安装绿联云 APP,也可以使用 DLNA 协议直接投放,还可以通过 SAMBA 直接挂载到电视上,使用起来相当方便。把绿联私有云作为家庭的影音中心相当合适。

笔者用公司里的电视试了一下,开启 DLNA 后,只要连接到同一路由器下,就可以直接从文件管理中访问绿联私有云,各种电影音乐点开就播,体验是很不错的。

如果想要在手机或电视上看的话,我们就可能会遇到格式不兼容的问题。比如我们在晚上下载下来一个电影,但格式有时可能是 rmvb、MOV 等手机不太适配的格式,这时我们可以使用视频转码功能,将视频放在私有云内完成转码,无需手机电脑长时间挂机。

同步关键数据,保卫信息安全

同步空间估计是多设备协同用户最喜欢的功能了,通过绿联云指定一个文件夹后,当文件夹内的文件进行修改时会同步对私有云的文件修改,保证该文件夹内的文件在多个设备下都相同。同理,如果删除该文件夹的文件私有云也会同步删除。

如果不希望同步删除私有云的文件,那么自动备份功能可能更合适,它可以自动备份指定文件夹的内容,后续如果该文件夹有修改只做增量备份处理。利用这个也能释放手机内存,配合远程访问也不用担心文件不在身边。

绿联云 App 内置金山文档功能,主流格式的办公文档可以直接在线打开,无需转存到本地即可实现文件编辑,方便操作私有云里面的文件。

对于 Mac 电脑,绿联云 App 直接适配了 Mac 内置的时间机器备份功能,可以直接在 NAS 中对 MAC 设备进行完整备份,后续万一哪天 MAC 设备损坏,也能完整恢复数据。这个功能对于捉襟见肘的接口和昂贵的硬盘容量的 MacBook 们来说相当实用。

发烧:内置 Docker 容器,挂载无限可能

最后,绿联私有云 DH2600 还提供了更为进阶的 Docker 容器功能,用户可以在 Docker 功能安装进阶功能,实现更多自定义化的功能体验。但这个功能还是比较吃内存的,如果自带的 4G 内存不够用的话,还可以自行扩容到至多 16G 双通道内存。

总结:上手易玩法多的家用数据库

这是笔者第一次使用 NAS,但在使用绿联私有云 DH2600 的过程中,笔者并没有遇到什么搞不明白的地方,插线、下载 APP、完成,一切都是那样的简单。对于家庭用户们来说,可以把个人数据包括日常办公的素材、文件都放上去,既缓解了手机紧张的存储,也可以作为家庭的影音库,使用起来比移动硬盘更方便,比网盘更安全。对于大部分不想折腾复杂功能,只想拥有一块稳定安全的数据自留地的消费者们来说,这无疑是一个很好的选择。

而对于有更高需求的发烧友们,绿联私有云 DH2600 也提供了 N5105 处理器、2.5G 网口、M.2 加速包、双内存拓展位和 Docker 容器等进阶功能配置,对于专业用户们来说应用托管等功能也不在话下。目前绿联私有云 DH2600 已经开售,空盘版售价 2299 元,双 4T 酷狼硬盘版 3799 元,双 8T 酷狼硬盘版 4999 元,感兴趣的话可以去了解下。

如何用 GPU硬件层加速优化Android系统的游戏流畅度

作为一款VR实时操作游戏App,我们需要根据重力感应系统,实时监控手机的角度,并渲染出相应位置的VR图像,因此在不同 Android 设备之间,由于使用的芯片组和不同架构的GPU,游戏性能会因此受到影响。举例来说:游戏在 Galaxy S20 上可能以 60FPS 的速度渲染,但它在HUAWEI P50 Pro上的表现可能与前者大相径庭。 由于新版本的手机具有良好的配置,而游戏需要考虑基于底层硬件的运行情况。

如果玩家遇到帧速率下降或加载时间变慢,他们很快就会对游戏失去兴趣。
如果游戏耗尽电池电量或设备过热,我们也会流失处于长途旅行中的游戏玩家。
如果提前预渲染不必要的游戏素材,会大大增加游戏的启动时间,导致玩家失去耐心。
如果帧率和手机不能适配,在运行时会由于手机自我保护机制造成闪退,带来极差的游戏体验。

基于此,我们需要对代码进行优化以适配市场上不同手机的不同帧率运行。

所遇到的挑战

首先我们使用Streamline 获取在 Android 设备上运行的游戏的配置文件,在运行测试场景时将 CPU 和 GPU性能计数器活动可视化,以准确了解设备处理 CPU 和 GPU 工作负载,从而去定位帧速率下降的主要问题。

以下的帧率分析图表显示了应用程序如何随时间运行。

在下面的图中,我们可以看到执行引擎周期与 FPS 下降之间的相关性。显然GPU 正忙于算术运算,并且着色器可能过于复杂。

为了测试在不同设备中的帧率情况,使用友盟 U-APM测试不同机型上的卡顿状况,发现在onSurfaceCreated函数中进行渲染时出现卡顿, 应证了前文的分析,可以确定GPU是在算数运算过程中发生了卡顿:

因为不同设备有不同的性能预期,所以需要为每个设备设置自己的性能预算。例如,已知设备中 GPU 的最高频率,并且提供目标帧速率,则可以计算每帧 GPU 成本的绝对限制。

数学公式: $ 每帧 GPU 成本 = GPU 最高频率 / 目标帧率 $

CPU到 GPU 的调度存在一定的约束,由于调度上存在限制所以我们无法达到目标帧率。
另外,由于 CPU-GPU 接口上的工作负载序列化,渲染过程是异步进行的。
CPU 将新的渲染工作放入队列,稍后由 GPU 处理。

数据资源问题

CPU控制渲染过程并且实时提供最新的数据,例如每一帧的变换和灯光位置。然而,GPU 处理是异步的。这意味着数据资源会被排队的命令引用,并在命令流中停留一段时间。而程序中的OpenGL ES 需要渲染以反映进行绘制调用时资源的状态,因此在引用它们的 GPU 工作负载完成之前无法修改资源。

调试过程

我们曾做出尝试,对引用资源进行代码上的编辑优化,然而当我们尝试修改这部分内容时,会触发该部分的新副本的创建。这将能够一定程度上实现我们的目标,但是会产生大量的 CPU 开销。

于是我们使用Streamline查明高 CPU 负载的实例。在图形驱动程序内部libGLES_Mali.so路径函数, 视图中看到极高的占用时间。

由于我们希望在不同手机上适配不同帧率运行,所以需要查明libGLES_Mali.so是否在不同机型的设备上都产生了极高的占用时间,此处采用了友盟 U-APM来检测用户在不同机型上的函数占用比例。

经友盟 U-APM自定义异常测试,下列机型会产生高libGLES_Mali.so占用的问题,因此我们需要基于底层硬件的运行情况来解决流畅性问题,同时由于存在问题的机型不止一种,我们需要从内存层面着手,考虑如何调用较少的内存缓存区并及时释放内存。

解决方案及优化

基于前文的分析,我们首先尝试从缓冲区入手进行优化。
单缓冲区方案
? 使用glMapBufferRange和GL_MAP_UNSYNCHRONIZED.然后使用单个缓冲区内的子区域构建旋转。这避免了对多个缓冲区的需求,但是这一方案仍然存在一些问题,我们仍需要处理管理子区域依赖项,这一部分的代码给我们带来了额外的工作量。
多缓冲区方案
? 我们尝试在系统中创建多个缓冲区,并以循环方式使用缓冲区。通过计算我们得到了适合的缓冲区的数目,在之后的帧中,代码可以去重新使用这些循环缓冲区。由于我们使用了大量的循环缓冲区,那么大量的日志记录和数据库写入是非常有必要的。但是有几个因素会导致此处的性能不佳:
1. 产生了额外的内存使用和GC压力
2. Android 操作系统实际上是将日志消息写入日志而并非文件,这需要额外的时间。
3. 如果只有一次调用,那么这里的性能消耗微乎其微。但是由于使用了循环缓冲区,所以这里需要用到多次调用。
我们会在基于c#中的 Mono 分析器中启用内存分配跟踪函数用于定位问题:

$ adb shell setprop debug.mono.profile log:calls,alloc

我们可以看到该方法在每次调用时都花费时间:

Method call summary Total(ms) Self(ms) Calls Method name 782 5 100 MyApp.MainActivity:Log (string,object[]) 775 3 100 Android.Util.Log:Debug (string,string,object[]) 634 10 100 Android.Util.Log:Debug (string,string)

在这里定位到我们的日志记录花费了大量时间,我们的下一步方向可能需要改进单个调用,或者寻求全新的解决方案。

log:alloc还让我们看到内存分配;日志调用直接导致了大量的不合理内存分配:

Allocation summary Bytes Count Average Type name 41784 839 49 System.String 4280 144 29 System.Object[]

硬件加速

最后尝试引入硬件加速,获得了一个新的绘图模型来将应用程序渲染到屏幕上。它引入了DisplayList 结构并且记录视图的绘图命令以加快渲染速度。

同时,可以将 View 渲染到屏幕外缓冲区并随心所欲地修改它而不用担心被引用的问题。此功能主要适用于动画,非常适合解决我们的帧率问题,可以更快地为复杂的视图设置动画。

如果没有图层,在更改动画属性后,动画视图将使其无效。对于复杂的视图,这种失效会传播到所有的子视图,它们反过来会重绘自己。

在使用由硬件支持的视图层后,GPU 会为视图创建纹理。因此我们可以在我们的屏幕上为复杂的视图设置动画,并且使动画更加流畅。

代码示例:

// Using the Object animator view.setLayerType(View.LAYER_TYPE_HARDWARE, null); ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(view, View.TRANSLATION_X, 20f); objectAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { view.setLayerType(View.LAYER_TYPE_NONE, null); } }); objectAnimator.start(); // Using the Property animator view.animate().translationX(20f).withLayer().start();

另外还有几点在使用硬件层中仍需注意:

(1)在使用之后进行清理:

硬件层会占用GPU上的空间。在上面的 ObjectAnimator代码中,侦听器会在动画结束时移除图层。在 Property animator 示例中,withLayers() 方法会在开始时自动创建图层并在动画结束时将其删除。

(2)需要将硬件层更新可视化:

使用开发人员选项,可以启用“显示硬件层更新”。
如果在应用硬件层后更改视图,它将使硬件层无效并将视图重新渲染到该屏幕外缓冲区。

硬件加速优化

但是由此带来了一个问题是,在不需要快速渲染的界面,比如滚动栏, 硬件层也会更快地渲染它们。当将 ViewPager 滚动到两侧时,它的页面在整个滚动阶段会以绿色突出显示。

因此当我滚动 ViewPager 时,我使用 DDMS 运行 TraceView,按名称对方法调用进行排序,搜索“android/view/View.setLayerType”,然后跟踪它的引用:

ViewPager#enableLayers(): private void enableLayers(boolean enable) { final int childCount = getChildCount(); for (int i = 0; i < childCount; i ) { final int layerType = enable ? ViewCompat.LAYER_TYPE_HARDWARE : ViewCompat.LAYER_TYPE_NONE; ViewCompat.setLayerType(getChildAt(i), layerType, null); } }

该方法负责为 ViewPager 的孩子启用/禁用硬件层。它从 ViewPaper#setScrollState() 调用一次:

private void setScrollState(int newState) { if (mScrollState == newState) { return; } mScrollState = newState; if (mPageTransformer != null) { enableLayers(newState != SCROLL_STATE_IDLE); } if (mOnPageChangeListener != null) { mOnPageChangeListener.onPageScrollStateChanged(newState); } }

正如代码中所示,当滚动状态为 IDLE 时硬件被禁用,否则在 DRAGGING 或 SETTLING 时启用。PageTransformer 旨在“使用动画属性将自定义转换应用于页面视图”(Source)。

基于我们的需求,只在渲染动画的时候启用硬件层,所以我想覆盖ViewPager 方法,但由于它们是私有的,我们无法修改这个方法。

所以我采取了另外的解决方案:在 ViewPage#setScrollState() 上,在调用enableLayers() 之后,我们还会调用OnPageChangeListener#onPageScrollStateChanged()。所以我设置了一个监听器,当 ViewPager 的滚动状态不同于 IDLE 时,它将所有 ViewPager 的孩子的图层类型重置为 NONE:

@Override public void onPageScrollStateChanged(int scrollState) { // A small hack to remove the HW layer that the viewpager add to each page when scrolling. if (scrollState != ViewPager.SCROLL_STATE_IDLE) { final int childCount = <your_viewpager>.getChildCount(); for (int i = 0; i < childCount; i ) <your_viewpager>.getChildAt(i).setLayerType(View.LAYER_TYPE_NONE, null); } }

这样,在 ViewPager#setScrollState() 为页面设置了一个硬件层之后——我将它们重新设置为 NONE,这将禁用硬件层,因此而导致的帧率区别主要显示在 Nexus上。

作者:陈可心

原文链接:http://click.aliyun.com/m/1000306394/

本文为阿里云原创内容,未经允许不得转载。

哔哩哔哩Android打包优化与云编译

本期作者

夏秋垒-移动技术部工程效率组资深开发工程师

01 背景介绍

B站使用大仓模式进行源码依赖管理,大仓模有优势也有挑战,截止目前为止 Android 仓库子模块有620 ,开发人员150 。

本地开发存在编译慢、机器发热、卡死、阻塞开发等问题。介于此前移动端已有庞大的 CI 构建集群,我们探索出一种新的开发编译方式——云编译。

02 原理简介

俗话说性能不够硬件来凑,得益于公司的高配置服务器资源,我们移动端可以很方便地使用云端资源提高编译速度。

通过 git 同步本地与远端代码基点,结合 diff 文件还原本地开发中产生的差异改动,然后编译出与本地无差别的 APK 产物。

03 开荒时代

使用 Docker 自定义的 Android 构建镜像,可快速复制多个打包机器实例。

开发同学本地使用提供的云编译命令行工具执行编译动作,命令行工具开始计算 commit、生成 diff,然后合成打包请求发送到远端。

远端收到编译请求以后,开始解析指令、下载(同步)代码、应用补丁、执行编译、返回执行结果与编译产物。

编译成功后,本地下载编译产物(APK文件),然后安装并启动。

整个流程与本地开发的差别为本地的代码需要同步到远程,打包的操作放在远程,远程执行成功后需下载产物。

新开发方式有优势也有不足。

优势:

环境正确性

支持并行并发

编译速度加速

解放本地机器(专注于逻辑编写)

支持全源码编译 (非快遍模式,不使用缓存,全部使用源码)

不足:

增加学习成本

部分任务需要本地编译,用于代码索引

本地增量编译失效,仅使用远端缓存

打包机升级与维护成本增加

机器完全随机分配,会有竞争、等待情况出现

缓存利用率不高,编译速度有提高的空间

04 持续优化与VIP模式

前期构建实例数为10个,可满足一部分人使用,一段时间后大家觉的这种模式还不错,相对于本地编译,编译速度还是有明显的提升。

随着使用人数开始增多,开始出现机器竞争、机器繁忙、任务等待等问题。大家吐槽调侃希望可以开通 VIP 模式,独占某一台机器或者提高任务优先级。

原先的架构,客户端与服务器之间只有一层 SLB 做反向代理,进行随机转发。前后两次打包任务可能分配的是不同机器,导致需要重新下载代码,增加打包时间,也无法复用上一次的增量编译缓存。

于是我们针对原先的架构模式,做了以下调整,并对打包流程和速度进行了优化。

优化打包速度,首先必须掌握整个打包流程与机制;其次需要衡量维度以及数据统计记录,方便后期数据对比,指导优化方向;最后为了满足日常问题的排查,需要一个管理后台记录打包日志、监控实例状态、修改配置与维护。

4.1 流程分析

打包流程主要包括打包环境准备、服务启动、任务执行。以下针对各个阶段列举具体的优化措施。

编译环境: 一般来说不经常改变,除非大版本升级、SDK 升级、流程改变等。

Docker 镜像制作可以参考 Docker 官方文档来做参考,不过国内网络情况都懂的,最好使用网络代理或者镜像,来加速镜像制作时间。

服务启动: 优化期间,发布频率较高。

因为服务绑定 Docker 镜像,每次发布都需要重启 Docker 实例,导致一些缓存丢失,最好减少重启次数并增加缓存预热。

执行任务: 流程固定,Gradle 有完整的生命周期,有很大的优化空间。

4.2 优化措施

增加实例数量与提高并发

前期每个服务配置为 10C50G,可以保证单人独占,效果明显。随着使用人数增多,会出现机器繁忙问题,增加机器数量与提供并发量迫在眉睫。

后期改成高低配两种服务,10C50G 为单人模式,30C100G 为多人模式,最大可以支持3人并发打包,多人模式也可以共享缓存,加速效果明显。

网络代理

Docker 镜像下载,Android Sdk & NDK, Gradle,Maven 等可以使用国内源或者公司内部源来加速,效果显著。

举例,项目中一般会有 Gradle 各个版本下载,可以放在公司内部存储,内网速度一般为千兆网络,下载速度较快。

避免实例重启

默认 Docker 实例会直接启动打包,每次更新服务都需要更新 Docker 镜像版本,服务实例重启会导致所有的代码、编译缓存、SDK 等丢失。对打包速度较大,所以尽可能的减少服务重启次数。

服务热更新

但是如果遇到线上问题,发布版本是不可以避免,减少服务重启明显不科学。通过流程优化,使服务支持热更新,从而避免了重启Docker 实例,相关缓存也不会丢失,可继续使用。

打包预热

服务启动时,可以先挂起,不对外提供服务,系统内部进行预热处理,如预先下载或者更新,执行打包若干次,等预热完成后,再进行打包,也打包速度会相对较高的提升。

代码仓库预热

相对于 CI 服务,每次编译都会拉取代码,然后再进行编译。但是云编译不不适合此方式,B站大小仓代码总量大概为5个G,按照千兆网络来算,全部拉取也需要几分钟。

可使用 git 提供 worktree 的模式,可以预先拉去所有代码,当需要打包时,可以快速切换代码。

保留工作目录

云编译根据用户名、机器设备号、本地工作目录三个维度计算一个hash,映射远程工作目录路径,这样每次可以快速还原本地代码,执行打包操作,完成后不删除代码供下次使用。

Gradle Remote Cache

Gradle 提供一种 Remote Cache 机制,需要一个缓存服务器,第一次编译完成后,上传到缓存服务器,再次打包,如果代码没有修改,可以直接使用下载并使用缓存。

智能调度与运维

云编译提供管理后台与网关,可以根据用户打包频次,合理分配机器。用户每次执行打包,都会分配到指定机器的指定目录,提高缓存使用率,避免机器出现抢占情况。

网络优化

项目开发一般为 debug 模式,APK 是未经优化的大小约为150M,开发同学使用的是 MacBookPro,大部分使用的是 Wi-Fi(百兆网络),则下载需要15s左右。切换成有线网络(千兆网络),则下载只需1-2s即可。

4.3 优化结果

随机模式:冷机打包 5-10min, 热机打包 3-7min,平均打包速度 5min。

VIP模式:冷机打包 4-8min, 热机打包 1.5-4min,平均打包速度 3min,极端情况20s可出包。

4.4 系统展示

打包记录

实例列表

在线日志

05 分布式编译

5.1 需求分析

随着业务发展子模块变多,部分任务执行时间越来越长,影响整体编译时长,编译时间具有劣化的趋势。常见耗时任务有 DexBuild 与 DexMerge,如下图所示为某次首次冷编译(本机无缓存),其中 dex 相关任务时长约占 1/3。

再次编译的时候,DexBuild 有明显的下降,但是 DexMerge 任然需要不少的时间。

从官网的编译流程图来,dex文件就是从jar或class文件通过指令转换而来,同时 Android Sdk 中也提供 d8 命令来手动执行。

云编译系统是一个编译集群,每次一个编译记录只能占用一台主机,是否可以把一些比较耗时长的任务拆分到其他空闲机器协同来编译,然后再回传编译结果。

以下为 AGP 中源码,通过传入的参数进行赋值准备,最后执行 D8.run(), 而 D8.run() 可以在SDK d8 工具中找到。

package com.android.builder.dexing; // 部分代码有删减处理,不代表全部源码final class D8DexArchiveBuilder extends DexArchiveBuilder { @Override public void convert( @NonNull Stream<ClassFileEntry> input, @NonNull Path output, @Nullable DependencyGraphUpdater<File> desugarGraphUpdater) throws DexArchiveBuilderException { D8DiagnosticsHandler d8DiagnosticsHandler = new InterceptingDiagnosticsHandler(); try { D8Command.Builder builder = D8Command.builder(d8DiagnosticsHandler); // .... // 部分代码有删减处理,不代表全部源码 // .... if (dexParams.getWithDesugaring()) { builder.addLibraryResourceProvider(dexParams.getDesugarBootclasspath().getOrderedProvider()); builder.addClasspathResourceProvider(dexParams.getDesugarClasspath().getOrderedProvider()); if (dexParams.getCoreLibDesugarConfig() != null) { builder.addSpecialLibraryConfiguration(dexParams.getCoreLibDesugarConfig()); if (dexParams.getCoreLibDesugarOutputKeepRuleFile() != null) { builder.setDesugaredLibraryKeepRuleConsumer( new FileConsumer(dexParams.getCoreLibDesugarOutputKeepRuleFile().toPath())); } } if (desugarGraphUpdater != null) { builder.setDesugarGraphConsumer(new D8DesugarGraphConsumerAdapter(desugarGraphUpdater)); } } else { builder.setDisableDesugaring(true); } D8.run(builder.build(), MoreExecutors.newDirectExecutorService()); } catch (Throwable e) { throw getExceptionToRethrow(e, d8DiagnosticsHandler); } }}

可以在此增加一个 Hook 点,把需要执行 DexBuild 操作的文件分发到空闲的机器上面,然后远程执行 d8 命令,执行成功回传文件,然后再放在目标位置。

Hook部分代码

/** * @see com.android.builder.dexing.D8DexArchiveBuilder.convert */private fun hookBuilder() { val dst = pool.get("com.android.builder.dexing.D8DexArchiveBuilder") if (dst.isFrozen) { log.error("clazz ${dst.simpleName} is frozen") return } dst.getDeclaredMethod("convert").aopReplace(object : MethodInvokeCallback { override fun invoke(self: Any, method: String, args: List<Any?>) { // XbuildDexBuilder 再调用 MyD8DexArchiveBuilder XbuildDexBuilder().convert( self, args[0] as Stream<ClassFileEntry>, args[1] as Path, args[2] as DependencyGraphUpdater<File>?, ) } })} /** * @see com.android.builder.dexing.D8DexArchiveBuilder */public final class MyD8DexArchiveBuilder extends DexArchiveBuilder { @Override public void convert( @NonNull Stream<ClassFileEntry> input, @NonNull Path output, @Nullable DependencyGraphUpdater<File> desugarGraphUpdater) throws DexArchiveBuilderException { try { // .... // 部分代码有删减处理,不代表全部源码 // .... // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DexBuildArgs args = new DexBuildArgs(dexParams, input, output, entryCount.get(), entrySize.get()); args.getEntryList().addAll(list); MyD8DexArchiveBuilderProxy.run(builder, MoreExecutors.newDirectExecutorService(), args); // D8.run(builder.build(), MoreExecutors.newDirectExecutorService()); // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> } catch (Throwable e) { throw getExceptionToRethrow(e, d8DiagnosticsHandler); } }}

经过测试,在常规使用情况下(非高峰,否则无空闲机器),可以有效的降低任务时长。

同理 DexMerge 也可以做类似的 Hook,只不过 merge 操作是把 m 个 dex 文件合并成 n 个 dex文件。

项目中的 merge 的输入文件将近1000个,并且每次修改代码,就有可能导致整个 merge 任务重新执行,无法复用缓存。

基于实际场景,采用分治法,将输入文件采用取余方式分组,每组再分发到远程机器上执行,执行成功后再回传结果。

Merge 操作经过分组合并有效的降低了任务执行时间,同时分组后支持自定义缓存。

实际项目中分组为21个,一般情况下,开发同学只是修改局部部分文件,再次编译的时候,只有其中1-2个分组有变动,只需要重执行有过变动的分组即可,提高了执行效率。

相关日志

图中所示,合并的文件有971个,分成21组,其中19组使用了缓存,本次执行消耗5.8s。

编译任务与远程任务

5.2 其他

d8本地与远程执行

实操过程中发现大部分情况文件越大 dex 执行时间越长,网络传输是有损耗的,所以并不是所有的 dex 操作都值得分发到远程,只有超过一定阈值的时候,才会分发到远程。

通过统计与计算 build 过程输入文件需要大于1M, merge 过程输入文件需大于 3M,满足这样条件分发到远程编译会有不小的提速收益。

大文件文件分割

根据上一条,dex执行时间与文件大小相关,实操过程发现部分jar文件非常大,比如R.java合并后的 jar 有将近200M, 可以通过切片方式,把一个大的jar文件分割成若干较小的文件,然后再进行 d8 处理,消耗时间会短很多。

d8 优化

d8 实际上是一个 shell 执行 jar文件的方式,可以通过 GraalVM 来转成本地可执行文件,也能有一定幅度的性能提升。

禁止原生缓存

原生 DexMerge 任务缓存命中率差,并且执行缓存过程也消耗不少时间,可以选择性设置禁止缓存。

自定义共享缓存

如上所述,部分原生Gradle缓存机制效果差,DexBuild 与 DexBuild 操作可以采取自定义缓存方式,远程在收到编译任务可以先判断是否有缓存,再做具体执行,同时再把执行结果缓存起来用来复用。

环境隔离

实操过程中,d8 编译的结果有可能会有一些异常情况,可以采取单独配置代码目录与 GradleUserHome目录,正常编译模块与分布式编译模式分开管理,方便区分以及快速降级。

手动降级

前期功能不稳定,需手动开启。经过一个月测试功能比较稳定,已经默认开启。如需关闭,手动主动关闭。

5.3 结果

经过一段时间观察,目前功能稳定,有效的的解决dex执行缓慢问题,同时整体编译速度维持在正常水平。

06 功能演示

本地打包命令为 ./gradlew :app:assembleDebug -q -s,云编译也类似 hub -b ":app:assembleDebug -q -s" --vip。

06 未来规划

云模拟器与云设备

通过服务器强大的性能,模拟多个模拟器或设备,用于开发、调试、测试。云端设备可以快速复制与销毁,可以用于兼容性测试与兼容性开发。

云IDE

最近推出Fleet, 以及 Visual Studio Code 和 IDEA 的 Remote Development,似乎远程开发是个趋势。结合云端设备,或许也会有着不一样的开发体验。

作者:夏秋垒

来源:微信公众号:哔哩哔哩技术

出处:https://mp.weixin.qq.com/s/xls_AL9IyR3580zz8CfCOA