一种电子地图的文字渲染方法及装置的制造方法
【技术领域】
[0001]本发明涉及电子地图技术领域,尤其涉及一种电子地图的文字渲染方法及装置。
【背景技术】
[0002]目前,电子地图已为人们的生活和出行带来了极大的便捷。用户可以采用输入关键字搜索、选择分类搜索、拉框搜索或点图搜索等方式查找电子地图中的兴趣点(Ρ0Ι,Point of Interest),并通过电子地图查看兴趣点所在的位置以及周边情况。
[0003]当出现用户位置发生变化、用户拖拽电子地图或者用户改变电子地图缩放比等导致用户终端设备屏幕显示的电子地图范围发生变化的情况时,需要重新在用户终端设备屏幕渲染电子地图。
[0004]现有技术,在用户终端设备屏幕上渲染电子地图是根据用户终端设备屏幕的刷新频率一帧一帧地渲染电子地图,其中,一帧电子地图中的每一个POI对应的文字串的渲染方式如下:
[0005]步骤1:根据该POI对应的文字串中的一个文字的字模分别生成该文字对应的文字纹理,文字字模即文字的属性信息,包括该文字的宽、高、占用内存、以及该文字的内容等信息,根据该文字对应的文字纹理,将该文字绘制在电子地图中该POI对应的位置处;步骤2:判断所述POI对应的文字串中是否还有未绘制的文字,如果有,则返回步骤1,否则结束该POI对应的文字串的绘制。
[0006]发明人在对现有技术研究的过程中发现,现有技术绘制POI对应的文字串时,采用的是逐字分别绘制的方式,这导致现有技术绘制POI对应的文字串时存在渲染速度慢,效率低的问题。
[0007]进一步,发明人还发现,当前后两帧电子地图中有相同的Ρ0Ι,例如:前一帧电子地图中有POI “A大厦”,后一帧电子地图中也有POI “A大厦”,现有技术还是要重新对后一帧电子地图中的所有POI对应的文字串按照前文所述方法进行渲染,因此,现有技术还存在电子地图整体渲染效率较低且CPU资源占用率高的问题。
【发明内容】
[0008]本发明实施例提供一种电子地图的文字渲染方法及装置,用以解决现有技术中存在电子地图的文字渲染速度慢、效率较低和CPU占用率高的问题。
[0009]本发明实施例提供一种电子地图的文字渲染方法,针对一帧当前待显示电子地图中的每一个兴趣点,该方法包括:
[0010]生成兴趣点对应的文字串中每一个字的字模;
[0011]按预设的排版规则及所述文字串中文字的排列顺序,对所述每一个字的字模进行排版,得到所述文字串的字模;
[0012]根据所述文字串的字模的属性信息,生成所述文字串的纹理;
[0013]根据所述文字串的纹理,在所述兴趣点在电子地图对应位置处绘制所述兴趣点的对应的文字串。
[0014]由于本发明实施例提供的方法对POI文字串生成文字串字模,针对该文字串字模的属性信息一次生成该POI的文字串纹理,并对该POI的文字串纹理一次进行绘制,从而无需对该POI的每一个文字分别生成各文字对应的文字纹理,也无需对每个字的文字纹理分别进行绘制,提高了文字渲染的速度,节省了文字渲染时间和CPU资源,从而提高了文字渲染效率,降低了 CPU占用率。
[0015]进一步的,上述方法,还包括:
[0016]判断文字串纹理缓存空间是否缓存了所述兴趣点对应的文字串的纹理,如果缓存了,则读取所述文字串纹理缓存空间中缓存的所述兴趣点对应的文字串的纹理,执行所述根据所述文字串的纹理,在所述兴趣点在电子地图对应位置处绘制所述兴趣点的对应的文字串的步骤;否则,执行所述生成兴趣点对应的文字串中每一个字的字模的步骤。
[0017]这样,通过将生成的POI的文字串纹理保存到文字串纹理缓存空间中,当渲染下一帧电子地图中的POI文字串存在与当前显示电子地图中相同的POI文字串时,不需要重新生成该POI文字串的文字串纹理,只需在保存文字串纹理来的缓存中直接查找即可,提高了文字渲染速度,节省了文字渲染时间和CPU资源。
[0018]进一步的,上述方法,还包括:
[0019]将根据所述文字串的字模的属性信息生成的所述文字串的纹理缓存至所述文字串纹理缓存空间。
[0020]进一步的,上述方法,还包括:
[0021]判断所述文字串纹理缓存空间是否已满,如果未满,则执行所述将根据所述文字串的字模的属性信息生成的所述文字串的纹理缓存至所述文字串纹理缓存空间的步骤;否贝U,删除所述文字串纹理缓存空间中缓存满足预置的失效条件的兴趣点的文字串的纹理。
[0022]本发明实施例还提供了一种电子地图的文字渲染装置,包括:
[0023]第一生成单元,用于生成兴趣点对应的文字串中每一个字的字模;
[0024]排版单元,用于按预设的排版规则及所述文字串中文字的排列顺序,对所述每一个字的字模进行排版,得到所述文字串的字模;
[0025]第二生成单元,用于根据所述文字串的字模的属性信息,生成所述文字串的纹理;
[0026]绘制单元,用于根据所述文字串的纹理,在所述兴趣点在电子地图对应位置处绘制所述兴趣点的对应的文字串。
[0027]采用本发明实施例提供的装置,由于对POI文字串生成文字串字模,针对该文字串字模的属性信息一次生成该POI的文字串纹理,并对该POI的文字串纹理一次进行绘制,无需对该POI的每一个文字分别生成各文字对应的的文字纹理,也无需对每个字的文字纹理分别进行绘制,提高了文字渲染的速度,节省了文字渲染时间和CPU资源,从而提高了文字渲染效率,降低了 CPU占用率。
[0028]进一步的,上述装置,还包括:
[0029]第一判断单元,用于判断文字串纹理缓存空间是否缓存了所述兴趣点对应的文字串的纹理,如果缓存了,则读取所述文字串纹理缓存空间中缓存的所述兴趣点对应的文字串的纹理,触发绘制单元根据所述文字串的纹理,在所述兴趣点在电子地图对应位置处绘制所述兴趣点的对应的文字串;否则,触发第一生成单元生成兴趣点对应的文字串中每一个字的字模。
[0030]这样,通过将生成的POI的文字串纹理保存到文字串纹理缓存空间中,当渲染下一帧电子地图中的POI文字串存在与当前显示电子地图中相同的POI文字串时,不需要重新生成该POI文字串的文字串纹理,只需在保存文字串纹理来的缓存中直接查找即可,提高了文字渲染速度,节省了文字渲染时间和CPU资源。
[0031 ] 进一步的,上述装置,还包括:
[0032]第三生成单元,用于将根据所述文字串的字模的属性信息生成的所述文字串的纹理缓存至所述文字串纹理缓存空间。
[0033]进一步的,上述装置,还包括:
[0034]第二判断单元,用于判断所述文字串纹理缓存空间是否已满,如果未满,则触发所述第三生成单元将根据所述文字串的字模的属性信息生成的所述文字串的纹理缓存至所述文字串纹理缓存空间的步骤;否则,删除所述文字串纹理缓存空间中缓存满足预置的失效条件的兴趣点的文字串的纹理。
[0035]本申请的其它特征和优点将在随后的