图片渲染方法、装置和移动终端的制作方法

文档序号:9631389阅读:263来源:国知局
图片渲染方法、装置和移动终端的制作方法
【技术领域】
[0001]本发明涉及移动通信技术领域,更为具体地,涉及图片渲染方法、装置及移动终端。
【背景技术】
[0002]网页页面中包含很多网页元素,例如图片,文字还有视频等。目前Chrome、android自带浏览器及第三方浏览器(如UC浏览器)等浏览器的渲染工作有两种执行方式,一种是在主线程完成,一种是在渲染线程完成。两种方式在网页渲染时执行方式类似。在页面渲染的过程中,如发现需要渲染的图片未进行图片解码,则首先需对该图片进行解码,解码完成后再对图片进行渲染,之后才能进行下一网页元素的处理。
[0003]在网页渲染过程中图片解码是一个很耗时的工作。特别对于拥有多图或者大图的网页来说,图片解码耗时是影响网页渲染效率最主要的因素,也是影响浏览器整体性能的主要因素。如果网页图片过大或者网页图片很多都会导致网页渲染速度慢,网页渲染效率低。在主线程或者渲染线程进行大图片渲染或者多图片网页的渲染时,由于主线程或者渲染线程正在进行图片解码,而不能执行其它任务,导致主线程或者渲染线程的网页渲染效率低,甚至出现堵塞出现卡顿现象。
[0004]同时如果在渲染线程或者主线程网页渲染过程中正在进行图片的解码,此时用户进行屏幕操作,比如划屏或者点击网页的控件等,由于此时主线程或者渲染线程正在进行图片解码,而不能执行其它任务,浏览器也出现卡顿现象。
[0005]所以,现有方法中,浏览器的渲染线程或者主线程在进行网页的大图渲染或者多图渲染时,由于在进行图片的解码,而不能进行其它工作会导致浏览器出现渲染速度慢,效率低,甚至出现阻塞卡顿或者会导致用户划屏卡顿。

【发明内容】

