CN115908674A - 量子电路图渲染方法、装置、设备、存储介质及程序产品 - Google Patents

量子电路图渲染方法、装置、设备、存储介质及程序产品 Download PDF

Info

Publication number
CN115908674A
CN115908674A CN202211528107.4A CN202211528107A CN115908674A CN 115908674 A CN115908674 A CN 115908674A CN 202211528107 A CN202211528107 A CN 202211528107A CN 115908674 A CN115908674 A CN 115908674A
Authority
CN
China
Prior art keywords
window
rendering
area
circuit diagram
quantum circuit
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.)
Withdrawn
Application number
CN202211528107.4A
Other languages
English (en)
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202211528107.4A priority Critical patent/CN115908674A/zh
Publication of CN115908674A publication Critical patent/CN115908674A/zh
Withdrawn legal-status Critical Current

Links

Images

Abstract

本公开提供了一种量子电路图渲染方法、装置、设备、存储介质及程序产品,涉及量子门电路、可视化,局部渲染等技术领域。该方法包括:响应于接收到目标量子电路图的显示指令,确定用于呈现目标量子电路图的部分图像内容的可视区域所在的初始区域中心点;以初始区域中心点为初始视窗中心点,创建将可视区域包含在内的预渲染视窗;渲染落入预渲染视窗内的目标量子电路图的量子组件,并呈现落入可视区域的目标量子电路图的量子组件的渲染结果。应用该方法可在可视区域被移动时,直接呈现已经完成渲染的渲染结果,提升呈现流畅度、减少卡顿现象。

Description

量子电路图渲染方法、装置、设备、存储介质及程序产品
技术领域
本公开涉及图像渲染技术领域,具体涉及量子门电路、可视化,局部渲染等技术领域,尤其涉及一种量子电路图渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
随着量子设备和量子电路规模持续增长,量子算法开发的热度不断提高,量子计算平台需要满足来自不同领域研究人员的多元的实验需求。可视化的量子计算平台提供构成量子电路的门图标组件和自由编辑的电路画布,使用户通过简单的拖拽即可完成量子电路的构建和运行。
以其直观便捷的优势,可视化的量子计算平台成为越来越多研究人员的选择。行业内主流的几家可视化量子计算平台(电脑端)最多仅支持两千个门图标的渲染及动画操作,其中门的数量达到数百时动画操作便已经出现了明显卡顿,而研究人员实验所用的量子电路的深度早已远超可视化平台所能渲染和处理的范围。
即,可视化的量子计算平台亟需更快速更强大的渲染能力和更灵敏更低耗的动画操作响应。
发明内容
本公开实施例提出了一种量子电路图渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
第一方面,本公开实施例提出了一种量子电路图渲染方法,包括:响应于接收到目标量子电路图的显示指令,确定用于呈现目标量子电路图的部分图像内容的可视区域所在的初始区域中心点;以初始区域中心点为初始视窗中心点,创建将可视区域包含在内的预渲染视窗;渲染落入预渲染视窗内的目标量子电路图的量子组件,并呈现落入可视区域的目标量子电路图的量子组件的渲染结果。
第二方面,本公开实施例提出了一种量子电路图渲染装置,包括:初始区域中心点确定单元,被配置成响应于接收到目标量子电路图的显示指令,确定用于呈现目标量子电路图的部分图像内容的可视区域所在的初始区域中心点;预渲染视窗创建单元,别配置成以初始区域中心点为初始视窗中心点,创建将可视区域包含在内的预渲染视窗;渲染及渲染结果呈现单元,被配置成渲染落入预渲染视窗内的目标量子电路图的量子组件,并呈现落入可视区域的目标量子电路图的量子组件的渲染结果。
第三方面,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面描述的量子电路图渲染方法。
第四方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面描述的量子电路图渲染方法。
第五方面,本公开实施例提供了一种包括计算机程序的计算机程序产品,该计算机程序在被处理器执行时能够实现如第一方面描述的量子电路图渲染方法的步骤。
本公开实施例提供的量子电路图渲染方案,针对包含较多可视化量子组件、规模较大的量子电路图,提供了一种优化后的局部渲染方式,即不仅对目标量子电路图落入可视区域的部分量子组件进行渲染,而是对目标量子电路图落入包含该可视区域的、尺寸更大的预渲染视窗的部分量子组件进行预渲染,从而在可视区域的基础上额外渲染一些在可视区域附近的部分量子组件备用,从而在可视区域被移动时,可以直接呈现已经完成渲染的渲染结果,提升呈现流畅度、减少卡顿现象。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开可以应用于其中的示例性系统架构;
图2为本公开实施例提供的一种量子电路图渲染方法的流程图;
图3a为本公开实施例提供的一种示例性的量子电路图;
图3b为本公开实施例提供的一种量子电路图、可视区域、预渲染视窗之间的相对位置关系示意图;
图4为本公开实施例提供的另一种量子电路图渲染方法的流程图;
图5a为本公开实施例提供的一种可视区域移动的示意图;
图5b为本公开实施例提供的一种预渲染视窗移动的示意图;
图6为本公开实施例提供的又一种量子电路图渲染方法的流程图;
图7a为本公开实施例提供的一种量子电路图、可视区域、预渲染视窗之间的相对位置关系示意图;
图7b为本公开实施例提供的另一种可视区域移动的示意图;
图7c为本公开实施例提供的一种预渲染视窗和防抖视窗移动的示意图;
图8为本公开实施例提供的一种量子电路图渲染装置的结构框图;
图9为本公开实施例提供的一种适用于执行量子电路图渲染方法的电子设备的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
图1示出了可以应用本公开的量子电路图渲染方法、装置、电子设备及计算机可读存储介质的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103和服务器105上可以安装有各种用于实现两者之间进行信息通讯的应用,例如量子电路图绘制类应用、量子电路图渲染类应用、即时通讯类应用等。
终端设备101、102、103和服务器105可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等;当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
服务器105通过内置的各种应用可以提供各种服务,以可以为指示显示的量子电路图提供渲染服务的量子电路图渲染类应用为例,服务器105在运行该量子电路图渲染类时可实现如下效果:首先,通过网络104接收到终端设备101、102、103传入的对目标量子电路图的显示指令;然后,根据该显示指令确定用于呈现该目标量子电路图的部分图像内容的可视区域所在的初始区域中心点;接下来,以该初始区域中心点为初始视窗中心点,创建将该可视区域包含在内的预渲染视窗;最后,渲染落入该预渲染视窗内的目标量子电路图的量子组件,并呈现落入该可视区域的目标量子电路图的量子组件的渲染结果。
需要指出的是,指示对目标量子电路图进行显示的显示指令除可以从终端设备101、102、103通过网络104临时获取到之外,也可以通过各种方式预先存储在服务器105本地。因此,当服务器105检测到本地已经存储有这些数据时(例如开始处理之前留存的待显示任务),可选择直接从本地获取这些数据,在此种情况下,示例性系统架构100也可以不包括终端设备101、102、103和网络104。
由于呈现规模较大的目标量子电路需要占用较多的运算资源和较强的运算能力,因此本公开后续各实施例所提供的量子电路图渲染方法一般由拥有较强运算能力、较多运算资源的服务器105来执行,相应地,量子电路图渲染装置一般也设置于服务器105中。但同时也需要指出的是,在终端设备101、102、103也具有满足要求的运算能力和运算资源时,终端设备101、102、103也可以通过其上安装的量子电路图渲染类应用完成上述本交由服务器105做的各项运算,进而输出与服务器105同样的结果。尤其是在同时存在多种具有不同运算能力的终端设备的情况下,但量子电路图渲染类应用判断所在的终端设备拥有较强的运算能力和剩余较多的运算资源时,可以让终端设备来执行上述运算,从而适当减轻服务器105的运算压力,相应的,量子电路图渲染装置也可以设置于终端设备101、102、103中。在此种情况下,示例性系统架构100也可以不包括服务器105和网络104。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
请参考图2,图2为本公开实施例提供的一种量子电路图渲染方法的流程图,其中流程200包括以下步骤:
步骤201:响应于接收到目标量子电路图的显示指令,确定用于呈现目标量子电路图的部分图像内容的可视区域所在的初始区域中心点;
本步骤旨在由量子电路图渲染方法的执行主体(例如图1所示的服务器105)在接收到目标量子电路图的显示指令时,确定用于呈现该目标量子电路图的部分图像内容的可视区域所在的初始区域中心点。
即本申请所针对的是规模较大、尺寸较大的目标量子电路图(例如图3a所示的量子电路图示例),而可视区域的区域尺寸较小,无法一次性显示完整的目标量子电路图的情况下,因此可视区域仅能够一次呈现目标量子电路图的部分图像内容,而该可视区域的初始位置与该初始区域中心点对应,即以该初始区域中心点为中心点,创建该可视区域,通常情况下,该可视区域的区域尺寸是固定的,例如在可以全屏显示的情况下,该可视区域的尺寸最大可以为屏幕尺寸,在非全屏显示的情况下,该可视区域的尺寸即为设定显示区域的尺寸。
通常情况下,可视区域的初始位置可以为完整的目标量子电路图的左上角部分,以便于从开始位置查看目标量子电路图。
步骤202:以初始区域中心点为初始视窗中心点,创建将可视区域包含在内的预渲染视窗;
在步骤201的基础上,本步骤旨在由上述执行主体以初始区域中心点为初始视窗中心点,创建将可视区域包含在内的预渲染视窗。
即预渲染视窗的初始视窗中心点与可视区域的初始区域中心点相同,而创建出的预渲染视窗在与可视区域拥有相同初始的中心点的情况,可视区域将被该预渲染视窗完全包含在内,即预渲染视窗拥有比可视区域更大的区域尺寸。至于该预渲染视窗比可视区域大多少,即该预渲染视窗的视窗面积是该可视区域的区域面积多少倍,可根据目标量子电路图的总面积、该区域面积、可视区域的平均移动量中的至少一项来确定,即总面积越大、该区域面积越大、平均移动量远大,该倍数就越大。
具体的,该预渲染视窗的视窗形状可以与可视区域的区域形状相同,从而适配可视移动的移动;预渲染视窗的视窗形状也可以在实际应用场景存在某些特定要求的情况下,不同于与可视区域的区域形状,此处不做具体限定,可根据实际情况灵活选择。
步骤203:渲染落入预渲染视窗内的目标量子电路图的量子组件,并呈现落入可视区域的目标量子电路图的量子组件的渲染结果。
在步骤202的基础上,本步骤旨在由上述执行主体对落入该预渲染视窗内的目标量子电路图的量子组件进行渲染,并呈现落入可视区域的目标量子电路图的量子组件的渲染结果。
即由于预渲染视窗比可视区域大,因此不仅对落入可视区域内的量子组件进行渲染,还额外对未落入可视区域内、但位于可视区域边缘附近的额外量子组件也进行渲染,从而通过预先多渲染一些量子组件,以便在可视区域移动时能够直接呈现渲染结果,提升查看体验和避免卡顿。
为加深对本实施例所提供方案的理解,可参见如图3b所示的示意图:
图中最外层的矩形所框定区域为量子电路图的完整大小,最内层的矩形所框定区域为可视区域的大小,而在最外层矩形和最内层矩形之间设置有预渲染视窗,且该预渲染视窗的初始视窗中心与该可视区域的初始区域中心点相同,因此在该方案下,每次对落入该预渲染视窗内的量子组件进行渲染,并仅将落入该可视区域的量子组件的渲染结果进行呈现,剩余已渲染但未落入可视区域的渲染结果,则可以存储在内存中,以便于后续快速取用。
本公开实施例提供的量子电路图渲染方法,针对包含较多可视化量子组件、规模较大的量子电路图,提供了一种优化后的局部渲染方式,即不仅对目标量子电路图落入可视区域的部分量子组件进行渲染,而是对目标量子电路图落入包含该可视区域的、尺寸更大的预渲染视窗的部分量子组件进行预渲染,从而在可视区域的基础上额外渲染一些在可视区域附近的部分量子组件备用,从而在可视区域被移动时,可以直接呈现已经完成渲染的渲染结果,提升呈现流畅度、减少卡顿现象。
请参考图4,图4为本公开实施例提供的另一种量子电路图渲染方法的流程图,其中流程400包括以下步骤:
步骤401:响应于接收到目标量子电路图的显示指令,确定用于呈现目标量子电路图的部分图像内容的可视区域所在的初始区域中心点;
步骤402:以初始区域中心点为初始视窗中心点,创建将可视区域包含在内的预渲染视窗;
步骤403:渲染落入预渲染视窗内的目标量子电路图的量子组件,并呈现落入可视区域的目标量子电路图的量子组件的渲染结果;
以上步骤401-403与如图2所示的步骤201-203一致,相同部分内容请参见上一实施例的相应部分,此处不再进行赘述。
步骤404:响应于可视区域被移动、且移动后的可视区域的外边界未落入预渲染视窗的外边界框定的区域,移动预渲染视窗至新视窗中心点与移动后的可视区域的新区域中心点重合;
在步骤403的基础上,本步骤旨在由上述执行主体在该可视区域被移动、且移动后的可视区域的外边界未落入预渲染视窗的外边界框定的区域内时,触发一次预渲染视窗的移动,即移动该预渲染视窗至新视窗中心点与移动后的可视区域的新区域中心点重合。
即该预渲染视窗并不一直随可视区域的移动而移动,而是仅当该可视区域的外边界被移出上一次固定位置的预渲染视窗的外边界时,才触发一次该预渲染视窗的移动,从而避免该预渲染视窗的频繁移动所带来的渲染操作。
步骤405:删除不再落入移动后的预渲染视窗的渲染结果,并对新落入移动后的预渲染视窗的新量子组件进行预渲染。
在步骤404的基础上,本步骤旨在由上述执行主体删除不再落入移动后的预渲染视窗的渲染结果,并对新落入移动后的预渲染视窗的新量子组件进行预渲染。
即考虑到内存有限,已完成的渲染结果不能随着预渲染视窗的不断移动而持续累积,将不再落入移动后的预渲染视窗的量子组件的已渲染结果从内存中删去,以保持足够的剩余内存用于存储新落入移动后的预渲染视窗的量子组件的渲染结果。
为加深对本实施例所提供方案的理解,还请参见图5a和图5b所示的示意图:
如图5a所示,可视区域因移动,从初始的虚线位置移动至实线位置,对应的,区域中心点从初始的非黑色实心点处移动至当前的黑色实心点处。可以看出,在此时,当前的可视区域的右侧边界线与预渲染视窗的右侧边界线重叠,可视区域再向右移动,将被移出该预渲染视窗的边界,此时将对该预渲染视窗触发一次位置同步,即参见图5b所示的示意图。
如图5b所示,触发位置同步后,预渲染视窗从初始的虚线位置移动至实线位置,对应的,视窗中心点也将同步至与当前的可视区域中心点相同的黑色实心点处。因此,因预渲染视窗的位置同步将对落入右侧部分区域的量子组件进行预渲染,同时将移除左侧部分区域的量子组件的渲染结果。
在上一实施例的基础上,本实施例通过控制该预渲染视窗并不与可视区域进行伴随移动,而是仅当该可视区域的外边界被移出上一次固定位置的预渲染视窗的外边界时,才触发一次该预渲染视窗的移动,从而避免该预渲染视窗的频繁移动所带来的渲染操作和已渲染结果的删去操作,以降低为量子组件进行渲染所使用资源的申请和回收频次。
请参考图6,图6为本公开实施例提供的又一种量子电路图渲染方法的流程图,其中流程600包括以下步骤:
步骤601:响应于接收到目标量子电路图的显示指令,确定用于呈现目标量子电路图的部分图像内容的可视区域所在的初始区域中心点;
步骤602:以初始区域中心点为初始视窗中心点,创建将可视区域包含在内的预渲染视窗;
步骤603:渲染落入预渲染视窗内的目标量子电路图的量子组件,并呈现落入可视区域的目标量子电路图的量子组件的渲染结果;
以上步骤601-603与如图2所示的步骤201-203一致,相同部分内容请参见上一实施例的相应部分,此处不再进行赘述。
步骤604:在预渲染视窗与可视区域之间创建防抖视窗;
其中,构成防抖视窗的各外边界均位于预渲染视窗和可视区域的相应外边界之间,防抖视窗的初始视窗中心点与可视区域中心点相同。
可参见图7a所示的示意图,图中最外层的矩形所框定区域为量子电路图的完整大小,最内层的矩形所框定区域为可视区域的大小,而次外层的矩形为该预渲染视窗的大小,在该预渲染视窗和该可视区域之间还设置有防抖视窗,且该预渲染视窗和防抖视窗的初始视窗中心均与该可视区域的初始区域中心点相同,因此在该方案下,每次对落入该预渲染视窗内的量子组件进行渲染,并仅将落入该可视区域的量子组件的渲染结果进行呈现,剩余已渲染但未落入可视区域的渲染结果,则可以存储在内存中,以便于后续快速取用。
其中,该防抖视窗的外边界与预渲染视窗的相应外边界存在预设距离,该预设距离可以根据实际应用场景的要求自行设定,例如可优选的将该预设距离设定为该可视区域与该预渲染视窗相同方向的外边界间距的一半。
步骤605:响应于可视区域被移动、且移动后的可视区域的外边界未落入防抖视窗的外边界所框定的区域,移动防抖视窗和预渲染视窗的新视窗中心点与移动后的可视区域的新区域中心点重合;
在步骤604的基础上,本步骤旨在由上述执行主体在该可视区域被移动、且移动后的可视区域的外边界未落入该防抖视窗的外边界框定的区域内时,触发一次预渲染视窗和防抖视窗的移动,即移动该预渲染视窗和防抖视窗至新视窗中心点与移动后的可视区域的新区域中心点重合。
即该预渲染视窗和防抖视窗并不一直随可视区域的移动而移动,而是仅当该可视区域的外边界被移出上一次固定位置的防抖视窗的外边界时,才触发一次该预渲染视窗的移动,从而避免该预渲染视窗的频繁移动所带来的渲染操作。
步骤606:删除不再落入移动后的预渲染视窗的渲染结果,并对新落入移动后的预渲染视窗的新量子组件进行预渲染。
在步骤605的基础上,本步骤旨在由上述执行主体删除不再落入移动后的预渲染视窗的渲染结果,并对新落入移动后的预渲染视窗的新量子组件进行预渲染。
即考虑到内存有限,已完成的渲染结果不能随着预渲染视窗的不断移动而持续累积,将不再落入移动后的预渲染视窗的量子组件的已渲染结果从内存中删去,以保持足够的剩余内存用于存储新落入移动后的预渲染视窗的量子组件的渲染结果。
在上一实施例的基础上,本实施例通过在预渲染视窗和可视区域之间增设防抖视窗,并控制该预渲染视窗和防抖视窗并不与可视区域进行伴随移动,而是仅当该可视区域的外边界被移出上一次固定位置的防抖视窗的外边界时,才触发一次该预渲染视窗和防抖视窗的移动,相比于上一实施例所提供方案,由于防抖视窗的外边界仍与预渲染视窗的外边界有预设距离,虽然增加了该预渲染视窗的移动次数,但可降低每次因移动所带来的渲染量。
为加深对本实施例所提供方案的理解,还请参见图7b和图7c所示的示意图:
如图7a所示,可视区域因移动,从初始的虚线位置移动至实线位置,对应的,区域中心点从初始的非黑色实心点处移动至当前的黑色实心点处。可以看出,在此时,当前的可视区域的右侧边界线与防抖视窗的右侧边界线重叠,可视区域再向右移动,将被移出该防抖视窗的边界,此时将对该预渲染视窗和防抖视窗触发一次位置同步,即参见图7c所示的示意图。
如图7c所示,触发位置同步后,预渲染视窗和防抖视窗从初始的虚线位置移动至实线位置,对应的,视窗中心点也将同步至与当前的可视区域中心点相同的黑色实心点处。因此,因预渲染视窗的位置同步将对落入右侧部分区域的量子组件进行预渲染,同时将移除左侧部分区域的量子组件的渲染结果。
为加深理解,本公开还结合一个具体应用场景,给出了一种具体的实现方案:
在系统初始化的时候,准备好若干个渲染组件所需要的系统资源。设定预渲染视窗和防抖视窗,当构成目标量子门电路的门图标进入预渲染视窗时就为其分配资源,提前完成渲染,保证各门图标渲染的流畅度;当门图标被移出预渲染视窗时,则回收资源,不予占用。
假设可视区域最多可展示m个门图标,预渲染视窗最多可展示n个门图标,且n>m。一个资源可以对应完成一个任意门图标组件的渲染及动画工作,那么系统分配给管理员的资源数量将在m和n之间。
1.管理员预备资源
管理员需要完成资源的预备,分发以及回收。
资源预备:每当可视化量子计算平台开启,管理员先向系统申请m个资源,由于多比特门和电路空隙的存在,这m个资源通常不会被占满。当资源占用率达到某一阈值,管理员继续向系统申请若干资源,扩大管理员的资源池。
资源分发:电路图可视区域内新增门图标,或拖动电路图时门图标进入预渲染视窗区域时向管理员申请资源。
资源回收:电路图可视区域内删除门图标,或拖动电路图时门图标移出预渲染视窗区域时将资源归还管理员进行回收和初始化。
2.设定预渲染视窗和防抖视窗
预渲染视窗是一个由可视区域向四周扩大若干距离形成的矩形区域。该预渲染视窗足够大,使用户能够流畅地拖动查看和编辑电路图。预渲染视窗还包含一个略小于它的防抖视窗,只要可视区域还在防抖视窗内,就不会因为拖动电路图而发生资源的回收和申请。只有在可视区域超出防抖视窗范围时,才进行相应的资源准备。由于量子电路编辑的局部性,这样做可以大大减少管理员的资源分发和回收频率。
在使用本实施例所提供的方案前,可视化量子计算平台只能应对数百(移动端)、数千(电脑端)量子门图标的量子电路的渲染。在使用本方法后,无论量子电路有多大,理论上都只需要消耗预备视窗范围需要的资源,极大地扩展了可视化量子计算平台可处理量子电路的规模。
进一步参考图8,作为对上述各图所示方法的实现,本公开提供了一种量子电路图渲染装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图8所示,本实施例的量子电路图渲染装置800可以包括:初始区域中心点确定单元801、预渲染视窗创建单元802、渲染及渲染结果呈现单元803。其中,初始区域中心点确定单元801,被配置成响应于接收到目标量子电路图的显示指令,确定用于呈现目标量子电路图的部分图像内容的可视区域所在的初始区域中心点;预渲染视窗创建单元802,别配置成以初始区域中心点为初始视窗中心点,创建将可视区域包含在内的预渲染视窗;渲染及渲染结果呈现单元803,被配置成渲染落入预渲染视窗内的目标量子电路图的量子组件,并呈现落入可视区域的目标量子电路图的量子组件的渲染结果。
在本实施例中,量子电路图渲染装置800中:初始区域中心点确定单元801、预渲染视窗创建单元802、渲染及渲染结果呈现单元803的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,量子电路图渲染装置800中还可以包括:
渲染结果缓存单元,被配置成将未落入可视区域的目标量子电路图的量子组件的渲染结果,存储在内存中。
在本实施例的一些可选的实现方式中,预渲染视窗的视窗形状与可视区域相同,且预渲染视窗的视窗面积为可视区域的区域面积的预设倍数。
在本实施例的一些可选的实现方式中,预设倍数基于以下至少一项计算得到:
目标量子电路图的总面积、区域面积、可视区域的平均移动量。
在本实施例的一些可选的实现方式中,量子电路图渲染装置800中还可以包括:
中心点移动单元,被配置成响应于可视区域被移动、且移动后的可视区域的外边界未落入预渲染视窗的外边界框定的区域,移动预渲染视窗至新视窗中心点与移动后的可视区域的新区域中心点重合;
删除和预渲染单元,被配置成删除不再落入移动后的预渲染视窗的渲染结果,并对新落入移动后的预渲染视窗的新量子组件进行预渲染。
在本实施例的一些可选的实现方式中,量子电路图渲染装置800中还可以包括:
防抖视窗创建单元,被配置成在预渲染视窗与可视区域之间创建防抖视窗;其中,构成防抖视窗的各外边界均位于预渲染视窗和可视区域的相应外边界之间,防抖视窗的初始视窗中心点与初始区域中心点相同,防抖视窗的外边界与预渲染视窗的相应外边界存在预设距离;
对应的,中心点移动单元被进一步配置成:
响应于可视区域被移动、且移动后的可视区域的外边界未落入防抖视窗的外边界所框定的区域,移动防抖视窗和预渲染视窗的新视窗中心点与移动后的可视区域的新区域中心点重合。
在本实施例的一些可选的实现方式中,预设距离为可视区域与预渲染视窗相同方向的外边界间距的一半。
本实施例作为对应于上述方法实施例的装置实施例存在,本实施例提供的量子电路图渲染装置,针对包含较多可视化量子组件、规模较大的量子电路图,提供了一种优化后的局部渲染方式,即不仅对目标量子电路图落入可视区域的部分量子组件进行渲染,而是对目标量子电路图落入包含该可视区域的、尺寸更大的预渲染视窗的部分量子组件进行预渲染,从而在可视区域的基础上额外渲染一些在可视区域附近的部分量子组件备用,从而在可视区域被移动时,可以直接呈现已经完成渲染的渲染结果,提升呈现流畅度、减少卡顿现象。
根据本公开的实施例,本公开还提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现上述任意实施例所描述的量子电路图渲染方法。
根据本公开的实施例,本公开还提供了一种可读存储介质,该可读存储介质存储有计算机指令,该计算机指令用于使计算机执行时能够实现上述任意实施例所描述的量子电路图渲染方法。
根据本公开的实施例,本公开还提供了一种计算机程序产品,该计算机程序在被处理器执行时能够实现上述任意实施例所描述的量子电路图渲染方法的步骤。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如量子电路图渲染方法。例如,在一些实施例中,量子电路图渲染方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的量子电路图渲染方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行量子电路图渲染方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷。
根据本公开实施例的技术方案,针对包含较多可视化量子组件、规模较大的量子电路图,提供了一种优化后的局部渲染方式,即不仅对目标量子电路图落入可视区域的部分量子组件进行渲染,而是对目标量子电路图落入包含该可视区域的、尺寸更大的预渲染视窗的部分量子组件进行预渲染,从而在可视区域的基础上额外渲染一些在可视区域附近的部分量子组件备用,从而在可视区域被移动时,可以直接呈现已经完成渲染的渲染结果,提升呈现流畅度、减少卡顿现象。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (17)

1.一种量子电路图渲染方法,包括:
响应于接收到目标量子电路图的显示指令,确定用于呈现所述目标量子电路图的部分图像内容的可视区域所在的初始区域中心点;
以所述初始区域中心点为初始视窗中心点,创建将所述可视区域包含在内的预渲染视窗;
渲染落入所述预渲染视窗内的目标量子电路图的量子组件,并呈现落入所述可视区域的目标量子电路图的量子组件的渲染结果。
2.根据权利要求1所述的方法,还包括:
将未落入所述可视区域的目标量子电路图的量子组件的渲染结果,存储在内存中。
3.根据权利要求1所述的方法,其中,所述预渲染视窗的视窗形状与所述可视区域相同,且所述预渲染视窗的视窗面积为所述可视区域的区域面积的预设倍数。
4.根据权利要求3所述的方法,其中,所述预设倍数基于以下至少一项计算得到:
所述目标量子电路图的总面积、所述区域面积、所述可视区域的平均移动量。
5.根据权利要求1-4任一项所述的方法,还包括:
响应于所述可视区域被移动、且移动后的可视区域的外边界未落入所述预渲染视窗的外边界框定的区域,移动所述预渲染视窗至新视窗中心点与移动后的可视区域的新区域中心点重合;
删除不再落入移动后的预渲染视窗的渲染结果,并对新落入移动后的预渲染视窗的新量子组件进行预渲染。
6.根据权利要求5所述的方法,还包括:
在所述预渲染视窗与所述可视区域之间创建防抖视窗;其中,构成所述防抖视窗的各外边界均位于所述预渲染视窗和所述可视区域的相应外边界之间,所述防抖视窗的初始视窗中心点与所述初始区域中心点相同,所述防抖视窗的外边界与所述预渲染视窗的相应外边界存在预设距离;
对应的,所述响应于所述可视区域被移动、且移动后的可视区域的外边界未落入所述预渲染视窗的外边界框定的区域,移动所述预渲染视窗至新视窗中心点与移动后的可视区域的新区域中心点重合,包括:
响应于所述可视区域被移动、且移动后的可视区域的外边界未落入所述防抖视窗的外边界所框定的区域,移动所述防抖视窗和所述预渲染视窗的新视窗中心点与移动后的可视区域的新区域中心点重合。
7.根据权利要求6所述的方法,其中,所述预设距离为所述可视区域与所述预渲染视窗相同方向的外边界间距的一半。
8.一种量子电路图渲染装置,包括:
初始区域中心点确定单元,被配置成响应于接收到目标量子电路图的显示指令,确定用于呈现所述目标量子电路图的部分图像内容的可视区域所在的初始区域中心点;
预渲染视窗创建单元,别配置成以所述初始区域中心点为初始视窗中心点,创建将所述可视区域包含在内的预渲染视窗;
渲染及渲染结果呈现单元,被配置成渲染落入所述预渲染视窗内的目标量子电路图的量子组件,并呈现落入所述可视区域的目标量子电路图的量子组件的渲染结果。
9.根据权利要求8所述的装置,还包括:
渲染结果缓存单元,被配置成将未落入所述可视区域的目标量子电路图的量子组件的渲染结果,存储在内存中。
10.根据权利要求8所述的装置,其中,所述预渲染视窗的视窗形状与所述可视区域相同,且所述预渲染视窗的视窗面积为所述可视区域的区域面积的预设倍数。
11.根据权利要求10所述的装置,其中,所述预设倍数基于以下至少一项计算得到:
所述目标量子电路图的总面积、所述区域面积、所述可视区域的平均移动量。
12.根据权利要求8-11任一项所述的装置,还包括:
中心点移动单元,被配置成响应于所述可视区域被移动、且移动后的可视区域的外边界未落入所述预渲染视窗的外边界框定的区域,移动所述预渲染视窗至新视窗中心点与移动后的可视区域的新区域中心点重合;
删除和预渲染单元,被配置成删除不再落入移动后的预渲染视窗的渲染结果,并对新落入移动后的预渲染视窗的新量子组件进行预渲染。
13.根据权利要求12所述的装置,还包括:
防抖视窗创建单元,被配置成在所述预渲染视窗与所述可视区域之间创建防抖视窗;其中,构成所述防抖视窗的各外边界均位于所述预渲染视窗和所述可视区域的相应外边界之间,所述防抖视窗的初始视窗中心点与所述初始区域中心点相同,所述防抖视窗的外边界与所述预渲染视窗的相应外边界存在预设距离;
对应的,所述中心点移动单元被进一步配置成:
响应于所述可视区域被移动、且移动后的可视区域的外边界未落入所述防抖视窗的外边界所框定的区域,移动所述防抖视窗和所述预渲染视窗的新视窗中心点与移动后的可视区域的新区域中心点重合。
14.根据权利要求13所述的装置,其中,所述预设距离为所述可视区域与所述预渲染视窗相同方向的外边界间距的一半。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的量子电路图渲染方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的量子电路图渲染方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1-7中任一项所述量子电路图渲染方法的步骤。
CN202211528107.4A 2022-11-30 2022-11-30 量子电路图渲染方法、装置、设备、存储介质及程序产品 Withdrawn CN115908674A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211528107.4A CN115908674A (zh) 2022-11-30 2022-11-30 量子电路图渲染方法、装置、设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211528107.4A CN115908674A (zh) 2022-11-30 2022-11-30 量子电路图渲染方法、装置、设备、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN115908674A true CN115908674A (zh) 2023-04-04

Family

ID=86493556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211528107.4A Withdrawn CN115908674A (zh) 2022-11-30 2022-11-30 量子电路图渲染方法、装置、设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN115908674A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050275663A1 (en) * 2004-06-09 2005-12-15 Yoshiyuki Kokojima Rendering apparatus, rendering processing method and computer program product
US8314809B1 (en) * 2011-08-31 2012-11-20 Google Inc. Selective rendering of off-screen content
WO2018133800A1 (zh) * 2017-01-18 2018-07-26 广州市动景计算机科技有限公司 视频画面处理方法、装置、电子设备及存储介质
CN112926000A (zh) * 2021-02-26 2021-06-08 北京百度网讯科技有限公司 显示区域渲染方法、装置、设备、可读存储介质及产品
CN114330729A (zh) * 2021-12-31 2022-04-12 北京百度网讯科技有限公司 量子电路处理方法、装置、设备及存储介质
CN114398576A (zh) * 2021-12-10 2022-04-26 北京达佳互联信息技术有限公司 页面渲染方法、装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050275663A1 (en) * 2004-06-09 2005-12-15 Yoshiyuki Kokojima Rendering apparatus, rendering processing method and computer program product
US8314809B1 (en) * 2011-08-31 2012-11-20 Google Inc. Selective rendering of off-screen content
WO2018133800A1 (zh) * 2017-01-18 2018-07-26 广州市动景计算机科技有限公司 视频画面处理方法、装置、电子设备及存储介质
CN112926000A (zh) * 2021-02-26 2021-06-08 北京百度网讯科技有限公司 显示区域渲染方法、装置、设备、可读存储介质及产品
CN114398576A (zh) * 2021-12-10 2022-04-26 北京达佳互联信息技术有限公司 页面渲染方法、装置、电子设备及存储介质
CN114330729A (zh) * 2021-12-31 2022-04-12 北京百度网讯科技有限公司 量子电路处理方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王小龙;: "基于矩形分割的局部渲染技术在无线图像通信中的应用", 电脑迷, no. 10 *
高瞻;孙万捷;王杰华;蒋峥峥;: "渲染器与Web服务器耦合实现远程体渲染的交互优化", 中国图象图形学报, no. 03 *

