《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.2 游戏类泛娱乐——3.2.2 游戏泛娱乐技术服务(10)

简介: 《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.2 游戏类泛娱乐——3.2.2 游戏泛娱乐技术服务(10)

《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.2   游戏类泛娱乐——3.2.2 游戏泛娱乐技术服务(9) https://developer.aliyun.com/article/1230984?groupCode=supportservice



3.2.2.3.5 验证思路


•黑屏与TDR验证

了解完基础概念,这一点也是本次解决黑屏最重要的一点,如图2所示,驱动的 兼容性是否有问题,这一点其实在专项介入早期就已经发现客户在使用解码、编码接 口上用了较为老旧的NVFBC接口(NVFBC接口是NVIDIA提供的相关渲染接口,  是厂 商提供的特定功能接口,具体可点击链接查看,偏视频渲染领域),而在最新的Win - dows Server 2012+开始NV明确表示了不再支持。客户使用FBC接口方式也从客户的 业务日志中有所发现

 

image.png


其次,在客户反馈的黑屏时间段里存在大量的TDR:

 

image.png

事件管理器中类型为Warning的Display事件,EventID为4101,所以接下来的排 查重点就聚焦在:

TDR与黑屏是否有直接关系

DDA与FBC是否为黑屏的突破点

TDR Delay验证


验证第一个问题并不困难,通过对比没有黑屏的机器可以明确的看到没有TDR信 息,同时客户自身采集的逻辑也包含了TDR数量的检测,在TDR数量少的情况下同等 黑屏次数也很少,所以第一个问题基本得到验证,在第一part的图里也可以看到关于 云游戏底层的IaaS逻辑是这样的:

 

image.png


 当出现TDR时,意味着两种可能性,预期内的可能性是当时游戏负载较高,导致 显卡响应不过来了,在3A类型的游戏大作中渲染超2s的情况不算多见,但是也会 有,量级一般可控,量级大到导致黑屏的确实少见,而另外一种预期外的可能就是在 运行时遇到了驱动级或者不可用的函数导致等待不到GPU控制器的回复产生的超 时,为了验证这个理论,我们与GPU研发讨论后,进行了TDR Delay验证,即把TDR

的阈值从2s调整为10s,可以参考以下指引:


image.png


•切换DDA验证

调整TDRDelay后发现黑屏次数确实有两位数的下降,但总量依旧是在千级别, 证明了客户业务确实存在TDR预期内的问题,但是不是黑屏的主因,很可能是因为预 期外问题导致这些预期内的问题被放大,那么做了这个实验后就基本确认TDR问题聚 焦在预期外问题,预期外问题刚好与排查重点2有重合,因为DDA与FBC模式且好是 驱动层面中Rendering阶段核心的接口因素,基于此,我们开始了第二轮实验:对接

 

口进行切换,从FBC切换成DDA观察,非常有幸的是,本来我们都准备拉齐研发资 源帮客户做好切换的相关测试与验证,没想到客户集成了切换模式,切换成DDA成 本很低,所以仅用时1天就完成了50%量从FBC切换DDA的操作,下图是完成后观察 两天的结果,可以看到相对于FBC无论是次数还是发生频率都大幅下降了,基本上证 明FBC为核心问题,而TDR为判断该问题是否解决的标志:


image.png



《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.2   游戏类泛娱乐——3.2.2 游戏泛娱乐技术服务(11) https://developer.aliyun.com/article/1230982?groupCode=supportservice

