专栏名称: Cocoa开发者社区
CocoaChina苹果开发中文社区官方微信,提供教程资源、app推广营销、招聘、外包及培训信息、各类沙龙交流活动以及更多开发者服务。
目录
相关文章推荐
51好读  ›  专栏  ›  Cocoa开发者社区

虚拟世界的“烟火气” 如何做到真·千人同屏?

Cocoa开发者社区  · 公众号  · ios  · 2023-09-25 11:34

正文

请到「今天看啥」查看全文


虽有如此难度,但“千人同屏”仍被轻易地附加在各类概念化的描述之后,看似可以被轻易地实现。 这里想分享下我们理解的“千人同屏”:


用户可以在各式各样的虚拟人中无限制地选择自己喜欢的风格。在千人同屏技术的加持下,整个虚拟世界不再是整齐划一的虚拟人,而是像聚集了来自五湖四海的各色人儿,呈现千人千面、缤纷多彩的世界。


在真正的千人同屏里,用户不再是被限制在某个位置坐下或者站立(这样的千人万人同屏毫无意义),而是可以自由地操作自己的虚拟形象,去四处漫游,能做各种社交互动,在热闹的场域下充分感受真实的人与人之间交流,人与物之间的交流。


在虚拟空间中,能够认识新朋友遇见老朋友,是在虚拟世界中难忘的经历,如果此时看上去人山人海,实则只是程序操控下的机器人,那大可不必来到这里享受一个人的狂欢。

当然还有一些文字游戏类的说法,比如“实现千人同屏观看”这样以直接偷换了概念的方式硬套千人同屏技术,无不在说明千人同屏技术真实的难度。


为什么要实现“真·千人同屏”这么难?

在网页端要实现同屏千人流畅的实时互动,不同的环节都有巨大的挑战:后端对于用户位置信息的汇总处理、前后端通信细节的优化、前端渲染开销的控制......

下面具体分享下我们技术处理方案:


说到 渲染性能优化,降低 draw call 数往往是最先想到也最有效的做法 。一个 draw call 是 CPU 向 GPU 发送一次绘制命令,会产生两者间的一次通信开销。一旦 draw call 过多,这些开销积累起来,便导致渲染性能下降。

在以往的项目架构中,每一个角色人物作为一个单独的模型,渲染时都需要一次新的draw call,因此当在线人数大量增加时,draw call 数也就线性地猛增😱。







请到「今天看啥」查看全文


推荐文章
热门视频集汇  ·  穆斯林的家,我也想有一个这样的家!
8 年前
悦网美文日赏  ·  狠不下心对自己 别人就会狠心对你
8 年前
格上财富  ·  2016中国证券私募金樟奖获奖名单
8 年前
充电时间  ·  专栏精粹-外国的空气比较甜?
8 年前