【GamingAnywhere源码分析之知识补充六】Windows多线程信号通信与GA整体框架修改

本文介绍了GamingAnywhere框架的修改,以实现捕捉方式的动态配置,包括NVIDIA显卡捕捉的灵活性。文章详细阐述了框架的运作流程,核心模块的动态加载,并探讨了Windows环境下多线程间的互斥锁和条件变量通信。
摘要由CSDN通过智能技术生成

        关于GamingAnywhere整体框架的修改也已经结束了一段时间了,这段时间云游戏项目暂时停滞了,原因是:别的项目组人员不足,上级领导又被boss催的紧,直属上级领导都调去别的组了,so,我也不能幸免。但是,已经做了的东西,一定要把自己的思路与理解记录下来,不然等自己回过头来看的时候又会花很多时间去理解原本已经明白的事情。这一篇涉及到GamingAnywhere整体大的框架,虽然改动的不多,而且现在回过头来看,对它的整个实现框架也很清晰明了了。

        在改篇文章中,将会涉及以下内容:

        1> GamingAnywhere整体框架修改需求

        2> GamingAnywhere整体框架运作流程与修改思路

        3> Windows多线程信号通信介绍(互斥锁、条件变量)

第一部分:GamingAnywhere整体框架修改需求

        GamingAnywhere整体框架修改的目的是实现捕捉方式的动态可配置性,即GamingAnywhere原有的捕捉方式和当前我们使用的采用nvidia显卡进行捕捉的方式的动态可配置性,具体来说就是我从一款游戏的配置文件中通过设置,可以决定它的捕捉方式,采用或不采用nvidia进行捕捉。

第二部分:GamingAnywhere整体框架运作流程与修改思路

        下面我认为是GamingAnywhere最核心的运作流程图(不包含具体捕捉和协议层的通信):

                                             

        GamingAnywhere中的核心模块拆开来看无非就是这么几个:窗口挂载钩子实现游戏画面捕捉模块、图像格式转换(由rgb转为yuv)模块、数据进行h.264压缩模块以及涉及到协议的通信模块,其中游戏画面捕捉后源数据的存放、图像格式的转换&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值