[0006]鉴于上述问题,本发明的目的是提供一种图片渲染方法、装置及移动终端,能加快网页渲染的渲染速度,有效避免浏览网页时产生的卡顿现象。
[0007]根据本发明的一个方面,提供一种图片渲染方法,包括:
[0008]负责渲染的线程在渲染网页时检测出准备渲染的图片为未解码图片,则创建所述图片的图片解码任务以供解码线程根据图片的图片解码任务对所述图片进行解码;
[0009]获取所述图片的信息;
[0010]根据获取的图片信息渲染所述解码线程解码后的图片。
[0011]还包括:构建包含一个或多个解码线程的图片解码线程池;
[0012]所述图片的图片解码任务创建完成后,由图片解码线程池中一个可用解码线程对所述图片进行解码。
[0013]还包括:将所述图片解码任务加入图片解码队列,所述解码线程根据图片解码队列对所述图片进行解码。
[0014]其中,负责渲染的线程获取所述图片的信息包括:负责渲染的线程从图片映射表中获取所述图片需要渲染的位置及大小信息;
[0015]其中,负责渲染的线程根据获取的图片信息渲染解码线程解码后的图片包括:
[0016]负责渲染的线程根据从图片映射表中获取的所述图片需要渲染的位置及大小信息渲染所述解码线程解码后的图片。
[0017]还包括:当检测到图片不在可视区域的预设范围内时,则在图片解码队列中删除所述图片对应的图片解码任务和/或在所述图片映射表删除所述图片的信息。
[0018]还包括:对已经完成解码的图片的图片解码数据进行缓存;
[0019]在进行图片解码数据缓存清理时,保留缓存中的确定处于可视区域预设阈值范围内的图片的图片解码数据。
[0020]另一方面,本发明还提供一种图片渲染装置,包括:负责渲染的线程单元、解码线程单元,
[0021]所述负责渲染的线程单元,用于在渲染网页时检测出准备渲染的图片为未解码图片,则创建所述图片的图片解码任务以供解码线程单元根据图片的图片解码任务对所述图片进行解码,获取所述图片的信息,根据获取的图片信息渲染解码线程解码后的图片;
[0022]所述解码线程单元,用于根据图片的图片解码任务对所述图片进行解码。
[0023]其中,所述负责渲染的线程单元包括:
[0024]检测模块,用于在渲染网页时检测出准备渲染的图片为未解码图片;
[0025]任务创建模块,用于创建所述图片的图片解码任务;
[0026]信息获取模块,用于获取所述图片的信息;
[0027]渲染模块,用于根据信息获取模块获取的图片信息渲染已经完成解码的图片;
[0028]其中,所述解码线程单元包括:
[0029]解码模块,用于根据图片的图片解码任务对图片进行解码。
[0030]其中,所述负责渲染的线程单元还包括:线程池构建模块,所述线程池构建模块用于构建包括至少一个解码线程的图片解码线程池。
[0031]其中,所述负责渲染的线程单元还包括:任务管理模块,用于将所述图片解码任务加入图片解码队列以供所述解码线程单元的解码模块根据图片解码队列对所述图片进行解码。
[0032]还包括:
[0033]用户行为检测模块,用于检测用户操作行为是否导致了网页可视区域发生变化;
[0034]检查模块,用于在用户行为检测模块检测到用户操作时,检查图片解码队列中的图片是否已不在可视区域预设阈值范围内;
[0035]第一删除模块,用于检查模块检查出图片不在所述可视区域预设阈值范围内时,在图片解码队列中删除所述图片对应的图片解码任务和在图片映射表中删除所述图片需要渲染的位置及大小信息。
[0036]还包括:缓存模块,用于缓存已经完成解码的图片的图片解码数据;
[0037]第二删除模块,用于清理缓存模块中的已经完成解码的图片的图片解码数据。
[0038]本发明还提供一种移动终端,包括存储器、图片渲染装置,
[0039]所述图片渲染装置包括负责渲染的线程单元、解码线程单元,
[0040]所述负责渲染的线程单元,用于在渲染网页时检测出准备渲染的图片为未解码图片,则创建所述图片的图片解码任务以供解码线程单元根据图片的图片解码任务对所述图片进行解码,获取所述图片的信息,根据获取的图片信息渲染解码线程解码后的图片;
[0041]所述解码线程单元,用于根据图片的图片解码任务对所述图片进行解码;
[0042]所述图片渲染装置从存储器中获取图片数据进行图片渲染。
[0043]本发明的图片渲染方法、装置和移动终端,负责渲染的线程在渲染网页元素时检测到未解码图片时,记录所述图片的信息,然后为所述图片创建图片解码任务以供解码线程根据图片的图片解码任务对所述图片进行解码;最后负责渲染的线程根据获取的图片信息渲染解码线程解码的图片。由于本发明使用单独解码线程进行图片解码,使得负责渲染的线程能够在检测到未解码的图片时将解码任务交由解码线程进行解码,从而负责渲染的线程则可以进行下一网页元素的渲染工作。该方法将图片解码的工作从负责渲染的线程中分离出来,释放了负责渲染的线程的压力,加快了网页渲染的渲染速度,能有效避免浏览网页时产生的卡顿现象。
[0044]为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
【附图说明】
[0045]通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
[0046]图1示出了根据本发明图片渲染方法的一个实施例的流程图;
[0047]图2示出了本发明的图片渲染方法另一个实施例的详细流程图;
[0048]图3示出了本发明的图片渲染装置的第一个实施例的结构框图;
[0049]图4示出了本发明的图片渲染装置的第二个实施例的结构框图;
[0050]图5示出了本发明的图片解码装置的第三个实施例的结构框图;
[0051]图6示出了本发明的图片解码装置的第四个实施例的结构框图;
[0052]图7为本发明的移动终端一个实施例的系统结构图。
[0053]在所有附图中相同的标号指示相似或相应的特征或功能。
【具体实施方式】
[0054]以下将结合附图对本发明的具体实施例进行详细描述。
[0055]本发明的图片渲染方法、装置和移动终端,负责渲染的线程在渲染网页元素时检测到未解码图片时,记录所述图片的信息,然后为所述图片创建图片解码任务以供解码线程根据图片的图片解码任务对所述图片进行解码;最后负责渲染的线程根据获取的图片信息渲染解码线程解码的图片。由于本发明使用单独解码线程进行图片解码,使得负责渲染的线程能够在检测到未解码的图片时将解码任务交由解码线程进行解码,而负责渲染的线程则可以进行下一网页元素的渲染工作。将图片解码的工作从负责渲染的线程中分离出来,释放了负责渲染的线程的压力,加快了网页渲染渲染速度,能有效避免浏览网页时产生的卡顿现象。
[0056]通常情况下,在网页元素的渲染显示是在渲染线程完成的,本发明的下面的实施例以渲染线程执行渲染显示为例进行说明,即负责渲染的线程为渲染线程进行具体说明。本领域技术人员应该理解,在网页元素的渲染显示也可能是在主线程执行,执行原理与渲染线程类似,这里不赘述。
[0057]图1示出了根据本发明图片渲染方法的一个实施例的流程图。
[0058]如图1所示本实施例的图
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1