Similar Documents

Publication Publication Date Title
US10564829B2 (en) Optimizing window resize actions for remoted applications
EP3876197A2 (en) Portrait extracting method and apparatus, electronic device and storage medium
CN114115681A (zh) 页面生成方法及装置、电子设备和介质
CN113655975B (zh) 图像显示方法、装置、电子设备和介质
CN114330249A (zh) 信息的编辑方法、装置、设备以及存储介质
CN114327057A (zh) 对象选择方法、装置、设备、介质及程序产品
CN110727383A (zh) 基于小程序的触控交互方法、装置、电子设备与存储介质
US11029842B2 (en) Creating and manipulating layers on a user device using touch gestures
CN113138827A (zh) 展示数据的方法、装置、电子设备和介质
CN112162800A (zh) 页面显示方法、装置、电子设备和计算机可读存储介质
CN115908674A (zh) 量子电路图渲染方法、装置、设备、存储介质及程序产品
CN114461720A (zh) 处理地图数据的方法、装置、设备、存储介质及程序产品
CN113362438A (zh) 全景渲染的方法、装置、电子设备、介质及程序
CN114564268A (zh) 一种设备管理方法、装置、电子设备和存储介质
CN113836455A (zh) 特效渲染方法、装置、设备、存储介质及计算机程序产品
CN113536755A (zh) 用于生成海报的方法、装置、电子设备、存储介质及产品
CN111158566A (zh) 一种事件处理方法、装置、设备和存储介质
CN115660092A (zh) 量子门组件渲染方法、装置、设备、存储介质及程序产品
US20240111406A1 (en) Processing method and apparatus, and electronic device
CN113744414B (zh) 图像处理方法、装置、设备和存储介质
CN115309319B (zh) 一种图片预览方法、装置、电子设备及存储介质
CN113360074B (zh) 软键盘显示方法、相关装置及计算机程序产品
CN114398122A (zh) 输入方法、装置、电子设备、存储介质及产品
CN115826898A (zh) 一种跨屏显示方法、系统、装置、设备及存储介质
CN115481339A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20230404

WW01 Invention patent application withdrawn after publication