CN113010245A - 一种创建虚拟显示器的方法、装置、电子设备和存储介质 - Google Patents

一种创建虚拟显示器的方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113010245A
CN113010245A CN202110205313.0A CN202110205313A CN113010245A CN 113010245 A CN113010245 A CN 113010245A CN 202110205313 A CN202110205313 A CN 202110205313A CN 113010245 A CN113010245 A CN 113010245A
Authority
CN
China
Prior art keywords
edid
display
creating
virtual display
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110205313.0A
Other languages
English (en)
Other versions
CN113010245B (zh
Inventor
罗光辉
蒋关平
王叶群
蔡强
潘江峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Wulian Technology Co ltd
Original Assignee
Hangzhou Wulian Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Wulian Technology Co ltd filed Critical Hangzhou Wulian Technology Co ltd
Priority to CN202110205313.0A priority Critical patent/CN113010245B/zh
Publication of CN113010245A publication Critical patent/CN113010245A/zh
Application granted granted Critical
Publication of CN113010245B publication Critical patent/CN113010245B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请公开了一种创建虚拟显示器的方法,包括:获取客户端的显示配置信息,并判断显示配置信息是否包含EDID数据;若是,则根据EDID数据,创建虚拟显示器;若否,则根据显示配置信息中的分辨率信息和刷新率信息,确定对应的EDID数据,并根据EDID数据创建虚拟显示器。该方法根据获取的客户端的显示配置信息来创建虚拟现实器,不必安装显示器硬件设备,节约了物理硬件设备的部署成本,有利于推进云游戏系统的推广和发展。本申请同时还提供了一种创建虚拟显示器的装置、系统、电子设备和计算机可读存储介质,具有上述有益效果。

Description

一种创建虚拟显示器的方法、装置、电子设备和存储介质
技术领域
本申请涉及云游戏技术领域,特别涉及一种创建虚拟显示器的方法、装置、电子设备和存储介质。
背景技术
随着编解码技术以及软硬件技术的发展,云游戏等创新业务逐步进入大众的视野,并取得了一定程度的发展。云游戏不同于传统游戏,是一种以云计算、云控制、渲染及网络传输为基础的游戏实现方式,其游戏真正运行在云端边缘计算节点的主机端,而非用户本地的客户端上。客户端通过接收主机端发送的音视频数据进行游戏声音与画面的本地呈现,同时用户将对游戏的操作控制数据发送到主机端进行对游戏的控制。但是目前云游戏成本比较高昂,主要源于主机端的显示器或者假负载等物理设备价格较高,所以不利于云游戏的发展。
发明内容
本申请的目的是提供一种创建虚拟显示器的方法,能够节约物理硬件设备的部署成本,有利于推进云游戏系统的推广和发展。其具体方案如下:
第一方面,本申请公开了一种创建虚拟显示器的方法,包括:
获取客户端的显示配置信息,并判断所述显示配置信息是否包含EDID数据;
若是,则根据所述EDID数据,创建虚拟显示器;
若否,则根据所述显示配置信息中的分辨率信息和刷新率信息,确定对应的EDID数据,并根据所述EDID数据创建所述虚拟显示器。
可选的,根据所述分辨率信息和刷新率信息,确定对应的EDID数据,并根据所述EDID数据创建所述虚拟显示器,包括:
判断所述分辨率信息中的最大分辨率和所述刷新率信息中的最大刷新率是否与EDID列表匹配成功;
若是,则根据匹配到的EDID数据,创建所述虚拟显示器;
若否,则判断所述最大分辨率和默认刷新率是否与所述EDID列表匹配成功;若是,则根据匹配到的EDID数据,创建所述虚拟显示器;若否,则利用默认EDID数据,创建所述虚拟显示器。
可选的,在判断所述分辨率信息中的最大分辨率和所述刷新率信息中的最大刷新率是否与EDID列表匹配成功之前,还包括:
提取常规显示器的EDID数据,并将所述EDID数据存入初始EDID列表;
获取所述常规显示器的分辨率信息、刷新率信息,并建立所述分辨率信息、刷新率信息与所述EDID数据的映射关系,生成所述EDID列表。
可选的,在根据所述EDID数据创建所述虚拟显示器之后,还包括:
获取所述客户端的当前显示配置信息,判断所述虚拟显示器是否支持所述当前显示配置信息;
若是,则将所述虚拟显示器的当前配置信息设置为所述客户端的当前显示配置信息;
若否,则将所述虚拟显示器的当前配置信息设置默认配置信息。
第二方面,本申请公开了一种创建虚拟显示器的装置,包括:
获取模块,用于获取客户端的显示配置信息,并判断所述显示配置信息是否包含EDID数据;
第一创建模块,用于若是,则根据所述EDID数据,创建虚拟显示器;
第二创建模块,用于若否,则根据所述显示配置信息中的分辨率信息和刷新率信息,确定对应的EDID数据,并根据所述EDID数据创建所述虚拟显示器。
可选的,所述第二创建模块,包括:
第一判断单元,用于判断所述分辨率信息中的最大分辨率和所述刷新率信息中的最大刷新率是否与EDID列表匹配成功;
第一创建单元,用于若是,则根据匹配到的EDID数据,创建所述虚拟显示器;
第二判断单元,用于若否,则判断所述最大分辨率和默认刷新率是否与所述EDID列表匹配成功;若是,则根据匹配到的EDID数据,创建所述虚拟显示器;若否,则利用默认EDID数据,创建所述虚拟显示器。
可选的,还包括:
提取模块,用于提取常规显示器的EDID数据,并将所述EDID数据存入初始EDID列表;
生成模块,用于获取所述常规显示器的分辨率信息、刷新率信息,并建立所述分辨率信息、刷新率信息与所述EDID数据的映射关系,生成所述EDID列表。
第三方面,本申请公开了一种创建虚拟显示器系统,包括:
客户端,用于发送自身的显示配置信息至主机端;
所述主机端,用于执行所述计算机程序时实现如上述创建虚拟显示器的方法的步骤。
第四方面,本申请公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述创建虚拟显示器的方法的步骤。
第五方面,本申请公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述创建虚拟显示器的方法的步骤。
本申请提供一种创建虚拟显示器的方法,包括:获取客户端的显示配置信息,并判断所述显示配置信息是否包含EDID数据;若是,则根据所述EDID数据,创建虚拟显示器;若否,则根据所述显示配置信息中的分辨率信息和刷新率信息,确定对应的EDID数据,并根据所述EDID数据创建所述虚拟显示器。
可见,本申请通过获取客户端的显示配置信息,并根据显示配置信息中的EDID数据,创建虚拟显示器,若未获取到EDID数据,则根据获取到的分辨率信息和刷新率信息多对应的EDID数据,创建虚拟显示器;即主机端可根据获取的客户端的显示配置信息来创建虚拟现实器,不必安装显示器硬件设备,节约了成本,避免了相关技术中在主机端安装显示器等物理设备,价格高昂,不利于云游戏业务的推广的缺陷,节约了物理硬件设备的部署成本,有利于推进云游戏系统的推广和发展。本申请同时还提供了一种创建虚拟显示器的装置、系统、电子设备和计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种创建虚拟显示器方法的流程图;
图2为本申请实施例所提供的另一种创建虚拟显示器方法的流程图;
图3为本申请实施例所提供的一种具体实施例的云游戏系统的自适应创建虚拟显示器方案的流程图;
图4为本申请实施例所提供的一种创建虚拟显示器装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前,在云游戏系统中,客户端是多平台的,支持PC端、android、mac等各平台终端,各平台终端代码实现不一样,能提取的显示配置信息也不同,主要有两种:详细的EDID(Extended Display Identification Data,扩展显示标识数据)和分辨率、刷新率信息。云游戏系统中主机端部署的是显示器或假负载等硬件设备,由于显示器等硬件设备价格高昂,影响了云游戏系统的推广和发展。基于上述技术问题,本实施例提供一种创建虚拟显示器方法,能够节约物理硬件设备的部署成本,有利于推进云游戏系统的推广和发展,具体请参考图1,图1为本申请实施例所提供的一种创建虚拟显示器方法的流程图,具体包括:
S101、获取客户端的显示配置信息,并判断显示配置信息是否包含EDID数据。
本实施例的执行主体是主机端。本实施例并不限定显示配置信息的具体内容,可以包括客户端的EDID数据和客户端的分辨率信息和刷新率信息,也可以包括客户端的其他信息。当主机端获取到客户端的显示配置信息后,判断显示配置信息中是否包含客户端的EDID数据,若含有客户端的EDID数据,则执行步骤S102,否则执行步骤S103。可以理解的是,EDID数据是用来提供给主机端来创建虚拟显示器的。当主机端和客户端建立网络连接之后,客户端将提取到的显示配置信息通过网络发送给主机端,主机端通过接收并分析客户端的显示配置信息,分别使用不同的策略创建相应的虚拟显示器。
S102、若是,则根据EDID数据,创建虚拟显示器。
当主机端获取的显示配置信息中包含客户端的EDID数据,则主机端根据客户端的EDID数据,创建虚拟显示器。可以理解的是,主机端利用的是客户端的EDID数据,所以创建的虚拟显示器和客户端的物理显示器配置是一模一样的。
S103、若否,则根据显示配置信息中的分辨率信息和刷新率信息,确定对应的EDID数据,并根据EDID数据创建虚拟显示器。
当主机端获取的显示配置信息中没有包含客户端的EDID数据时,可以根据显示配置信息中的分辨率信息和刷新率信息来确定对应的EDID数据,进而根据EDID数据创建虚拟显示器。可以理解的是,本实施例中的分辨率信息可以包括最大分辨率(宽、高)和当前分辨率,同样的,刷新率信息可以包括最大刷新率和当前刷新率。本实施例并不限定根据分辨率信息和刷新率信息来确定对应的EDID数据的具体方式,可以是预先创建对应关系,按照该对应关系确定EDID数据,也可以是经过用户指定确定对应的EDID数据,可根据实际情况进行设定。
在一种具体的实施例中,根据分辨率信息和刷新率信息,确定对应的EDID数据,并根据EDID数据创建虚拟显示器,可以包括:
判断分辨率信息中的最大分辨率和刷新率信息中的最大刷新率是否与EDID列表匹配成功;
若是,则根据匹配到的EDID数据,创建虚拟显示器;
若否,则判断最大分辨率和默认刷新率是否与EDID列表匹配成功;若是,则根据匹配到的EDID数据,创建虚拟显示器;若否,则利用默认EDID数据,创建虚拟显示器。
本实施例中通过判断分辨率信息中的最大分辨率和刷新率信息中的最大刷新率是否与EDID列表匹配成功,若能够匹配成功,则根据匹配到的EDID数据,创建虚拟显示器;若未匹配成功,则将最大分辨率和默认刷新率与EDID列表进行匹配,若匹配成功,则根据匹配到的EDID数据,创建虚拟显示器;若未匹配成功,再利用默认EDID数据,创建虚拟显示器。也就是说若最大分辨率和默认刷新率在EDID列表能够匹配到对应的EDID数据,那么就利用匹配到的EDID数据,创建虚拟显示器;否则,再利用默认EDID数据,创建虚拟显示器。与直接利用默认EDID数据来创建虚拟显示器相比较,能够有效提升虚拟显示器的显示效果,提升游戏体验。也就是说本实施例通过将最大分辨率和最大刷新率与EDID列表进行匹配,找到对应的EDID数据,若在EDID列表未找到对应的EDID数据,则将最大分辨率和默认刷新率与EDID列表进行匹配,若匹配成功,那么就利用匹配到的EDID数据,创建虚拟显示器;否则,利用默认EDID数据,创建虚拟显示器。
可以理解的是,本实施例中的EDID列表是用来根据分辨率信息和刷新率信息,来查找对应的EDID数据的。本实施例并不限定EDID列表的具体内容,可以包括分辨率信息、刷新率信息和EDID数据,也可以包括显示器的型号等信息,可根据实际情况进行设定。
在一种具体的实施例中,判断分辨率信息中的最大分辨率和刷新率信息中的最大刷新率是否与EDID列表匹配成功之前,还可以包括:
提取常规显示器的EDID数据,并将EDID数据存入初始EDID列表;
获取常规显示器的分辨率信息、刷新率信息,并建立分辨率信息、刷新率信息与EDID数据的映射关系,生成EDID列表。
本实施例中主机端通过提取常规显示器的EDID数据,并将EDID数据存入初始EDID列表。然后,再将获取到的常规显示器的分辨率信息、刷新率信息与EDID数据建立映射关系,生成最终的EDID列表。本实施例并不限定初始EDID列表的具体内容,可根据实际需求进行设定。可以理解的是,建立分辨率信息、刷新率信息与EDID数据的映射关系,也就是说,能够根据分辨率信息和刷新率信息,找到对应的EDID数据,形成EDID列表。
基于上述技术方案,本实施例根据获取的客户端的显示配置信息来创建虚拟现实器,不必安装显示器硬件设备,节约了成本,避免了相关技术中在主机端安装显示器等物理设备,价格高昂,不利于云游戏业务的推广的缺陷,节约了物理硬件设备的部署成本,有利于推进云游戏系统的推广和发展。
基于上述实施例,为了能够进一步提升虚拟显示器的显示效果,提升用户云游戏体验,本实施例提供一种创建虚拟显示器的方法,具体请参考图2,图2为本申请实施例所提供的另一种创建虚拟显示器方法的流程图,包括:
S201、获取客户端的显示配置信息,并判断显示配置信息是否包含EDID数据。
S202、若是,则根据EDID数据,创建虚拟显示器。
S203、若否,则根据显示配置信息中的分辨率信息和刷新率信息,确定对应的EDID数据,并根据EDID数据创建虚拟显示器。
步骤S201以及步骤S203的具体内容可以参考上述实施例,本实施例不再进行赘述。
S204、获取客户端的当前显示配置信息,判断虚拟显示器是否支持当前显示配置信息。
S205、若是,则将虚拟显示器的当前配置信息设置为客户端的当前显示配置信息。
S206、若否,则将虚拟显示器的当前配置信息设置默认配置信息。
即,本实施例中主机端创建虚拟显示器后,还获取到客户端的当前显示配置信息,并判断虚拟现实器是否支持当前显示配置信息,若支持,则设置虚拟显示器的当前配置信息设置为客户端的当前显示配置信息;若不支持,则将虚拟显示器的当前配置信息设置默认配置信息。也就是说主机端能够自适应匹配客户端的显示配置,以达到最好的显示效果,提升用户云游戏体验。
基于上述技术方案,本实施例通过判断虚拟现实器是否支持当前显示配置信息,当支持时,设置虚拟显示器的当前配置信息设置为客户端的当前显示配置信息;否则,将虚拟显示器的当前配置信息设置默认配置信息。能够自适应匹配客户端的显示配置,达到最好的显示效果,提升用户云游戏体验。
以下提供一种具体的实施例,具体步骤如下。图3为本实施例所提供的一种具体实施例的云游戏系统的自适应创建虚拟显示器方案的流程图。
1、当云游戏系统的客户端和主机端建立网络连接后,客户端将提取到的显示配置信息通过网络发送给主机端,主机端通过接收并分析客户端的显示配置信息,分别使用不同的策略创建相应的虚拟显示器,并将收到的客户端的当前配置信息标记为cur_display{cur_w,cur_h,cur_fps}。
2、如果主机端收到客户端的显示配置信息包含EDID数据,则主机端直接利用该EDID数据创建相应的虚拟显示器。此时,主机端的虚拟显示器跟客户端的物理显示器配置一模一样。转到步骤6。
3、如果主机端收到客户端的显示配置信息没有包含EDID数据,那么根据客户端显示配置信息中的分辨率信息和刷新率信息(支持的最大分辨率和最大刷新率),将客户端的显示配置信息标记为max_display{w,h,fps},然后利用max_display去匹配合适的EDID数据来创建对应的虚拟显示器。主机端提供了一个EDID列表,如下所示,本实施例中只提供了4种型号,分别对应4种不同的显示器,实际上可以提供更多的情况,对应更多的显示器。这些EDID数据分别是从常规显示器提取出来的,并根据分辨率信息(宽、高)和刷新率三个数据来区分标识。如果max_display能在EDID列表中匹配成功,比如max_display{w,h,fps}为{1920,1080,60},则成功匹配1920_1080_60的EDID数据,则主机端利用该EDID数据创建相应的虚拟显示器,转到步骤6,否则转到步骤4。
unsigned char 1920_1080_60[]=
{
0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x4D,0x01,0x76,0x32,0x00,0x00,0x00,0x00,
0x19,0x1C,0x01,0x03,0x82,0x46,0x27,0x78,0x29,0x48,0xE0,0xA5,0x58,0x50,0xA0,0x23,
0x0B,0x50,0x54,0xAF,0xCF,0x00,0x71,0x4F,0x81,0x80,0x81,0x00,0x81,0xC0,0xA9,0xC0,
0x95,0x00,0xB3,0x00,0xD1,0xFC,0x20,0x7D,0x80,0x6A,0x70,0x38,0x12,0x40,0x18,0x20,
0x35,0x00,0x56,0x50,0x21,0x00,0x00,0x1A,0x02,0x3A,0x80,0x18,0x71,0x38,0x2D,0x40,
0x58,0x2C,0x45,0x00,0x56,0x50,0x21,0x00,0x00,0x1E,0x00,0x00,0x00,0xFF,0x00,0x30,
0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0A,0x00,0x00,0x00,0xFC,
0x00,0x43,0x33,0x32,0x37,0x36,0x48,0x42,0x0A,0x20,0x20,0x20,0x20,0x20,0x00,0xEC
};
unsigned char 1920_1080_144[]=
{
0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x4D,0x01,0x76,0x32,0x00,0x00,0x00,0x00,
0x19,0x1C,0x01,0x03,0x82,0x46,0x27,0x78,0x29,0x48,0xE0,0xA5,0x58,0x50,0xA0,0x23,
0x0B,0x50,0x54,0xAF,0xCF,0x00,0x71,0x4F,0x81,0x80,0x81,0x00,0x81,0xC0,0xA9,0xC0,
0x95,0x00,0xB3,0x00,0xD1,0xFC,0x20,0x7D,0x80,0x6A,0x70,0x38,0x12,0x40,0x18,0x20,
0x35,0x00,0x56,0x50,0x21,0x00,0x00,0x1A,0x02,0x3A,0x80,0x18,0x71,0x38,0x2D,0x40,
0x58,0x2C,0x45,0x00,0x56,0x50,0x21,0x00,0x00,0x1E,0x00,0x00,0x00,0xFF,0x00,0x30,
0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0A,0x00,0x00,0x00,0xFC,
0x00,0x43,0x33,0x32,0x37,0x36,0x48,0x42,0x0A,0x20,0x20,0x20,0x20,0x20,0x01,0xEB,
0x02,0x03,0x37,0xF1,0x4C,0x01,0x02,0x03,0x04,0x04,0x0E,0x13,0x08,0x09,0x10,0x3F,
0x40,0x23,0x09,0x87,0x07,0x83,0x01,0x00,0x00,0x65,0x03,0x0C,0x00,0x10,0x00,0x68,
0x1A,0x00,0x00,0x01,0x01,0x32,0xA5,0xE6,0xD8,0x5D,0xC4,0x01,0x21,0xC0,0x00,0x67,
0xD8,0x5D,0xC4,0x01,0x50,0xC0,0x00,0x02,0x3A,0x80,0x18,0x71,0x38,0x2D,0x40,0x58,
0x2C,0x45,0x00,0x56,0x50,0x21,0x00,0x00,0x1A,0x35,0x91,0x80,0x6A,0x70,0x38,0x20,
0x40,0x30,0x20,0x35,0x00,0x56,0x50,0x21,0x00,0x00,0x1E,0xF0,0x6E,0x80,0xB4,0x70,
0x38,0x2D,0x40,0x30,0x20,0x35,0x00,0x56,0x50,0x21,0x00,0x00,0x1E,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,
};
unsigned char 2560_1440_60[]=
{
0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x10,0xAC,0x3A,0x41,0x4C,0x36,0x36,0x32,
0x02,0x1D,0x01,0x04,0xB5,0x37,0x1F,0x78,0x3E,0xEE,0x95,0xA3,0x54,0x4C,0x99,0x26,
0x0F,0x50,0x54,0xA5,0x4B,0x00,0x71,0x4F,0xA9,0x40,0x81,0x80,0xD1,0xC0,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x56,0x5E,0x00,0xA0,0xA0,0xA0,0x29,0x50,0x30,0x20,
0x35,0x00,0x29,0x37,0x21,0x00,0x00,0x1A,0x00,0x00,0x00,0xFF,0x00,0x39,0x4E,0x33,
0x4D,0x33,0x39,0x31,0x39,0x32,0x36,0x36,0x4C,0x0A,0x00,0x00,0x00,0xFC,0x00,0x44,
0x45,0x4C,0x4C,0x20,0x55,0x32,0x35,0x31,0x38,0x44,0x0A,0x20,0x00,0x00,0x00,0xFD,
0x00,0x38,0x4C,0x1E,0x5A,0x19,0x01,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0xEB,
};
unsigned char 2560_1440_144[]=
{
0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x4C,0x2D,0xDE,0x0F,0x4B,0x5A,0x55,0x30,
0x19,0x1D,0x01,0x04,0xA5,0x46,0x27,0x78,0x3A,0x49,0x35,0xAD,0x51,0x46,0xA9,0x27,
0x0F,0x50,0x54,0xBF,0xEF,0x80,0x71,0x4F,0x81,0x00,0x81,0xC0,0x81,0x80,0x95,0x00,
0xA9,0xC0,0xB3,0x00,0x01,0x01,0x22,0xE5,0x00,0x50,0xA0,0xA0,0x67,0x50,0x08,0x20,
0xF8,0x0C,0xB9,0x88,0x21,0x00,0x00,0x1A,0x00,0x00,0x00,0xFD,0x00,0x32,0x90,0x1E,
0xE1,0x3B,0x00,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0xFC,0x00,0x43,
0x33,0x32,0x4A,0x47,0x35,0x78,0x0A,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0xFF,
0x00,0x48,0x54,0x48,0x4D,0x36,0x30,0x30,0x33,0x31,0x31,0x0A,0x20,0x20,0x00,0xE4,
};
4、将客户端的最大分辨率(宽、高)和默认刷新率组成{w,h,default_fps}去匹配主机端的EDID列表中的EDID数据,本实施例中default_fps定义为60。如果匹配成功,主机端则利用EDID列表中匹配到的EDID数据创建相应的虚拟显示器。转到步骤6,否则转到步骤5。
5、利用默认EDID数据创建虚拟显示器,本实施例中默认EDID数据为定义为1920_1080_60对应的EDID数据。
6、创建合适的虚拟显示器之后,再利用客户端的当前显示配置信息cur_display{cur_w,cur_h,cur_fps}来设置虚拟显示器的当前配置。如果虚拟显示器支持客户端的当前显示配置,则将虚拟显示器的当前配置设置为客户端的当前显示配置;否则将虚拟显示器的当前配置设置为默认配置。
下面对本申请实施例提供的一种创建虚拟显示器装置进行介绍,下文描述的装置与上文描述的方法可相互对应参照,相关模块均设置于中,参考图4,图4为本申请实施例所提供的一种创建虚拟显示器装置的结构示意图,包括:
在一些具体的实施例中,具体包括:
获取模块401,用于获取客户端的显示配置信息,并判断显示配置信息是否包含EDID数据;
第一创建模块402,用于若是,则根据EDID数据,创建虚拟显示器;
第二创建模块403,用于若否,则根据显示配置信息中的分辨率信息和刷新率信息,确定对应的EDID数据,并根据EDID数据创建虚拟显示器。
在一些具体的实施例中,第二创建模块403,包括:
第一判断单元,用于判断分辨率信息中的最大分辨率和刷新率信息中的最大刷新率是否与EDID列表匹配成功;
第一创建单元,用于若是,则根据匹配到的EDID数据,创建虚拟显示器;
第二判断单元,用于若否,则判断最大分辨率和默认刷新率是否与EDID列表匹配成功;若是,则根据匹配到的EDID数据,创建虚拟显示器;若否,则利用默认EDID数据,创建虚拟显示器。
在一些具体的实施例中,还包括:
提取模块,用于提取常规显示器的EDID数据,并将EDID数据存入初始EDID列表;
生成模块,用于获取常规显示器的分辨率信息、刷新率信息,并建立分辨率信息、刷新率信息与EDID数据的映射关系,生成EDID列表。
在一些具体的实施例中,还包括:
第二判断模块,用于获取客户端的当前显示配置信息,判断虚拟显示器是否支持当前显示配置信息;
第一设置模块,用于若是,则将虚拟显示器的当前配置信息设置为客户端的当前显示配置信息;
第二设置模块,用于若否,则将虚拟显示器的当前配置信息设置默认配置信息。
由于创建虚拟显示器装置部分的实施例与创建虚拟显示器方法部分的实施例相互对应,因此创建虚拟显示器装置部分的实施例请参见创建虚拟显示器方法部分的实施例的描述,这里暂不赘述。
本申请还公开一种创建虚拟显示器系统,包括:
客户端,用于发送自身的显示配置信息至主机端;
主机端,用于执行计算机程序时实现如上述创建虚拟显示器的方法的步骤。
由于创建虚拟显示器系统部分的实施例与创建虚拟显示器方法部分的实施例相互对应,因此创建虚拟显示器系统部分的实施例请参见创建虚拟显示器方法部分的实施例的描述,这里暂不赘述。
本申请还公开一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述创建虚拟显示器的方法的步骤。
由于电子设备部分的实施例与创建虚拟显示器方法部分的实施例相互对应,因此电子设备部分的实施例请参见创建虚拟显示器方法部分的实施例的描述,这里暂不赘述。
本申请提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述创建虚拟显示器的方法的步骤。
由于计算机可读存储介质部分的实施例与创建虚拟显示器的方法部分的实施例相互对应,因此计算机可读存储介质部分的实施例请参见创建虚拟显示器的方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种创建虚拟显示器的方法、装置、电子设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种创建虚拟显示器的方法,其特征在于,包括:
获取客户端的显示配置信息,并判断所述显示配置信息是否包含EDID数据;
若是,则根据所述EDID数据,创建虚拟显示器;
若否,则根据所述显示配置信息中的分辨率信息和刷新率信息,确定对应的EDID数据,并根据所述EDID数据创建所述虚拟显示器。
2.根据权利要求1所述的创建虚拟显示器的方法,其特征在于,根据所述分辨率信息和刷新率信息,确定对应的EDID数据,并根据所述EDID数据创建所述虚拟显示器,包括:
判断所述分辨率信息中的最大分辨率和所述刷新率信息中的最大刷新率是否与EDID列表匹配成功;
若是,则根据匹配到的EDID数据,创建所述虚拟显示器;
若否,则判断所述最大分辨率和默认刷新率是否与所述EDID列表匹配成功;若是,则根据匹配到的EDID数据,创建所述虚拟显示器;若否,则利用默认EDID数据,创建所述虚拟显示器。
3.根据权利要求2所述的创建虚拟显示器的方法,其特征在于,在判断所述分辨率信息中的最大分辨率和所述刷新率信息中的最大刷新率是否与EDID列表匹配成功之前,还包括:
提取常规显示器的EDID数据,并将所述EDID数据存入初始EDID列表;
获取所述常规显示器的分辨率信息、刷新率信息,并建立所述分辨率信息、刷新率信息与所述EDID数据的映射关系,生成所述EDID列表。
4.根据权利要求1至3任一项所述的创建虚拟显示器的方法,其特征在于,在根据所述EDID数据创建所述虚拟显示器之后,还包括:
获取所述客户端的当前显示配置信息,判断所述虚拟显示器是否支持所述当前显示配置信息;
若是,则将所述虚拟显示器的当前配置信息设置为所述客户端的当前显示配置信息;
若否,则将所述虚拟显示器的当前配置信息设置默认配置信息。
5.一种创建虚拟显示器的装置,其特征在于,包括:
获取模块,用于获取客户端的显示配置信息,并判断所述显示配置信息是否包含EDID数据;
第一创建模块,用于若是,则根据所述EDID数据,创建虚拟显示器;
第二创建模块,用于若否,则根据所述显示配置信息中的分辨率信息和刷新率信息,确定对应的EDID数据,并根据所述EDID数据创建所述虚拟显示器。
6.根据权利要求5所述的创建虚拟显示器的装置,其特征在于,所述第二创建模块,包括:
第一判断单元,用于判断所述分辨率信息中的最大分辨率和所述刷新率信息中的最大刷新率是否与EDID列表匹配成功;
第一创建单元,用于若是,则根据匹配到的EDID数据,创建所述虚拟显示器;
第二判断单元,用于判断所述最大分辨率和默认刷新率是否与所述EDID列表匹配成功;若是,则根据匹配到的EDID数据,创建所述虚拟显示器;若否,则利用默认EDID数据,创建所述虚拟显示器。
7.根据权利要求5所述的创建虚拟显示器的装置,其特征在于,还包括:
提取模块,用于提取常规显示器的EDID数据,并将所述EDID数据存入初始EDID列表;
生成模块,用于获取所述常规显示器的分辨率信息、刷新率信息,并建立所述分辨率信息、刷新率信息与所述EDID数据的映射关系,生成所述EDID列表。
8.一种创建虚拟显示器系统,其特征在于,包括:
客户端,用于发送自身的显示配置信息至主机端;
所述主机端,用于执行所述计算机程序时实现如权利要求1至4任一项所述创建虚拟显示器的方法的步骤。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述创建虚拟显示器的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述创建虚拟显示器的方法的步骤。
CN202110205313.0A 2021-02-24 2021-02-24 一种创建虚拟显示器的方法、装置、电子设备和存储介质 Active CN113010245B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110205313.0A CN113010245B (zh) 2021-02-24 2021-02-24 一种创建虚拟显示器的方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110205313.0A CN113010245B (zh) 2021-02-24 2021-02-24 一种创建虚拟显示器的方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN113010245A true CN113010245A (zh) 2021-06-22
CN113010245B CN113010245B (zh) 2023-03-14

Family

ID=76385596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110205313.0A Active CN113010245B (zh) 2021-02-24 2021-02-24 一种创建虚拟显示器的方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113010245B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1766859A (zh) * 2004-10-30 2006-05-03 鸿富锦精密工业(深圳)有限公司 刷新率自动修改方法
CN102782747A (zh) * 2009-12-15 2012-11-14 Ati科技无限责任公司 用于将显示面分割成多个虚拟显示区域的装置和方法
US20140245194A1 (en) * 2013-02-28 2014-08-28 Apple Inc. System and method for virtual displays
US20150356773A1 (en) * 2014-06-09 2015-12-10 Citrix Systems, Inc. Systems and methods for providing virtual monitors
CN108717375A (zh) * 2018-05-09 2018-10-30 新华三云计算技术有限公司 分辨率同步方法及装置
CN110012333A (zh) * 2017-12-19 2019-07-12 交互数字Ce专利控股公司 将视频流中的视频帧传送到显示器的方法及相应装置
CN209514606U (zh) * 2019-04-26 2019-10-18 深圳市讯盾科技有限公司 新型热插拔显示器控制系统和计算机设备
CN110764850A (zh) * 2018-07-26 2020-02-07 阿里巴巴集团控股有限公司 界面显示方法、参数赋值方法、系统及设备
US20200275155A1 (en) * 2019-02-22 2020-08-27 Samsung Electronics Co., Ltd. Display device and image display method of the same
CN111708503A (zh) * 2020-06-05 2020-09-25 努比亚技术有限公司 一种投屏控制方法、设备及计算机可读存储介质
CN111866058A (zh) * 2020-05-25 2020-10-30 西安万像电子科技有限公司 数据处理方法及系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1766859A (zh) * 2004-10-30 2006-05-03 鸿富锦精密工业(深圳)有限公司 刷新率自动修改方法
CN102782747A (zh) * 2009-12-15 2012-11-14 Ati科技无限责任公司 用于将显示面分割成多个虚拟显示区域的装置和方法
US20140245194A1 (en) * 2013-02-28 2014-08-28 Apple Inc. System and method for virtual displays
US20150356773A1 (en) * 2014-06-09 2015-12-10 Citrix Systems, Inc. Systems and methods for providing virtual monitors
CN110012333A (zh) * 2017-12-19 2019-07-12 交互数字Ce专利控股公司 将视频流中的视频帧传送到显示器的方法及相应装置
CN108717375A (zh) * 2018-05-09 2018-10-30 新华三云计算技术有限公司 分辨率同步方法及装置
CN110764850A (zh) * 2018-07-26 2020-02-07 阿里巴巴集团控股有限公司 界面显示方法、参数赋值方法、系统及设备
US20200275155A1 (en) * 2019-02-22 2020-08-27 Samsung Electronics Co., Ltd. Display device and image display method of the same
CN209514606U (zh) * 2019-04-26 2019-10-18 深圳市讯盾科技有限公司 新型热插拔显示器控制系统和计算机设备
CN111866058A (zh) * 2020-05-25 2020-10-30 西安万像电子科技有限公司 数据处理方法及系统
CN111708503A (zh) * 2020-06-05 2020-09-25 努比亚技术有限公司 一种投屏控制方法、设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HANBLOGS的博客: "https://blog.csdn.net/han2529386161/article/details/105974686", 《浅谈GPU虚拟化技术(四)- GPU分片虚拟化_HANBLOGS的博客-CSDN博客_GPU虚拟化》 *

Also Published As

Publication number Publication date
CN113010245B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
CN106487781B (zh) 基于直播的资源数据处理方法、装置和系统
CN102647398B (zh) 基于移动终端实现游戏的方法及装置
CN100517151C (zh) Dv元数据提取
CN104301113B (zh) 一种基于多证书多用途的数字签名方法和系统
CN111984408B (zh) 基于大数据和边缘计算的数据协同处理方法及边缘云平台
CN108010037A (zh) 图像处理方法、装置及存储介质
CN106850687A (zh) 用于检测网络攻击的方法和装置
CN113010245B (zh) 一种创建虚拟显示器的方法、装置、电子设备和存储介质
CN108985228A (zh) 应用于终端设备的信息生成方法和装置
CN104410923A (zh) 基于视频聊天室的动画呈现方法及装置
CN104580293B (zh) 用于远程控制管控策略的方法、装置和系统
CN110198214A (zh) 身份标识生成方法、验证方法及装置
CN109120988A (zh) 解码方法、装置、电子设备以及存储介质
CN114529490B (zh) 一种数据处理方法、装置、设备以及可读存储介质
US20150304279A1 (en) Peripheral Interface for Residential laaS
CN113467910A (zh) 基于业务等级的过载保护调度方法
CN107734394A (zh) 显示动画信息的方法和装置
CN108418758B (zh) 一种单包识别方法及流量引导方法
CN103391240A (zh) 一种即时通讯实现方法及装置
CN103532932B (zh) 一种能力开放系统、业务处理方法及设备
CN110611937B (zh) 数据分流方法、装置、边缘数据中心和可读存储介质
CN107426624A (zh) 电视游戏实现方法及系统、电视终端、云端服务器、介质
CN103685491B (zh) 一种应用服务提供方法、系统及相关设备
CN114003496A (zh) 数据处理方法、装置、系统、存储介质及程序产品
CN102790681B (zh) 一种多业务融合计费方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant