CN112233009A - 一种图片渲染方法、装置、设备和存储介质 - Google Patents
一种图片渲染方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112233009A CN112233009A CN202011090927.0A CN202011090927A CN112233009A CN 112233009 A CN112233009 A CN 112233009A CN 202011090927 A CN202011090927 A CN 202011090927A CN 112233009 A CN112233009 A CN 112233009A
- Authority
- CN
- China
- Prior art keywords
- rendering
- picture
- rendered
- canvas
- thumbnail
- 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.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 364
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000006835 compression Effects 0.000 claims abstract description 18
- 238000007906 compression Methods 0.000 claims abstract description 18
- 238000013507 mapping Methods 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种图片渲染方法、装置、设备和存储介质,其中方法包括:获取图片渲染请求;响应于图片渲染请求,获取目标待渲染图片;基于目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载目标待渲染图片的缩略图和用于渲染的渲染数据,其中,缩略图是由将目标待渲染图片按照预置压缩比例压缩后得到的;在渲染画布内根据渲染数据渲染缩略图,解决了因数据量过大而造成的加载速度慢,耗时漫长,渲染显示卡顿和内存不足的技术问题。
Description
技术领域
本申请涉及图像渲染技术领域,尤其涉及一种图片渲染方法、装置、设备和存储介质。
背景技术
随着科技技术的发展,无人机的应用愈发多样化。无人机航测作为无人机应用的一种,是传统航空摄影测量手段的有力补充,具有机动灵活、高效快速、精细准确、作业成本低、适用范围广、生产周期短等优点,在小区域和飞行困难地区具有明显优势。
现有利用无人机做航测时,会拍摄几千甚至上万张高分辨率(6000*4000)的图片构建倾斜模型。在通过这些图片构建倾斜模型之前,首先需要进行渲染处理,然而在渲染处理的过程中,加载所有的图片会耗费较长的时间,而且以现有常用的计算机内存,在读取上述图片时可能会出现内存耗尽导致程序无法运行。再者,数据量过大,对图片进行某些处理后刷新时会造成卡顿。
因此,提供一种能解决上述缺陷的图片渲染方法是本领域技术人员亟待解决的技术问题。
发明内容
本申请提供了一种图片渲染方法、装置、设备和存储介质,解决了现有的图片渲染方法加载图片时耗时长、读取图片时占用内存大、刷新卡顿的技术问题。
有鉴于此,本申请第一方面提供了一种图片渲染方法,包括:
获取图片渲染请求;
响应于所述图片渲染请求,获取目标待渲染图片;
基于所述目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载所述目标待渲染图片的缩略图和用于渲染的渲染数据,其中,所述缩略图是由将所述目标待渲染图片按照预置压缩比例压缩后得到的;
在所述渲染画布内根据所述渲染数据渲染所述缩略图。
可选地,基于所述目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载所述目标待渲染图片的缩略图和用于渲染的渲染数据,包括:
根据所述目标待渲染图片的图片信息,判断缓存映射表中是否具有所述目标待渲染图片的缩略图和用于渲染的渲染数据;
当判断到所述缓存映射表中具有所述缩略图和所述渲染数据时,在所述缓存映射表中更新所述图片信息,并在所述渲染画布内动态加载所述缩略图和所述渲染数据;
当判断到所述缓存映射表中不具有所述缩略图和所述渲染数据时,在所述缓存映射表中添加所述缩略图和所述渲染数据,并在所述渲染画布内动态加载所述缩略图和所述渲染数据。
可选地,所述缩略图的配置过程包括:
根据所述目标待渲染图片的原始拍摄尺寸和预置分辨率,计算预置压缩比例;
基于所述预置压缩比例对所述待渲染图片进行压缩,得到所述缩略图。
可选地,响应于所述图片渲染请求,获取目标待渲染图片,包括:
响应于所述图片渲染请求,获取若干待渲染图片和所述渲染画布对应的当前画布范围;
根据所述当前画布范围和各所述待渲染图片对应的显示范围,从所述待渲染图片中确定目标待渲染图片。
可选地,根据所述当前画布范围和各所述待渲染图片对应的显示范围,从所述待渲染图片中确定目标待渲染图片,包括:
根据所述当前画布范围和各所述待渲染图片对应的显示范围,判断所述渲染画布和各所述待渲染图片是否相交;
将与所述渲染画布相交的所述待渲染图片作为所述目标待渲染图片。
可选地,响应于所述图片渲染请求,获取若干待渲染图片和所述渲染画布对应的当前画布范围之前还包括:
判断所述渲染画布的当前工作状态是否为渲染状态;
当判断到所述当前工作状态为渲染状态时,结束当前渲染进程后执行后续步骤;
当判断到所述当前工作状态不为渲染状态时,直接执行后续步骤。
可选地,获取图片渲染请求,包括:
实时检测所述渲染画布在当前时刻的当前画布范围;
根据所述渲染画布的上一画布范围和所述当前画布范围,判断所述当前画布范围是否发生变化,所述上一画布范围为上一时刻的画布范围,其中所述上一时刻为当前时刻的上一时刻;
当判断到所述当前画布范围发生变化时,判定触发图片渲染请求。
本申请第二方面提供了一种图片渲染装置,包括:
第一获取单元,用于获取图片渲染请求;
第二获取单元,用于响应于所述图片渲染请求,获取目标待渲染图片;
加载单元,用于基于所述目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载所述目标待渲染图片的缩略图和用于渲染的渲染数据,其中,所述缩略图是由将所述目标待渲染图片按照预置压缩比例压缩后得到的;
渲染单元,用于在所述渲染画布内根据所述渲染数据渲染所述缩略图。
本申请第三方面提供了一种图片渲染设备,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面所述的图片渲染方法。
本申请第四方面提供了一种存储介质,所述存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的图片渲染方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请提供了一种图片渲染方法,包括:获取图片渲染请求;响应于图片渲染请求,获取目标待渲染图片;基于目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载目标待渲染图片的缩略图和用于渲染的渲染数据,其中,缩略图是由将目标待渲染图片按照预置压缩比例压缩后得到的;在渲染画布内根据渲染数据渲染缩略图。
本申请中在进行图片渲染时,首先获取图片渲染请求,接着响应于该图片渲染请求,获取到待渲染的目标待渲染图片,然后基于目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载目标待渲染图片的缩略图和渲染时使用的渲染数据,最后在渲染画布内便可以根据渲染数据对缩略图进行渲染,对目标待渲染图片的缩略图进行渲染即相当于对目标待渲染图片进行了渲染,通过上述的过程完成了对目标待渲染图片的图片渲染。在上述的过程中,渲染图片为缩略图,减少数据的同时保持原本的整体细节,为快速渲染提供必要的技术支持,且缩略图和渲染数据的加载是根据要渲染的目标待渲染图片动态加载的,在渲染的同时把内存的使用维持在一个恒定的状态,从而解决了因数据量过大而造成的加载速度慢,耗时漫长,渲染显示卡顿和内存不足的技术问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例中一种图片渲染方法的实施例一的流程示意图;
图2为本申请实施例中一种图片渲染方法的实施例一的流程示意图;
图3为本申请实施例中一种图片渲染装置的实施例的结构示意图;
图4为本申请实施例中一种图片渲染装置的实现结构图;
图5为图4中画布渲染子模块的工作流程示意图;
图6为图4中操作队列子模块的操作类别示意图;
图7为图4中缩略图缓存子模块的工作流程示意图。
具体实施方式
本申请实施例提供了一种图片渲染方法、装置、设备和存储介质,解决了现有的图片渲染方法加载图片时耗时长、读取图片时占用内存大、刷新卡顿的技术问题。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,本申请实施例中一种图片渲染方法的实施例一的流程示意图。
本实施例中的一种图片渲染方法,包括:
步骤101、获取图片渲染请求。
本实施例中,进行图片渲染时,首先获取到的是图片渲染请求,然后基于该图片渲染请求,触发后续的一系列操作。
可以理解的是,图片渲染请求的获取可以是多种方式,例如,在计算机界面中,设置一个“图片渲染按钮”或设置“图像渲染选项”,当点击上述的图像渲染按钮或图像渲染选项时,即触发了图片渲染请求。
步骤102、响应于图片渲染请求,获取目标待渲染图片。
本实施例中在获取到图片渲染请求后,响应于该图片渲染请求,获取待渲染的目标待渲染图片。
可以理解的是,目标待渲染图片可以是人员在点击“图片渲染按钮”后选取的,点击图片渲染按钮后,在弹出的图片选择窗口中输入目标待渲染图片对应的张数。例如有5000张图片待渲染,此时输入1,就认为第1张图片为目标待渲染图片。
步骤103、基于目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载目标待渲染图片的缩略图和用于渲染的渲染数据,其中,缩略图是由将目标待渲染图片按照预置压缩比例压缩后得到的。
本实施例中,在获取到目标待渲染图片后,基于目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载目标待渲染图片的缩略图和用于渲染的渲染数据。
渲染过程中的渲染和加载使用的都是目标待渲染图片的缩略图,利用图片压缩原理,将大分辨率的目标待渲染图片的原始图片降为小分辨率的缩略图,减少数据的同时保持原本的整体细节,为快速渲染显示提供必要的技术支持。
需要说明的是,在加载时具体通过动态加载的方式进行加载,动态加载即按需加载,即当目标待渲染图片为图片1时,在渲染画布中仅仅加载图片1的缩略图和渲染数据;当目标待渲染图片为图片2时,在渲染画布中仅仅加载图片2的缩略图和渲染数据。
可以理解的是,对将目标待渲染图片按照预置压缩比例压缩时可以通过多种方式或软件执行,本实施例中对此不做具体限定。其中预置压缩比例本领域技术人员可以根据自己的需要进行设置,在此不做具体限定和赘述。
步骤104、在渲染画布内根据渲染数据渲染缩略图。
本实施例中,在渲染画布内动态加载目标待渲染图片的缩略图和渲染数据后,便可以在渲染画布内根据渲染数据渲染缩略图。对目标待渲染图片的缩略图进行渲染即相当于对目标待渲染图片进行了渲染,从而完成了对目标待渲染图片的图片渲染。
本实施例中在进行图片渲染时,首先获取图片渲染请求,接着响应于该图片渲染请求,获取到待渲染的目标待渲染图片,然后基于目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载目标待渲染图片的缩略图和渲染时使用的渲染数据,最后在渲染画布内便可以根据渲染数据对缩略图进行渲染,对目标待渲染图片的缩略图进行渲染即相当于对目标待渲染图片进行了渲染,通过上述的过程完成了对目标待渲染图片的图片渲染。在上述的过程中,渲染图片为缩略图,减少数据的同时保持原本的整体细节,为快速渲染提供必要的技术支持,且缩略图和渲染数据的加载是根据要渲染的目标待渲染图片动态加载的,在渲染的同时把内存的使用维持在一个恒定的状态,从而解决了因数据量过大而造成的加载速度慢,耗时漫长,渲染显示卡顿和内存不足的技术问题。
以上为本申请实施例提供的一种图片渲染方法的实施例一,以下为本申请实施例提供的一种图片渲染方法的实施例二。
请参阅图2,本申请实施例中一种图片渲染方法的实施例二的流程示意图。
本实施例中的一种图片渲染方法,包括:
步骤201、实时检测渲染画布在当前时刻的当前画布范围。
本实施例中通过渲染画布的当前画布范围的变化来获取图片渲染请求。因此,本实施例中实时检测渲染画布在当前时刻的当前画布范围。
需要说明的是,当前画布范围的变化可以是通过平移渲染画布或缩放渲染画布实现,缩放操作会渲染画布的大小,且渲染画布对应的坐标值会变化。平移渲染画布时,渲染画布的大小不变,但对应的坐标值会变化。可以理解的是,上述的坐标值可以是渲染画布在一张大图片上的位置坐标,也可以是渲染画布在计算器中显示的显示坐标。本实施例中,以一张大图片上的坐标值进行后续说明,其他类型的可以参照此处的描述进行相应的设置,在此不再一一赘述。
此处的大图片可以是由要渲染的待渲染图片和不需要渲染的图片构成的。为便于理解,举例说明大图片和渲染画布之间的关系,例如包括地点A、B、C和D的图片为大图片,此时的地点A和地点B对应的区域图片为待渲染图片,渲染画布(类似于鼠标框)在大图片上的不同位置即对应不同坐标值。
本实施例中渲染画布对应的形状为矩形。
步骤202、根据渲染画布的上一画布范围和当前画布范围,判断当前画布范围是否发生变化。
需要说明的是,上一画布范围为上一时刻的画布范围,其中上一时刻为当前时刻的上一时刻。
判断当前画布范围是否发生变化即判断上一画布范围和当前画布范围是否相同,若相同则说明当前画布范围未发生变化,若不相同,则说明当前画布范围发生了变化。
步骤203、当判断到当前画布范围发生变化时,判定触发图片渲染请求。
当当前画布范围发生变化时,判定触发了图片渲染请求,开始执行图片渲染的后续操作。
步骤204、判断渲染画布的当前工作状态是否为渲染状态。
开始进行图片渲染时首先要判断渲染画布当前是不是正处于渲染状态,即判断渲染画布的当前工作状态是否为渲染状态。
步骤205、当判断到当前工作状态为渲染状态时,结束当前渲染进程后执行后续步骤。
步骤206、当判断到当前工作状态不为渲染状态时,直接执行后续步骤。
步骤207、响应于图片渲染请求,获取若干待渲染图片和渲染画布对应的当前画布范围。
本实施例中根据步骤201的举例执行步骤207后,待渲染图片为地点A和地点B对应的区域图片。此时的区域图片是通过无人机航拍拍摄的。
步骤208、根据当前画布范围和各待渲染图片对应的显示范围,从待渲染图片中确定目标待渲染图片。
根据当前画布范围和各待渲染图片对应的显示范围,从待渲染图片中确定目标待渲染图片,包括:
根据当前画布范围和各待渲染图片对应的显示范围,判断渲染画布和各待渲染图片是否相交;
将与渲染画布相交的待渲染图片作为目标待渲染图片。
也即判断渲染画布位于大图片上的地点A还是地点B,当地点A或地点B对应的区域图片和渲染画布存在共同部分,也就是存在重叠区域即将该待渲染图片认为是目标待渲染图片。例如地点A的区域图片和渲染画布相交,则将地点A的区域图片作为目标待渲染图片。
步骤209、根据目标待渲染图片的图片信息,判断缓存映射表中是否具有目标待渲染图片的缩略图和用于渲染的渲染数据。
缩略图的配置过程包括:
根据目标待渲染图片的原始拍摄尺寸和预置分辨率,计算预置压缩比例;
基于预置压缩比例对待渲染图片进行压缩,得到缩略图。
步骤210、当判断到缓存映射表中具有缩略图和渲染数据时,在缓存映射表中更新图片信息,并在渲染画布内动态加载缩略图和渲染数据。
本实施例中,如果缓存映射表中具有缩略图和渲染数据,只要在缓存映射表中更新上述的图片信息,通过上述图片信息的更新,即可从缓存映射表中获取缩略图和渲染数据。
可以理解的是,图片信息可以是图片名称,也可以是图片编号。对应的为了便于管理缩略图和对应的目标待渲染图片的图片信息相同,例如,二者的图片名称相同。
可以理解的是,缓存映射表中数据的更新操作可以是以下步骤实现:
步骤一:读取更新操作数据的强制更新状态标志,如果不是强制更新进入步骤二,否则进入步骤三。
步骤二:当前缓存缩略图的总数没有达到设定的最大缓存数量(如5000张),而且缓存映射表和黑名单映射表都找不到此缩略图的名称,则将更新操作数据的缩略图和渲染数据添加进缓存映射表中。否则,把缓存映射表或者黑名单映射表中对应名称的缩略图数据的渲染数据更新为更新操作数据的渲染数据。
步骤三:读取更新操作数据的缩略图处于画布范围状态标志,如果处于画布范围进入步骤四,否则进入步骤五。
步骤四:如果黑名单映射表找到此缩略图的名称,就从黑名单映射表中移除该相应的缓存数据,把更新操作数据的缩略图和渲染数据添加进缓存映射表中。否则,如果缓存映射表找到此缩略图的名称,更新其相应缓存的渲染数据,否则如果缓存缩略图的总数没有达到设定的最大缓存数量就将更新操作数据的缩略图和渲染数据添加进缓存映射表中。
步骤五:如果黑名单映射表找到此缩略图的名称,其相应的缓存数据中的渲染数据与更新操作数据的渲染数据差值达到2以上,就从黑名单映射表移除相应的缓存数据。否则,如果在缓存映射表找到此缩略图的名称,从缓存映射表移除相应的缓存数据,把更新操作数据添加到黑名单映射表。
可以理解的是,上述的缓存映射表中还包括当前渲染画布的帧数,这样当该帧数对应的缩略图和渲染数据在经过渲染使用后,可以从缓存映射表中删除该帧数对应的缩略图和渲染数据,节省内存。
步骤211、当判断到缓存映射表中不具有缩略图和渲染数据时,在缓存映射表中添加缩略图和渲染数据,并在渲染画布内动态加载缩略图和渲染数据。
本实施例中,如果缓存映射表中不具有缩略图和渲染数据,则需要在缓存映射表中添加缩略图和渲染数据,然后从缓存映射表中获取缩略图和渲染数据。
可以理解的是,缓存映射表中数据的添加操作可以是以下方式实现:当前缓存缩略图的总数没有达到设定的最大缓存数量(如5000张),而且缓存映射表和黑名单映射表都找不到增加操作对应的缩略图的名称,则将缩略图、渲染数据和帧数添加进缓存映射表中。否则,把缓存映射表或者黑名单映射表中对应名称的缩略图数据的帧数更新为更新操作数据的帧数。
可以理解的是,缓存映射表中的数据还可以清除,即:清空缓存映射表和黑名单映射表所有缓存数据。也可以刷新,即:删除黑名单映射表中所有缓存数据中的帧数与刷新操作数据的帧数差值达到2以上的缓存数据。
步骤212、在渲染画布内根据渲染数据渲染缩略图。
需要说明的是,步骤212与实施例一中步骤104的描述相同,具体可以上述描述,在此不再赘述。
本实施例中在进行图片渲染时,首先获取图片渲染请求,接着响应于该图片渲染请求,获取到待渲染的目标待渲染图片,然后基于目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载目标待渲染图片的缩略图和渲染时使用的渲染数据,最后在渲染画布内便可以根据渲染数据对缩略图进行渲染,对目标待渲染图片的缩略图进行渲染即相当于对目标待渲染图片进行了渲染,通过上述的过程完成了对目标待渲染图片的图片渲染。在上述的过程中,渲染图片为缩略图,减少数据的同时保持原本的整体细节,为快速渲染提供必要的技术支持,且缩略图和渲染数据的加载是根据要渲染的目标待渲染图片动态加载的,在渲染的同时把内存的使用维持在一个恒定的状态,从而解决了因数据量过大而造成的加载速度慢,耗时漫长,渲染显示卡顿和内存不足的技术问题。
以上为本申请实施例提供的一种图片渲染方法的实施例二,以下为本申请实施例提供的一种图片渲染装置的实施例,请参阅图3。
本申请实施例中的一种图片渲染装置,包括:
第一获取单元301,用于获取图片渲染请求;
第二获取单元302,用于响应于图片渲染请求,获取目标待渲染图片;
加载单元303,用于基于目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载目标待渲染图片的缩略图和用于渲染的渲染数据,其中,缩略图是由将目标待渲染图片按照预置压缩比例压缩后得到的;
渲染单元304,用于在渲染画布内根据渲染数据渲染缩略图。
如图4所示为本实施例中一种图片渲染装置的具体实现结构,其由预处理模块和加载显示模块组成。预处理模块是对大量的图片统一做预处理,预处理基准为:每一张原始图片只需处理一次,预处理后将得到相应的缩略图,保存在指定的文件夹下;缩略图对原始的图片的等比例压缩,压缩后的缩略图一般维持在300*200分辨率左右,缩略图的名称与原始图片的名称保持一致。
预处理模块的目的是利用图片压缩原理,将大分辨率的原始图片降为小分辨率的缩略图,减少数据的同时保持原本的整体细节,为快速渲染显示提供必要的技术支持,避免因数据量过大而造成的加载速度慢,耗时漫长,渲染显示卡顿和内存不足的问题。
加载渲染显示模块是实现快速加载和实时渲染显示的核心,其主要用于根据常规的使用需求(如用户会对渲染画布进行缩放、平移操作),并不是一次性把所有的缩略图全部加载到内存,而是利用图4中的画布渲染子模块、操作队列子模块和缩略图缓存子模块三个子模块形成一个数据流,动态加载当前渲染画布需要显示的缩略图来渲染,释放已经过期的缩略图内存数据,使内存的使用维持在一个恒定的状态。其目的是通过三个子模块之间的协作,实现快速加载,实时渲染显示,不造成卡顿的同时能够把内存维持在一个恒定的状态。
画布渲染子模块:利用多线程方式在后台进行渲染,避免造成软件的卡顿,用于渲染显示(如图5所示的流程),把当前渲染画布需要渲染的缩略图,从缩略图缓存子模块中获取,同时编辑成相应的操作类别(如图6所示),传给操作队列子模块。操作队列子模块:作为数据的中转站,当有来自画布渲染子模块的数据到来时,及时唤醒缩略图缓存子模块的线程进行处理。缩略图缓存子模块:负责处理来自于操作队列子模块的数据,维持内存使用的稳定性(如图7所示)。
为了便于理解,对图5中的画布渲染子模块的工作流程示意图进行详细说明如下:
步骤一:用户进行缩放等改变渲染画布范围的操作,唤醒画布渲染线程,进行下一帧的渲染。
步骤二:画布渲染线程判断是否还处于渲染当中,如果还处于渲染中就先打断当前的渲染帧,抛弃上一帧的渲染结构,接着进入新一帧的渲染,获取渲染画布的矩形范围。
步骤三:计算要渲染的原始图片的显示范围与画布矩形范围是否存在交集,不存在重复步骤三计算下一张,否则进入步骤四。
步骤四:从缩略图缓存子模块中获取该原始图片对应的缩略图,如果获取不到,就把缩略图和当前渲染的帧数等数据作为数据编辑成增加操作类型,添加进操作队列子模块。否则把缩略图的名字和当前渲染的帧数等数据作为数据编辑成更新操作类型,添加进操作队列子模块。
步骤五:判断是否全部图片都渲染完了,如果没有渲染完,读取下一张要渲染的图片,进入步骤三。否则进入步骤六。
步骤六:把当前渲染的帧数作为数据编辑成刷新操作类型,添加进操作队列子模块,把渲染完的结果输出结束渲染,渲染线程进入休眠状态。
相应地,图6中操作队列子模块的操作类别示意图说明如下,一旦由来自画布渲染子模块的操作类型数据,唤醒缩略图缓存子模块的线程进行处理。
具体地,图7中缩略图缓存子模块的工作流程示意图进行详细说明如下:
步骤一:从操作队列子模块中获取操作类型,如果没有就线程进入休眠状态,否则进入步骤二。
步骤二:对操作类型数据分类处理,如果是更新操作类型进入更新子流程,如果是增加操作类型进入增加子流程,如果是删除操作类型进入删除子流程,如果是刷新操作类型进入刷新子流程,如果是清楚操作类型进入清楚子流程。
步骤三:如果操作队列子模块还有要处理的数据,进入步骤一,否则线程进入休眠状态。
本实施例中在进行图片渲染时,首先获取图片渲染请求,接着响应于该图片渲染请求,获取到待渲染的目标待渲染图片,然后基于目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载目标待渲染图片的缩略图和渲染时使用的渲染数据,最后在渲染画布内便可以根据渲染数据对缩略图进行渲染,对目标待渲染图片的缩略图进行渲染即相当于对目标待渲染图片进行了渲染,通过上述的过程完成了对目标待渲染图片的图片渲染。在上述的过程中,渲染图片为缩略图,减少数据的同时保持原本的整体细节,为快速渲染提供必要的技术支持,且缩略图和渲染数据的加载是根据要渲染的目标待渲染图片动态加载的,在渲染的同时把内存的使用维持在一个恒定的状态,从而解决了因数据量过大而造成的加载速度慢,耗时漫长,渲染显示卡顿和内存不足的技术问题。
本申请还提供了一种图片渲染设备的实施例,本实施例中的图片渲染设备包括处理器以及存储器;存储器用于存储程序代码,并将程序代码传输给处理器;处理器用于根据程序代码中的指令执行实施例一或实施例二的图片渲染方法。
本申请还提供了一种存储介质的实施例,本实施例中的存储介质用于存储程序代码,程序代码用于执行实施例一或实施例二的图片渲染方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个待安装电网网络,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请个实施例中的功能单元可以集成在一个处理单元中,也可以是个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。
Claims (10)
1.一种图片渲染方法,其特征在于,包括:
获取图片渲染请求;
响应于所述图片渲染请求,获取目标待渲染图片;
基于所述目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载所述目标待渲染图片的缩略图和用于渲染的渲染数据,其中,所述缩略图是由将所述目标待渲染图片按照预置压缩比例压缩后得到的;
在所述渲染画布内根据所述渲染数据渲染所述缩略图。
2.根据权利要求1所述的图片渲染方法,其特征在于,基于所述目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载所述目标待渲染图片的缩略图和用于渲染的渲染数据,包括:
根据所述目标待渲染图片的图片信息,判断缓存映射表中是否具有所述目标待渲染图片的缩略图和用于渲染的渲染数据;
当判断到所述缓存映射表中具有所述缩略图和所述渲染数据时,在所述缓存映射表中更新所述图片信息,并在所述渲染画布内动态加载所述缩略图和所述渲染数据;
当判断到所述缓存映射表中不具有所述缩略图和所述渲染数据时,在所述缓存映射表中添加所述缩略图和所述渲染数据,并在所述渲染画布内动态加载所述缩略图和所述渲染数据。
3.根据权利要求1所述的图片渲染方法,其特征在于,所述缩略图的配置过程包括:
根据所述目标待渲染图片的原始拍摄尺寸和预置分辨率,计算预置压缩比例;
基于所述预置压缩比例对所述待渲染图片进行压缩,得到所述缩略图。
4.根据权利要求1所述的图片渲染方法,其特征在于,响应于所述图片渲染请求,获取目标待渲染图片,包括:
响应于所述图片渲染请求,获取若干待渲染图片和所述渲染画布对应的当前画布范围;
根据所述当前画布范围和各所述待渲染图片对应的显示范围,从所述待渲染图片中确定目标待渲染图片。
5.根据权利要求4所述的图片渲染方法,其特征在于,根据所述当前画布范围和各所述待渲染图片对应的显示范围,从所述待渲染图片中确定目标待渲染图片,包括:
根据所述当前画布范围和各所述待渲染图片对应的显示范围,判断所述渲染画布和各所述待渲染图片是否相交;
将与所述渲染画布相交的所述待渲染图片作为所述目标待渲染图片。
6.根据权利要求4所述的图片渲染方法,其特征在于,响应于所述图片渲染请求,获取若干待渲染图片和所述渲染画布对应的当前画布范围之前还包括:
判断所述渲染画布的当前工作状态是否为渲染状态;
当判断到所述当前工作状态为渲染状态时,结束当前渲染进程后执行后续步骤;
当判断到所述当前工作状态不为渲染状态时,直接执行后续步骤。
7.根据权利要求1所述的图片渲染方法,其特征在于,获取图片渲染请求,包括:
实时检测所述渲染画布在当前时刻的当前画布范围;
根据所述渲染画布的上一画布范围和所述当前画布范围,判断所述当前画布范围是否发生变化,所述上一画布范围为上一时刻的画布范围,其中所述上一时刻为当前时刻的上一时刻;
当判断到所述当前画布范围发生变化时,判定触发图片渲染请求。
8.一种图片渲染装置,其特征在于,包括:
第一获取单元,用于获取图片渲染请求;
第二获取单元,用于响应于所述图片渲染请求,获取目标待渲染图片;
加载单元,用于基于所述目标待渲染图片的图片信息,在用于渲染的渲染画布内动态加载所述目标待渲染图片的缩略图和用于渲染的渲染数据,其中,所述缩略图是由将所述目标待渲染图片按照预置压缩比例压缩后得到的;
渲染单元,用于在所述渲染画布内根据所述渲染数据渲染所述缩略图。
9.一种图片渲染设备,其特征在于,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1至7中任一项所述的图片渲染方法。
10.一种存储介质,其特征在于,所述存储介质用于存储程序代码,所述程序代码用于执行权利要求1至7中任一项所述的图片渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011090927.0A CN112233009A (zh) | 2020-10-13 | 2020-10-13 | 一种图片渲染方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011090927.0A CN112233009A (zh) | 2020-10-13 | 2020-10-13 | 一种图片渲染方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112233009A true CN112233009A (zh) | 2021-01-15 |
Family
ID=74112422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011090927.0A Pending CN112233009A (zh) | 2020-10-13 | 2020-10-13 | 一种图片渲染方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112233009A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905293A (zh) * | 2021-03-26 | 2021-06-04 | 北京房江湖科技有限公司 | 图形加载方法与系统以及图形渲染方法与系统 |
CN113033173A (zh) * | 2021-04-26 | 2021-06-25 | 广州文石信息科技有限公司 | 一种流式文档图片加载方法、装置、电子设备及存储介质 |
CN114205670A (zh) * | 2021-12-30 | 2022-03-18 | 湖南快乐阳光互动娱乐传媒有限公司 | 图像处理方法及装置、存储介质及电子设备 |
WO2023160282A1 (zh) * | 2022-02-25 | 2023-08-31 | 京东方科技集团股份有限公司 | 一种显示渲染方法、装置、电子设备和可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110320964A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Real-time preview of uniform resource identifier addressable dynamic content |
CN103455571A (zh) * | 2013-08-19 | 2013-12-18 | 小米科技有限责任公司 | 网页中的图片显示方法、装置及终端 |
CN104123343A (zh) * | 2013-12-26 | 2014-10-29 | 中国科学院遥感与数字地球研究所 | 一种面向渲染的空间数据实时坐标变换/投影转换方法 |
CN104156150A (zh) * | 2014-07-22 | 2014-11-19 | 乐视网信息技术(北京)股份有限公司 | 显示图片的方法和装置 |
CN106941567A (zh) * | 2017-03-27 | 2017-07-11 | 广州优视网络科技有限公司 | 显示网络图片的方法、装置以及用户终端 |
US20190051037A1 (en) * | 2017-08-10 | 2019-02-14 | Outward, Inc. | Two-dimensional compositing |
US20190102473A1 (en) * | 2017-09-29 | 2019-04-04 | General Electric Company | Renderer for visual representations |
CN110795177A (zh) * | 2018-08-03 | 2020-02-14 | 浙江宇视科技有限公司 | 图形绘制方法及装置 |
-
2020
- 2020-10-13 CN CN202011090927.0A patent/CN112233009A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110320964A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Real-time preview of uniform resource identifier addressable dynamic content |
CN103455571A (zh) * | 2013-08-19 | 2013-12-18 | 小米科技有限责任公司 | 网页中的图片显示方法、装置及终端 |
CN104123343A (zh) * | 2013-12-26 | 2014-10-29 | 中国科学院遥感与数字地球研究所 | 一种面向渲染的空间数据实时坐标变换/投影转换方法 |
CN104156150A (zh) * | 2014-07-22 | 2014-11-19 | 乐视网信息技术(北京)股份有限公司 | 显示图片的方法和装置 |
CN106941567A (zh) * | 2017-03-27 | 2017-07-11 | 广州优视网络科技有限公司 | 显示网络图片的方法、装置以及用户终端 |
US20190051037A1 (en) * | 2017-08-10 | 2019-02-14 | Outward, Inc. | Two-dimensional compositing |
US20190102473A1 (en) * | 2017-09-29 | 2019-04-04 | General Electric Company | Renderer for visual representations |
CN110795177A (zh) * | 2018-08-03 | 2020-02-14 | 浙江宇视科技有限公司 | 图形绘制方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905293A (zh) * | 2021-03-26 | 2021-06-04 | 北京房江湖科技有限公司 | 图形加载方法与系统以及图形渲染方法与系统 |
CN112905293B (zh) * | 2021-03-26 | 2023-07-07 | 贝壳找房(北京)科技有限公司 | 图形加载方法与系统以及图形渲染方法与系统 |
CN113033173A (zh) * | 2021-04-26 | 2021-06-25 | 广州文石信息科技有限公司 | 一种流式文档图片加载方法、装置、电子设备及存储介质 |
CN114205670A (zh) * | 2021-12-30 | 2022-03-18 | 湖南快乐阳光互动娱乐传媒有限公司 | 图像处理方法及装置、存储介质及电子设备 |
CN114205670B (zh) * | 2021-12-30 | 2024-04-05 | 湖南快乐阳光互动娱乐传媒有限公司 | 图像处理方法及装置、存储介质及电子设备 |
WO2023160282A1 (zh) * | 2022-02-25 | 2023-08-31 | 京东方科技集团股份有限公司 | 一种显示渲染方法、装置、电子设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112233009A (zh) | 一种图片渲染方法、装置、设备和存储介质 | |
CN109603155B (zh) | 合并贴图的获取方法、装置、存储介质、处理器及终端 | |
CN102930523B (zh) | 图片处理系统和图片拼接实现方法 | |
CN111882634B (zh) | 一种图像渲染方法、装置、设备及存储介质 | |
CN113900797B (zh) | 基于虚幻引擎的三维倾斜摄影数据处理方法、装置及设备 | |
CN112419498B (zh) | 一种海量倾斜摄影数据的调度渲染方法 | |
CN114245028B (zh) | 图像展示方法、装置、电子设备及存储介质 | |
DE112018002568T5 (de) | Verfahren, Systeme und Vorrichtung zur Reduzierung von Speicherlatenz beim Abrufen von Pixelkernen | |
CN111179402B (zh) | 一种目标对象的渲染方法、装置及系统 | |
CN105844683A (zh) | 基于Canvas和WebWorker的像素差逐帧动画的实现方法 | |
CN105427235A (zh) | 一种图像浏览方法及系统 | |
CN115952388B (zh) | 基于图像数据处理的卷积运算方法、装置、处理器及介质 | |
CN109683798B (zh) | 一种文本确定方法、终端及计算机可读存储介质 | |
CN108228030B (zh) | 相册显示方法、装置、存储介质及电子设备 | |
CN108109106B (zh) | 一种图片生成的方法、装置及计算机设备 | |
CN115357696A (zh) | 基于组件的动态图表看板展示方法及相关设备 | |
CN113781658B (zh) | 一种流式处理3d模型数据的方法及装置 | |
CN114331808A (zh) | 一种动作姿态存储方法、装置、介质及电子设备 | |
CN114329046A (zh) | 一种基于贴图的动态视频存储管理方法、装置、介质及电子设备 | |
CN114816408A (zh) | 信息处理方法及装置 | |
CN115238659A (zh) | 一种报表数据处理方法和装置 | |
CN111353965B (zh) | 图像修复方法、装置、终端及存储介质 | |
CN111161351B (zh) | 一种目标构件坐标获取方法及其系统 | |
CN117729365A (zh) | 一种弹幕处理方法、装置、电子设备及存储介质 | |
CN117744187A (zh) | Cad绘图方法、装置、计算机设备和存储介质 |
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 |