相关文章
|
2天前
|
消息中间件 存储 运维
微服务架构中的服务通信与数据一致性策略
【6月更文挑战第29天】本文深入探讨了微服务架构下的服务间通信和数据一致性问题,提出了一系列解决方案。文章首先分析了微服务环境下面临的主要挑战,随后详细介绍了同步和异步通信模式,并对比了它们在不同场景下的适用性。接着,文章讨论了实现数据一致性的几种策略,包括两阶段提交、补偿事务以及最终一致性,每种策略都配以实际案例分析。最后,结合当前技术趋势,展望了微服务通信和数据一致性处理的未来发展方向。
|
4天前
|
SQL 存储 运维
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
随着网易游戏品类及产品的快速发展,游戏数据分析场景面临着越来越多的挑战,为了保证系统性能和 SLA,要求引入新的组件来解决特定业务场景问题。为此,网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不断地扩张,目前已发展至十余集群、为内部上百个项目提供了稳定可靠的数据服务、日均查询量数百万次,整体查询性能得到 10-20 倍提升。
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
|
7天前
|
消息中间件 传感器 Cloud Native
事件驱动作为分布式异步服务架构
【6月更文挑战第25天】本文介绍事件驱动架构(EDA)是异步分布式设计的关键模式,适用于高扩展性需求。EDA提升服务韧性,支持CQRS、数据通知、开放式接口和事件流处理。然而,其脆弱性包括组件控制、数据交换、逻辑关系复杂性、潜在死循环和高并发挑战。EDA在云原生环境,如Serverless,中尤其适用。
31 2
事件驱动作为分布式异步服务架构
|
8天前
|
监控 API 数据安全/隐私保护
构建高效后端服务:微服务架构的实践与挑战
【6月更文挑战第23天】在现代软件开发中,微服务架构已成为设计高性能、可扩展后端系统的首选模式。本文将深入探讨微服务的设计原则、实践方法及其面临的技术挑战,旨在为开发者提供一个全面的微服务实施指南。
22 3
|
15天前
|
存储 前端开发 关系型数据库
在服务的数据驱动中使用三层架构
【6月更文挑战第17天】 三层架构是软件设计中的一种经典模式,将应用分为表示层(UI)、应用层(BLL)和数据层(DAL)。相比于双层架构,三层架构提供了更好的模块化和安全性。多层架构虽少见,但三层架构在现代云原生技术中依然重要,常与微服务结合使用。
28 2
在服务的数据驱动中使用三层架构
|
18天前
|
数据库 SQL 存储
使用合理的架构保障服务的韧性
【6月更文挑战第14天】 该文介绍了软件韧性的概念和目标,强调了主从模式在确保业务连续性中的作用。主从模式通过全同步、半同步和异步技术保证数据一致性和系统可用性。这种模式常用于读写分离,缓解数据库负载,是保障业务韧性的常见策略。
75 0
使用合理的架构保障服务的韧性
|
18天前
|
存储 数据处理 数据库
理解在服务架构中的事件驱动
【6月更文挑战第14天】网络架构和软件设计常基于ISO七层模型和三层应用架构,强调数据处理的重要性。事件驱动架构(EDA)以事件为中心,改变传统设计方式,解决系统问题。事件是触发通知或状态变化的操作,如用户下单。EDA适用于微服务通信、工作流程自动化、SaaS集成和基础设施自动化等场景,提高系统敏捷性和可扩展性。然而,EDA并非万能,需根据需求选择合适的设计方案。
71 1
理解在服务架构中的事件驱动
|
19天前
|
运维 监控 安全
园区网典型组网架构及案例实践
园区网典型组网架构及案例实践
|
19天前
|
监控 安全 自动驾驶
基于java+单体服务 + 硬件(UWB定位基站、卡牌)技术架构开发的UWB室内定位系统源码 UWB定位技术 超宽带定位 高精度定位系统源码
基于java+单体服务 + 硬件(UWB定位基站、卡牌)技术架构开发的UWB室内定位系统源码 UWB定位技术 超宽带定位 高精度定位系统源码
32 3
|
20天前
|
消息中间件 运维 监控
微服务架构中的服务通信与数据一致性挑战
在微服务架构的海洋中,服务之间的通信和数据一致性问题犹如潜藏的暗礁和漩涡,随时可能威胁到整个应用的健康运行。本文将深入探讨微服务间通信机制的选择、数据一致性维护的策略,以及面对网络延迟和分区容忍性时如何保持系统的灵活性和健壮性。通过分析常见的模式和最佳实践,旨在为开发者提供一套应对这些挑战的航海图。