CN111507885B - 一种基于最佳缓存空间计算的混合图元渲染方法及系统 - Google Patents

一种基于最佳缓存空间计算的混合图元渲染方法及系统 Download PDF

Info

Publication number
CN111507885B
CN111507885B CN202010250833.9A CN202010250833A CN111507885B CN 111507885 B CN111507885 B CN 111507885B CN 202010250833 A CN202010250833 A CN 202010250833A CN 111507885 B CN111507885 B CN 111507885B
Authority
CN
China
Prior art keywords
primitive
cache
sequence
space
buffer
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.)
Active
Application number
CN202010250833.9A
Other languages
English (en)
Other versions
CN111507885A (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.)
Suzhou Research Institute Institute Of Electronics Chinese Academy Of Sciences
Original Assignee
Suzhou Research Institute Institute Of Electronics Chinese Academy Of Sciences
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 Suzhou Research Institute Institute Of Electronics Chinese Academy Of Sciences filed Critical Suzhou Research Institute Institute Of Electronics Chinese Academy Of Sciences
Priority to CN202010250833.9A priority Critical patent/CN111507885B/zh
Publication of CN111507885A publication Critical patent/CN111507885A/zh
Application granted granted Critical
Publication of CN111507885B publication Critical patent/CN111507885B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于最佳缓存空间计算的混合图元渲染方法,结合检索快表,确定通过CPU调用加载指令或者GPU渲染图元的方法将图元加载到综合态势环境中,并依据权重策略更新缓存序列和图元备份映射序列;每当渲染的图元属性集合的个数为预设最佳缓存空间推算基准值的整数倍,根据探索概率和缓存空间的调用次数判断渲染过程是否收敛,若收敛,则更新最佳缓存空间为中心点的缓存序列,更新缓存序列和图元备份映射序列,并根据预设的概率变化幅度降低探索概率;否则,保持缓存序列不变,并根据预设的概率变化幅度增加探索概率。本发明还提出了对应的混合图元渲染系统。本发明提升了图元的渲染效率,减少了不必要的硬件资源浪费。

Description

一种基于最佳缓存空间计算的混合图元渲染方法及系统
技术领域
本发明涉及图形计算领域,具体涉及一种基于最佳缓存空间计算的混合图元渲染方法及系统。
背景技术
伴随着信息化技术的快速发展,文字图标作为地理信息系统的一个重要组成部分,具备清晰直观、简易迅捷的诸多特点,是辅助展示分析目标区域综合态势情况的有效手段。在综合态势环境中,由于多源态势数据总量大的特性,接收到属性相同或曾经渲染过的文字图元的概率比较大,如果将待渲染的文字图元属性数据单纯的交予GPU计算,GPU将会重复渲染同一文字图元,尤其是针对复杂高级的图元渲染效果,将造成硬件资源的浪费。
为了减少不必要的硬件资源浪费,业界借鉴操作系统缓存快表的技术思想,利用缓存加载和GPU计算的混合方法,在内存设置图元映射表,在硬盘开辟一块缓存空间用于存储渲染过的文字图元,由CPU调用指令判断当前待渲染文字图元是否在缓存中留有备份,如果检测到备份则由CPU直接调取加载到综合态势场景;如果未检测到备份图元,则交由GPU处理渲染。这种方案利用缓存消除了GPU冗余的计算,但是从本地缓存调取图元数据涉及到备份检索及备份文字图元的加载,随着大量的文字图元属性数据传入OpenGL规范的渲染接口,所需空间不断扩大,造成文字图元备份平均检索时间延长,不能保证批量文字图元渲染时间最佳。因此还需要计算并设置最佳的缓存空间容量,提高文字绘制图元的渲染效率。
另外,缓存空间有限,缓存图元备份的筛选也是需要考虑的另一个问题。目前较为常用的缓存筛选机制是LRU,但这种机制并没有充分考虑文字图元的加载问题。
发明内容
本发明的目的在于提出一种基于最佳缓存空间计算的混合图元渲染方法及系统。
实现本发明目的的技术解决方案为:一种基于最佳缓存空间计算的混合图元渲染方法,包括如下步骤:
步骤1,初始化输入参数,包括缓存序列、缓存策略序列、图元备份映射序列、最佳缓存空间、检索快表、探索概率、待渲染图元集合序列、最佳缓存空间推算基准;
步骤2,选择渲染缓存并结合检索快表进行分类,对于缓存空间中与待渲染图元属性集合中图元相同的,则通过CPU调用加载指令,将该部分图元加载到综合态势环境中;对于缓存空间中与待渲染图元属性集合中图元不同的,则利用GPU渲染图元的方法将该部分图元属性集合呈现到综合态势环境中;然后记录本次待渲染图元属性集合渲染的总时间和缓存空间的调用次数,并依据权重策略更新缓存序列和图元备份映射序列;
步骤3,若完成渲染的图元属性集合的个数不是预设最佳缓存空间推算基准值的整数倍,则转至步骤2渲染下一个待渲染图元属性集合;否则,根据探索概率和缓存空间的调用次数,判断渲染过程是否收敛,若收敛,则更新最佳缓存空间为中心点的缓存序列,释放不再使用的缓存空间,将当前最佳缓存空间中的图元备份元素填充到新增的缓存空间,并更新图元备份映射序列;否则,保持缓存序列不变;
步骤4,若步骤3中判断渲染过程是收敛的,则根据预设的概率变化幅度降低探索概率;否则,增加探索概率;然后转至步骤2,渲染下一个待渲染图元属性集合。
进一步的,步骤1的具体实施步骤为:
S101,缓存序列初始化:设置辅助混合渲染图元的缓存空间,默认其中一个缓存为最佳缓存空间,设置缓存容量策略摆幅i,缓存容量步长Δs,初始缓存序列
Figure BDA0002435427500000021
其中,
Figure BDA0002435427500000022
对应的缓存策略序列为
Figure BDA0002435427500000023
S102,图元备份映射序列初始化:初始化缓存空间序列
Figure BDA0002435427500000024
所包含的图元备份元素
Figure BDA0002435427500000025
其中,E代表
Figure BDA0002435427500000026
中每个缓存空间所包含的图元备份元素集合;
S103,最佳缓存空间初始化:默认最佳策略Aopt=A(Bopt),即最佳缓存空间Bopt=B,多个缓存空间为探索最佳缓存空间提供强化学习范围,等同于强化学习中多臂赌博机的摇臂,初始默认选择缓存空间大小位于均值线的摇臂为最佳摇臂,即缓存序列
Figure BDA0002435427500000031
中的B;
S104,检索快表初始化:在内存空间设置一张快表,标记缓存序列
Figure BDA0002435427500000032
中各个缓存空间所对应的图元属性信息,通过快表,能够快速判断出某个图元元素是否存在于某个缓存空间,当缓存序列
Figure BDA0002435427500000033
中任何缓存空间所包含的图元发生了变化,需及时更新快表,保持快表与缓存序列
Figure BDA0002435427500000034
的精确映射关系;
S105,探索概率初始化:预设一个初始探索概率∈,剩余的概率空间为当前最佳缓存空间的使用概率1-∈,设置探索概率的上下限值分别为∈′,∈″,其中∈″≤∈≤∈′,预设的概率变化幅度为Δξ;
S106,待渲染图元集合序列初始化:假设将会有K个图元属性集合
Figure BDA0002435427500000035
等待渲染,则本次执行的是图元属性集合序列
Figure BDA0002435427500000036
的第j个图元属性集合,即Dj,初始状态j=1;
S107,推算最佳缓存空间临界点预设:预设用于推算最佳缓存空间的参数基准是M,即针对待渲染图元集合序列初始化中的
Figure BDA0002435427500000037
每当有M个集合元素被执行渲染后,进行最佳缓存空间的推算。
进一步的,步骤2的具体实施步骤为:
S201,选择渲染缓存:依据探索概率∈,决定执行探索或者最佳缓存行为,即确定待使用的缓存Bselect,鉴于此,将会出现两种情况:
(1)若探索概率大于初始化探索概率,则选择执行探索行为,这种情况,将会随机地从缓存序列
Figure BDA0002435427500000038
中选择一个缓存空间作为待使用的缓存,为了便于叙述,将被选中的缓存定义为Bexp,即Bselect=Bexp
(2)若探索概率不大于初始化探索概率,则选择执行最佳缓存行为,这种情况,将会直接选择最佳缓存空间作为待使用的缓存,即直接选择Bopt作为待使用的缓存,即Bselect=Bopt
S202,执行渲染工作:开始执行混合渲染工作,针对选出的缓存空间Bselect,将会面临两种情况:
(1)对于缓存空间Bselect中与本次待渲染图元属性集合
Figure BDA0002435427500000039
中图元相同的,则通过CPU调用加载指令,将该部分图元加载到综合态势环境中;
(2)对于缓存空间Bselect中与本次待渲染图元属性集合
Figure BDA0002435427500000041
中图元不同的,则利用GPU渲染图元的方法将该部分图元属性集合呈现到综合态势环境中;
S203,统计渲染时间:记录本次使用缓存空间Bselect执行混合渲染图元属性集合
Figure BDA0002435427500000042
渲染的总时间t(Bselect);
S204,统计缓存调用次数:记录缓存空间Bselect被调用的次数加1,即N(Bselect)=N(Bselect)+1,其中N用于表达缓存序列
Figure BDA00024354275000000416
中缓存被调用的次数,此时,j=j+1;
S205,更新缓存序列和图元备份映射序列:将本次渲染的图元属性集合Dj备份更新到图元备份映射序列
Figure BDA00024354275000000417
将遵循两个步骤:
(1)合并图元属性集合Dj和图元备份映射序列
Figure BDA00024354275000000418
Figure BDA00024354275000000419
即缓存包含的图元元素集合序列
Figure BDA0002435427500000043
(2)清空缓存序列
Figure BDA0002435427500000044
中缓存的空间,假设图元备份权重
Figure BDA0002435427500000045
其中f代表图元渲染的次数,v代表图元所需占据的缓存空间大小,n代表图元属性集合D元素个数,则依据权重从大到小的次序将
Figure BDA0002435427500000046
依次加入缓存序列
Figure BDA0002435427500000047
中对应的缓存空间,直到缓存序列
Figure BDA0002435427500000048
中各个缓存空间溢出为止;
S206,更新图元备份映射序列:根据目前缓存序列
Figure BDA0002435427500000049
中各个缓存空间包含的图元备份元素更新图元备份映射序列
Figure BDA00024354275000000410
即图元集合序列
Figure BDA00024354275000000411
代表缓存序列
Figure BDA00024354275000000412
中各个缓存空间所包含的图元备份元素,
Figure BDA00024354275000000413
中所包含的图元元素序列与存储在
Figure BDA00024354275000000414
中的图元元素序列一一对应。
进一步的,步骤3的具体实施步骤为:
S301,最佳缓存空间推算:经历渲染过程后,将面临两种情况:
(1)若渲染的次数j不是最佳缓存空间推算基准M的整数倍,即j%M≠0,则跳转到步骤2;
(2)若渲染的次数j为最佳缓存空间推算基准M的整数倍,即j%M=0,则会出现如下(a)(b)两种情况:
(a)若当前的缓存序列
Figure BDA00024354275000000415
中存在某一个缓存空间
Figure BDA00024354275000000420
被使用的次数
Figure BDA00024354275000000421
占据了全部M次的大部分概率空间,即缓存空间
Figure BDA00024354275000000520
在全部执行次数M中被调用的概率
Figure BDA00024354275000000523
时,规定
Figure BDA00024354275000000518
中M个集合被执行渲染的过程是收敛的,那么更新最佳缓存空间策略
Figure BDA00024354275000000522
最佳缓存空间
Figure BDA00024354275000000521
其中,δ是预设概率阈值,用于界限
Figure BDA0002435427500000051
中M个集合被执行渲染的过程是否收敛,概率
Figure BDA0002435427500000052
定义以
Figure BDA00024354275000000525
为中心点的缓存序列为
Figure BDA0002435427500000053
那么缓存序列
Figure BDA0002435427500000054
相对缓存序列
Figure BDA00024354275000000519
新增的缓存空间为
Figure BDA0002435427500000055
缓存序列
Figure BDA0002435427500000056
相对缓存序列
Figure BDA0002435427500000057
减少的缓存空间为
Figure BDA0002435427500000058
更新
Figure BDA0002435427500000059
并基于此,开展如下三步过程:释放不再使用的缓存空间,即
Figure BDA00024354275000000510
序列中包含的缓存空间;将当前最佳缓存空间Bopt中的图元备份元素填充到新增的缓存空间中,即
Figure BDA00024354275000000511
序列中所包含的缓存空间;更新图元备份映射序列
Figure BDA00024354275000000512
保持
Figure BDA00024354275000000513
Figure BDA00024354275000000514
中元素一致;
(b)若任一
Figure BDA00024354275000000515
的缓存空间均不满足缓存空间
Figure BDA00024354275000000526
在全部执行次数M中被调用的概率
Figure BDA00024354275000000524
那么规定
Figure BDA00024354275000000516
中M个集合被执行渲染的过程是离散的,据此,保持缓存序列
Figure BDA00024354275000000517
不变。
进一步的,步骤4的具体实施步骤为:
S401,探索概率调整:探索概率详细的调整流程如下:
(1)若步骤3中推算出的渲染过程是收敛的,则降低探索概率,即∈=∈-Δξ,若∈<∈″,则∈=∈″,其中∈″为探索概率下限,Δξ为预设的概率变化幅度;
(2)若步骤3中推算出的渲染过程是离散的,则增加探索概率,即∈=∈+Δξ,若∈>∈′,则∈=∈′,其中∈′为探索概率上限。
一种基于最佳缓存空间计算的混合图元渲染系统,包括:
输入参数初始化模块,用于初始化缓存序列、缓存策略序列、图元备份映射序列、最佳缓存空间、检索快表、探索概率、待渲染图元集合序列、最佳缓存空间推算基准;
渲染执行模块,用于选择渲染缓存并结合检索快表进行分类,对于缓存空间中与待渲染图元属性集合中图元相同的,则通过CPU调用加载指令,将该部分图元加载到综合态势环境中;对于缓存空间中与待渲染图元属性集合中图元不同的,则利用GPU渲染图元的方法将该部分图元属性集合呈现到综合态势环境中;然后记录本次待渲染图元属性集合渲染的总时间和缓存空间的调用次数,并依据权重策略更新缓存序列和图元备份映射序列;
最佳缓存空间推算模块,用于确定最佳缓存空间,若完成渲染的图元属性集合的个数不是预设最佳缓存空间推算基准值的整数倍,则渲染下一个待渲染图元属性集合;否则,根据探索概率和缓存空间的调用次数,判断渲染过程是否收敛,若收敛,则更新最佳缓存空间为中心点的缓存序列,释放不再使用的缓存空间,将当前最佳缓存空间中的图元备份元素填充到新增的缓存空间,并更新图元备份映射序列;否则,保持缓存序列不变;
探索概率调整模块,用于根据渲染过程的收敛情况,调整探索概率,若渲染过程是收敛的,则根据预设的概率变化幅度降低探索概率;否则,增加探索概率;然后利用渲染执行模块,渲染下一个待渲染图元属性集合。
进一步的,所述输入参数初始化模块的具体实施步骤为:
S101,缓存序列初始化:设置辅助混合渲染图元的缓存空间,默认其中一个缓存为最佳缓存空间,设置缓存容量策略摆幅i,缓存容量步长Δs,初始缓存序列
Figure BDA0002435427500000061
其中,
Figure BDA0002435427500000062
对应的缓存策略序列为
Figure BDA0002435427500000063
S102,图元备份映射序列初始化:初始化缓存空间序列
Figure BDA0002435427500000064
所包含的图元备份元素
Figure BDA0002435427500000065
其中,E代表
Figure BDA0002435427500000066
中每个缓存空间所包含的图元备份元素集合;
S103,最佳缓存空间初始化:默认最佳策略Aopt=A(Bopt),即最佳缓存空间Bopt=B,多个缓存空间为探索最佳缓存空间提供强化学习范围,等同于强化学习中多臂赌博机的摇臂,初始默认选择缓存空间大小位于均值线的摇臂为最佳摇臂,即缓存序列
Figure BDA0002435427500000067
中的B;
S104,检索快表初始化:在内存空间设置一张快表,标记缓存序列
Figure BDA0002435427500000068
中各个缓存空间所对应的图元属性信息,通过快表,能够快速判断出某个图元元素是否存在于某个缓存空间,当缓存序列
Figure BDA0002435427500000071
中任何缓存空间所包含的图元发生了变化,需及时更新快表,保持快表与缓存序列
Figure BDA0002435427500000072
的精确映射关系;
S105,探索概率初始化:预设一个初始探索概率∈,剩余的概率空间为当前最佳缓存空间的使用概率1-∈,设置探索概率的上下限值分别为∈′,∈″,其中∈″≤∈≤∈′,预设的概率变化幅度为Δξ;
S106,待渲染图元集合序列初始化:假设将会有K个图元属性集合
Figure BDA0002435427500000073
等待渲染,则本次执行的是图元属性集合序列
Figure BDA0002435427500000074
的第j个图元属性集合,即Dj,初始状态j=1;
S107,推算最佳缓存空间临界点预设:预设用于推算最佳缓存空间的参数基准是M,即针对待渲染图元集合序列初始化中的
Figure BDA0002435427500000075
每当有M个集合元素被执行渲染后,进行最佳缓存空间的推算。
进一步的,所述渲染执行模块的具体实施步骤为:
S201,选择渲染缓存:依据探索概率∈,决定执行探索或者最佳缓存行为,即确定待使用的缓存Bselect,鉴于此,将会出现两种情况:
(1)若探索概率大于初始化探索概率,则选择执行探索行为,这种情况,将会随机地从缓存序列
Figure BDA0002435427500000076
中选择一个缓存空间作为待使用的缓存,为了便于叙述,将被选中的缓存定义为Bexp,即Bselect=Bexp
(2)若探索概率不大于初始化探索概率,则选择执行最佳缓存行为,这种情况,将会直接选择最佳缓存空间作为待使用的缓存,即直接选择Bopt作为待使用的缓存,即Bselect=Bopt
S202,执行渲染工作:开始执行混合渲染工作,针对选出的缓存空间Bselect,将会面临两种情况:
(1)对于缓存空间Bselect中与本次待渲染图元属性集合
Figure BDA0002435427500000077
中图元相同的,则通过CPU调用加载指令,将该部分图元加载到综合态势环境中;
(2)对于缓存空间Bselect中与本次待渲染图元属性集合
Figure BDA0002435427500000078
中图元不同的,则利用GPU渲染图元的方法将该部分图元属性集合呈现到综合态势环境中;
S203,统计渲染时间:记录本次使用缓存空间Bselect执行混合渲染图元属性集合
Figure BDA0002435427500000081
渲染的总时间t(Bselect);
S204,统计缓存调用次数:记录缓存空间Bselect被调用的次数加1,即N(Bselect)=N(Bselect)+1,其中N用于表达缓存序列
Figure BDA0002435427500000082
中缓存被调用的次数,此时,j=j+1;
S205,更新缓存序列和图元备份映射序列:将本次渲染的图元属性集合Dj备份更新到图元备份映射序列
Figure BDA0002435427500000083
将遵循两个步骤:
(1)合并图元属性集合Dj和图元备份映射序列
Figure BDA0002435427500000084
Figure BDA0002435427500000085
即缓存包含的图元元素集合序列
Figure BDA0002435427500000086
(2)清空缓存序列
Figure BDA0002435427500000087
中缓存的空间,假设图元备份权重
Figure BDA0002435427500000088
其中f代表图元渲染的次数,v代表图元所需占据的缓存空间大小,n代表图元属性集合D元素个数,则依据权重从大到小的次序将
Figure BDA0002435427500000089
依次加入缓存序列
Figure BDA00024354275000000810
中对应的缓存空间,直到缓存序列
Figure BDA00024354275000000811
中各个缓存空间溢出为止;
S206,更新图元备份映射序列:根据目前缓存序列
Figure BDA00024354275000000812
中各个缓存空间包含的图元备份元素更新图元备份映射序列
Figure BDA00024354275000000813
即图元集合序列
Figure BDA00024354275000000814
代表缓存序列
Figure BDA00024354275000000815
中各个缓存空间所包含的图元备份元素,
Figure BDA00024354275000000816
中所包含的图元元素序列与存储在
Figure BDA00024354275000000817
中的图元元素序列一一对应。
进一步的,所述最佳缓存空间推算模块的具体实施步骤为:
S301,最佳缓存空间推算:经历渲染过程后,将面临两种情况:
(1)若渲染的次数j不是最佳缓存空间推算基准M的整数倍,即j%M≠0,则渲染下一个待渲染图元属性集合;
(2)若渲染的次数j为最佳缓存空间推算基准M的整数倍,即j%M=0,则会出现如下(a)(b)两种情况:
(a)若当前的缓存序列
Figure BDA00024354275000000818
中存在某一个缓存空间
Figure BDA00024354275000000820
被使用的次数
Figure BDA00024354275000000821
占据了全部M次的大部分概率空间,即缓存空间
Figure BDA00024354275000000823
在全部执行次数M中被调用的概率
Figure BDA00024354275000000822
时,规定
Figure BDA00024354275000000819
中M个集合被执行渲染的过程是收敛的,那么更新最佳缓存空间策略
Figure BDA00024354275000000920
最佳缓存空间
Figure BDA00024354275000000921
其中,δ是预设概率阈值,用于界限
Figure BDA0002435427500000091
中M个集合被执行渲染的过程是否收敛,概率
Figure BDA0002435427500000092
定义以
Figure BDA00024354275000000922
为中心点的缓存序列为
Figure BDA0002435427500000093
那么缓存序列
Figure BDA0002435427500000094
相对缓存序列
Figure BDA0002435427500000095
新增的缓存空间为
Figure BDA0002435427500000096
缓存序列
Figure BDA0002435427500000097
相对缓存序列
Figure BDA0002435427500000098
减少的缓存空间为
Figure BDA0002435427500000099
更新
Figure BDA00024354275000000910
并基于此,开展如下三步过程:释放不再使用的缓存空间,即
Figure BDA00024354275000000911
序列中包含的缓存空间;将当前最佳缓存空间Bopt中的图元备份元素填充到新增的缓存空间中,即
Figure BDA00024354275000000912
序列中所包含的缓存空间;更新图元备份映射序列
Figure BDA00024354275000000913
保持
Figure BDA00024354275000000914
Figure BDA00024354275000000915
中元素一致;
(b)若任一
Figure BDA00024354275000000916
的缓存空间均不满足缓存空间
Figure BDA00024354275000000923
在全部执行次数M中被调用的概率
Figure BDA00024354275000000919
那么规定
Figure BDA00024354275000000917
中M个集合被执行渲染的过程是离散的,据此,保持缓存序列
Figure BDA00024354275000000918
不变。
进一步的,所述探索概率调整模块的具体实施步骤为:
S401,探索概率调整:探索概率详细的调整流程如下:
(1)若推算出的渲染过程是收敛的,则降低探索概率,即∈=∈-Δξ,若∈<∈″,则∈=∈″,其中∈″为探索概率下限,Δξ为预设的概率变化幅度;
(2)若推算出的渲染过程是离散的,则增加探索概率,即∈=∈+Δξ,若∈>∈′,则∈=∈′,其中∈′为探索概率上限。
本发明与现有技术相比,其显著优点为:1)依据模型权重策略备份文字绘制图元到缓存,由CPU调用指令检索并加载缓存中存在的文字绘制图元到综合态势环境,由GPU执行渲染缓存中不存在的文字图元属性数据,这在一定程度上避免了GPU对已备份文字绘制图元的重复计算;2)针对近似分布的文字图元属性数据集合,通过贪心强化学习策略和蒙特卡罗采样技术,推算出利用GPU绘制文字图元与CPU加载缓存中文字图元的一个均衡点,即最佳缓存容量,保证了态势文字图元目标的展示效率。
附图说明
图1是本发明基于最佳缓存空间计算的混合图元渲染的流程图。
图2是多臂赌博机强化学习模式的最佳缓存探索原理图。
具体实施方式
下面结合附图和具体实施例,进一步说明本发明方案。
为了提升图元的渲染效率,减少不必要的硬件资源浪费,本发明设计一种基于最佳缓存空间计算的混合图元渲染方法,对于在缓存空间中存有备份的图元,通过CPU调用指令加载到态势环境中;而对于在缓存空间中不存在备份的图元,则通过GPU的渲染方法将图元呈现到态势环境。利用本发明设计的方法,通过大量的具有相似分布的数据训练集(图元属性数据)不断的进行强化学习,直到策略收敛(探寻到最佳缓存),如果本发明推算出的缓存空间不断的减小,那么说明近似分布的文字图元数据的渲染效率更加依赖GPU计算;反之,如果缓存空间不断的增加,说明近似分布的文字图元数据的渲染效率更加依赖于CPU的检索加载。如此一来,可以寻找到近似分布文字图元属性数据集渲染的效率均衡点,即文字渲染图元备份缓存的大小。如果待渲染的图元属性数据趋于离散,本发明会提升寻找最佳缓存策略的力度,最大化渲染效率。本发明涉及到贪心强化学习策略技术,模仿多臂赌博机,设置多个缓存空间用于探索最佳缓存,通过基于贪心策略的强化学习方法,模型可以探索到哪种策略(增加缓存策略、减小缓存的策略、维持缓存不变策略)对文字图元的渲染效率更加有利。
基于最佳缓存空间计算的混合图元渲染方法,操作详细流程参见图1,具体步骤如下:
步骤100:初始化基于最佳缓存空间计算的混合图元渲染方法的输入参数。
详细步骤包括:
缓存序列初始化101:初始化设置辅助混合渲染图元的多个缓存空间,默认其中一个缓存为最佳缓存空间,为了便于叙述,设置缓存容量策略摆幅i,缓存容量步长Δs,初始缓存容量
Figure BDA0002435427500000101
其中,
Figure BDA0002435427500000102
对应的缓存策略序列为
Figure BDA0002435427500000103
缓存备份图元映射序列初始化102:缓存空间序列
Figure BDA0002435427500000106
所包含的图元备份元素定义为
Figure BDA0002435427500000104
其中,E代表
Figure BDA0002435427500000105
中每个缓存空间所包含的图元备份元素集合。
最佳缓存空间初始化103:默认最佳策略Aopt=A(Bopi),即最佳缓存空间Bopt=B,多个缓存空间为探索最佳缓存空间提供强化学习范围,等同于强化学习中多臂赌博机的摇臂,如图2所示的缓存容量策略。初始默认选择缓存空间大小位于均值线的摇臂为最佳摇臂,即缓存序列
Figure BDA0002435427500000111
中的B。
检索快表方法104:在内存空间设置一张快表,标记缓存序列
Figure BDA0002435427500000116
中各个缓存空间所对应的图元属性信息。通过快表,可以快速判断出某个图元元素是否存在于某个缓存空间,当缓存序列
Figure BDA0002435427500000117
中任何缓存空间所包含的图元发生了变化,需及时更新快表,保持快表与缓存序列
Figure BDA0002435427500000118
的精确映射关系。
探索概率初始化105:预设一个初始探索概率∈,剩余的概率空间为当前最佳缓存空间的使用概率1-∈,设置探索概率的上下限值分别为∈′,∈″,其中∈″≤∈≤∈′。
待渲染图元集合序列初始化106:定义在未来很长的一段时间内,假设将会有K个图元属性集合
Figure BDA0002435427500000112
等待渲染,本次执行的是图元属性集合序列
Figure BDA0002435427500000113
的第j个图元属性集合,即Dj,初始状态j=1。
推算最佳缓存空间临界点预设107:定义M是预设的用于推算最佳缓存空间的参数基准,即针对待渲染图元集合序列初始化106中的
Figure BDA0002435427500000114
每当有M个集合元素被执行渲染后,进行最佳缓存空间的推算。
步骤200:开始执行渲染工作,具体过程包括:
选择渲染缓存201:依据步骤100的探索概率∈,决定执行哪种行为,即确定待使用的缓存Bselect,鉴于此,将会出现两种情况:
(1)选择执行探索行为,这种情况,将会随机地从步骤100缓存空间序列
Figure BDA0002435427500000115
中选择一个缓存空间作为待使用的缓存,为了便于叙述,将被选中的缓存定义为Bexp,即Bselect=Bexp
(2)选择执行最佳缓存行为,这种情况,将会直接选择最佳缓存空间作为待使用的缓存,即直接选择步骤100中的Bopt作为待使用的缓存,即Bselect=Bopt
执行渲染工作202:开始执行混合渲染工作,针对选出的缓存空间Bselect,将会面临两种情况:
(1)对于缓存空间Bselect中与图元属性集合
Figure BDA0002435427500000121
中图元相同的,则通过CPU调用加载指令,将该部分图元加载到综合态势环境中;
(2)对于缓存空间Bselect中与图元属性集合
Figure BDA0002435427500000122
中图元不同的,则利用GPU渲染图元的方法将该部分图元属性集合呈现到综合态势环境中。
统计渲染时间203:记录本次使用缓存空间Bselect执行混合渲染图元属性集合
Figure BDA0002435427500000123
渲染的总时间t(Bselect)。
统计缓存调用次数204:记录缓存空间Bselect被调用的次数加1,即N(Bselect)=N(Bselect)+1,其中N用于表达步骤100中缓存序列
Figure BDA00024354275000001214
中缓存被调用的次数,此时,j=j+1。
更新缓存序列图元备份205:依据权重策略更新缓存序列,充分考虑单个图元备份的使用频率和所需缓存容量,举例说明,定义图元属性集合D中图元备份元素的权重为
Figure BDA0002435427500000124
其中f代表图元渲染的次数,v代表图元所需占据的缓存空间大小,n代表图元属性集合D元素个数。
由步骤100中缓存序列
Figure BDA0002435427500000125
中所包含的图元备份集合序列
Figure BDA0002435427500000126
那么图元属性集合为Dj备份更新到集合序列
Figure BDA0002435427500000127
将遵循两个步骤:
(1)合并图元属性集合Dj和图元备份集合序列
Figure BDA0002435427500000128
Figure BDA0002435427500000129
即缓存包含的图元元素集合序列
Figure BDA00024354275000001210
(2)清空缓存序列
Figure BDA00024354275000001215
中缓存的空间,依据上述公式(1)中的图元备份权重的算法
Figure BDA00024354275000001211
依据权重从大到小的次序将
Figure BDA00024354275000001212
依次加入缓存序列
Figure BDA00024354275000001213
中对应的缓存空间,直到缓存序列
Figure BDA0002435427500000131
中各个缓存空间溢出为止。
更新图元备份映射序列206:根据目前缓存序列
Figure BDA0002435427500000132
中各个缓存空间包含的图元备份元素更新集合序列
Figure BDA0002435427500000133
即图元集合序列
Figure BDA0002435427500000134
代表缓存序列
Figure BDA0002435427500000135
中各个缓存空间所包含的图元备份元素,
Figure BDA0002435427500000136
中所包含的图元元素序列与存储在
Figure BDA0002435427500000137
中的图元元素序列一一对应。
步骤300:进行最佳缓存空间的推算。其中,
Figure BDA0002435427500000138
是步骤100中待渲染的图元属性集合序列,K是序列
Figure BDA0002435427500000139
所包含的图元集合数,M是预设的推算缓存空间的临界值,参见步骤100中的107,且M<<K。具体情形包括:
最佳缓存空间推算301:经历步骤200的渲染过程后,将面临两种情况:
(1)若步骤100中j不是M的整数倍,即j%M≠0,那么跳转到步骤200;
(2)若步骤100中j恰为M的整数倍,即j%M=0。依据蒙特卡罗概率思想(参阅图2中蒙特卡罗思想使用方法),将会出现如下(a)(b)两种情况:
(a)若当前的缓存序列
Figure BDA00024354275000001310
中存在某一个缓存空间
Figure BDA00024354275000001332
被使用的次数
Figure BDA00024354275000001333
占据了全部M次的大部分概率空间,即缓存空间
Figure BDA00024354275000001335
在全部执行次数M中被调用的概率
Figure BDA00024354275000001334
时,规定
Figure BDA00024354275000001326
中M个集合被执行渲染的过程是收敛的,那么步骤100中的最佳缓存空间策略
Figure BDA00024354275000001328
最佳缓存空间
Figure BDA00024354275000001329
其中,δ是预设概率阈值,用于界限
Figure BDA00024354275000001311
中M个集合被执行渲染的过程是否收敛,概率
Figure BDA00024354275000001312
Figure BDA00024354275000001330
在步骤200中具备详细的统计过程。定义以
Figure BDA00024354275000001331
为中心点的缓存容量序列为
Figure BDA00024354275000001313
那么缓存容量序列
Figure BDA00024354275000001314
相对步骤100中的缓存容量序列
Figure BDA00024354275000001327
新增的缓存空间为
Figure BDA00024354275000001315
Figure BDA00024354275000001316
缓存容量序列
Figure BDA00024354275000001317
相对步骤100中的缓存容量序列
Figure BDA00024354275000001318
减少的缓存空间为
Figure BDA00024354275000001319
更新
Figure BDA00024354275000001320
基于此,开展如下三步过程:释放不再使用的缓存空间,即
Figure BDA00024354275000001321
序列中包含的缓存空间;将当前最佳缓存空间Bopt中的图元备份元素填充到新增的缓存空间中,即
Figure BDA00024354275000001322
序列中所包含的缓存空间,填充流程参照步骤200中依据权重存储图元到缓存空间的方法,参见205;更新步骤100中定义的图元集合序列
Figure BDA00024354275000001323
保持
Figure BDA00024354275000001324
Figure BDA00024354275000001325
中元素一致。
(b)若任一
Figure BDA0002435427500000141
的缓存空间均不满足缓存空间
Figure BDA00024354275000001411
在全部执行次数M中被调用的概率
Figure BDA00024354275000001410
那么规定
Figure BDA0002435427500000142
中M个集合被执行渲染的过程是离散的,据此,保持步骤100中的缓存容量序列
Figure BDA0002435427500000143
不变。
步骤400:依据执行混合渲染的最佳缓存Bopt在步骤300中是否发生变更的标准,对步骤200中的探索概率进行如下调整,以保持本发明的持续学习能力。简言之,设置步骤200中的探索及使用最佳缓存空间策略的概率在合理区间:
(1)若在步骤300推算出的渲染过程是收敛的,说明
Figure BDA0002435427500000144
中的M个图元属性集合被执行渲染工作后,已经找到了缓存容量序列
Figure BDA0002435427500000145
范围内的最佳缓存,降低步骤2中的探索概率,增加最佳缓存空间的使用概率,在一定程度上提升了混合渲染的效率。
(2)若在步骤300推算出的渲染过程是离散的,说明
Figure BDA0002435427500000146
中的M个图元属性集合被执行渲染工作后,并未在缓存容量序列
Figure BDA0002435427500000147
范围内中找到符合步骤300中蒙特卡罗阈值δ的要求最佳缓存,此时增加步骤200中的探索概率将会在一定程度上加快缓存容量序列
Figure BDA0002435427500000149
范围内的最佳缓存的探寻速度。
探索概率调整401:步骤200中探索概率详细的调整流程如下:
(1)若步骤300中推算出的渲染过程是收敛的,则降低步骤200中的探索概率,即∈=∈-Δξ,若∈<∈″,则∈=∈″,其中∈″为步骤200中的探索概率下限,Δξ为预设的概率变化幅度。
(2)若步骤300中推算出的渲染过程是离散的,则增加步骤200中的探索概率,即∈=∈+Δξ,若∈>∈′,则∈=∈′,其中∈′为步骤200中的探索概率上限。
步骤500:判断渲染过程是否结束。
渲染过程结束判断501:判断渲染过程是否结束,分为两种情况:
(1)若步骤100中的待渲染的图元属性集合尚存在未被渲染的集合,即j<K,则转至步骤200继续渲染。
(2)若步骤100中的待渲染的图元属性集合全部渲染完毕,即
Figure BDA0002435427500000148
则结束整个渲染过程。

Claims (10)

1.一种基于最佳缓存空间计算的混合图元渲染方法,其特征在于,包括如下步骤:
步骤1,初始化输入参数,包括缓存序列、缓存策略序列、图元备份映射序列、最佳缓存空间、检索快表、探索概率、待渲染图元集合序列、最佳缓存空间推算基准;
步骤2,选择渲染缓存并结合检索快表进行分类,对于缓存空间中与待渲染图元属性集合中图元相同的,则通过CPU调用加载指令,将该部分图元加载到综合态势环境中;对于缓存空间中与待渲染图元属性集合中图元不同的,则利用GPU渲染图元的方法将该部分图元属性集合呈现到综合态势环境中;然后记录本次待渲染图元属性集合渲染的总时间和缓存空间的调用次数,并依据权重策略更新缓存序列和图元备份映射序列;
步骤3,若完成渲染的图元属性集合的个数不是预设最佳缓存空间推算基准值的整数倍,则转至步骤2渲染下一个待渲染图元属性集合;否则,根据探索概率和缓存空间的调用次数,判断渲染过程是否收敛,若收敛,则更新最佳缓存空间为中心点的缓存序列,释放不再使用的缓存空间,将当前最佳缓存空间中的图元备份元素填充到新增的缓存空间,并更新图元备份映射序列;否则,保持缓存序列不变;
步骤4,若步骤3中判断渲染过程是收敛的,则根据预设的概率变化幅度降低探索概率;否则,增加探索概率;然后转至步骤2,渲染下一个待渲染图元属性集合。
2.根据权利要求1所述的基于最佳缓存空间计算的混合图元渲染方法,其特征在于,步骤1的具体实施步骤为:
S101,缓存序列初始化:设置辅助混合渲染图元的缓存空间,默认其中一个缓存为最佳缓存空间,设置缓存容量策略摆幅i,缓存容量步长Δs,初始缓存序列
Figure FDA0003923455560000011
其中,
Figure FDA0003923455560000012
对应的缓存策略序列为
Figure FDA0003923455560000013
S102,图元备份映射序列初始化:初始化缓存序列
Figure FDA0003923455560000015
所包含的图元备份映射序列
Figure FDA0003923455560000014
S103,最佳缓存空间初始化:默认最佳策略Aopt=A(Bopt),即最佳缓存空间Bopt=B,多个缓存空间为探索最佳缓存空间提供强化学习范围,等同于强化学习中多臂赌博机的摇臂,初始默认选择缓存空间大小位于均值线的摇臂为最佳摇臂,即缓存序列
Figure FDA0003923455560000021
中的B;
S104,检索快表初始化:在内存空间设置一张快表,标记缓存序列
Figure FDA0003923455560000022
中各个缓存空间所对应的图元属性信息,通过快表,能够快速判断出某个图元元素是否存在于某个缓存空间,当缓存序列
Figure FDA0003923455560000023
中任何缓存空间所包含的图元发生了变化,需及时更新快表,保持快表与缓存序列
Figure FDA0003923455560000024
的精确映射关系;
S105,探索概率初始化:预设一个初始探索概率∈,剩余的概率空间为当前最佳缓存空间的使用概率1-∈,设置探索概率的上下限值分别为∈′,∈″,其中∈″≤∈≤∈′,预设的概率变化幅度为Δξ;
S106,待渲染图元集合序列初始化:假设将会有K个图元属性集合
Figure FDA0003923455560000025
Figure FDA0003923455560000026
等待渲染,则本次执行的是图元属性集合序列
Figure FDA0003923455560000027
的第j个图元属性集合,即Dj,初始状态j=1;
S107,推算最佳缓存空间临界点预设:预设用于推算最佳缓存空间的参数基准是M,即针对待渲染图元集合序列初始化中的
Figure FDA0003923455560000028
每当有M个集合元素被执行渲染后,进行最佳缓存空间的推算。
3.根据权利要求1所述的基于最佳缓存空间计算的混合图元渲染方法,其特征在于,步骤2的具体实施步骤为:
S201,选择渲染缓存:依据初始探索概率∈,决定执行探索或者最佳缓存行为,即确定待使用的缓存Bselect,鉴于此,将会出现两种情况:
(1)若探索概率大于初始化探索概率,则选择执行探索行为,这种情况,将会随机地从缓存序列
Figure FDA0003923455560000029
中选择一个缓存空间作为待使用的缓存,为了便于叙述,将被选中的缓存定义为Bexp,即Bselect=Bexp
(2)若探索概率不大于初始化探索概率,则选择执行最佳缓存行为,这种情况,将会直接选择最佳缓存空间作为待使用的缓存,即直接选择Bopt作为待使用的缓存,即Bselect=Bopt
S202,执行渲染工作:开始执行混合渲染工作,针对选出的缓存空间Bselect,将会面临两种情况:
(1)对于缓存空间Bselect中与本次待渲染图元属性集合
Figure FDA0003923455560000031
中图元相同的,则通过CPU调用加载指令,将该部分图元加载到综合态势环境中;
(2)对于缓存空间Bselect中与本次待渲染图元属性集合
Figure FDA0003923455560000032
中图元不同的,则利用GPU渲染图元的方法将该部分图元属性集合呈现到综合态势环境中;
S203,统计渲染时间:记录本次使用缓存空间Bselect执行混合渲染图元属性集合
Figure FDA0003923455560000033
渲染的总时间t(Bselect);
S204,统计缓存调用次数:记录缓存空间Bselect被调用的次数加1,即N(Bselect)=N(Bselect)+1,其中N用于表达缓存序列
Figure FDA0003923455560000034
中缓存被调用的次数,此时,j=j+1;
S205,更新缓存序列和图元备份映射序列:将本次渲染的图元属性集合
Figure FDA0003923455560000035
备份更新到图元备份映射序列
Figure FDA0003923455560000036
将遵循两个步骤:
(1)合并图元属性集合
Figure FDA0003923455560000037
和图元备份映射序列
Figure FDA00039234555600000320
Figure FDA0003923455560000038
即缓存包含的图元元素集合序列
Figure FDA0003923455560000039
(2)清空缓存序列
Figure FDA00039234555600000310
中缓存的空间,假设图元备份权重
Figure FDA00039234555600000311
其中f代表图元渲染的次数,v代表图元所需占据的缓存空间大小,n代表图元属性集合
Figure FDA00039234555600000312
元素个数,则依据权重从大到小的次序将
Figure FDA00039234555600000313
依次加入缓存序列
Figure FDA00039234555600000314
中对应的缓存空间,直到缓存序列
Figure FDA00039234555600000321
中各个缓存空间溢出为止;
S206,更新图元备份映射序列:根据目前缓存序列
Figure FDA00039234555600000315
中各个缓存空间包含的图元备份元素更新图元备份映射序列
Figure FDA00039234555600000316
即图元备份映射序列
Figure FDA00039234555600000322
代表缓存序列
Figure FDA00039234555600000317
中各个缓存空间所包含的图元备份元素,
Figure FDA00039234555600000318
中所包含的图元元素序列与存储在
Figure FDA00039234555600000319
中的图元元素序列一一对应。
4.根据权利要求1所述的基于最佳缓存空间计算的混合图元渲染方法,其特征在于,步骤3的具体实施步骤为:
S301,最佳缓存空间推算:经历渲染过程后,将面临两种情况:
(1)若渲染的次数j不是最佳缓存空间推算基准M的整数倍,即j%M≠0,则跳转到步骤2;
(2)若渲染的次数j为最佳缓存空间推算基准M的整数倍,即j%M=0,则会出现如下(a)(b)两种情况:
(a)若当前的缓存序列
Figure FDA0003923455560000041
中存在某一个缓存空间
Figure FDA0003923455560000042
被使用的次数
Figure FDA0003923455560000043
占据了全部M次的大部分概率空间,即缓存空间
Figure FDA0003923455560000044
在全部执行次数M中被调用的概率
Figure FDA0003923455560000045
时,规定
Figure FDA0003923455560000046
中M个集合被执行渲染的过程是收敛的,那么更新最佳缓存空间策略
Figure FDA0003923455560000047
最佳缓存空间
Figure FDA0003923455560000048
其中,δ是预设概率阈值,用于界限
Figure FDA0003923455560000049
中M个集合被执行渲染的过程是否收敛,概率
Figure FDA00039234555600000410
定义以
Figure FDA00039234555600000411
为中心点的缓存序列为
Figure FDA00039234555600000412
Figure FDA00039234555600000413
那么缓存序列
Figure FDA00039234555600000414
相对缓存序列
Figure FDA00039234555600000415
新增的缓存空间为
Figure FDA00039234555600000416
缓存序列
Figure FDA00039234555600000417
相对缓存序列
Figure FDA00039234555600000418
减少的缓存空间为
Figure FDA00039234555600000419
Figure FDA00039234555600000420
更新
Figure FDA00039234555600000421
并基于此,开展如下三步过程:释放不再使用的缓存空间,即
Figure FDA00039234555600000422
序列中包含的缓存空间;将当前最佳缓存空间Bopt中的图元备份元素填充到新增的缓存空间中,即
Figure FDA00039234555600000423
序列中所包含的缓存空间;更新图元备份映射序列
Figure FDA00039234555600000424
保持
Figure FDA00039234555600000425
Figure FDA00039234555600000426
中元素一致;
(b)若任一
Figure FDA00039234555600000427
的缓存空间均不满足缓存空间
Figure FDA00039234555600000428
在全部执行次数M中被调用的概率
Figure FDA00039234555600000429
那么规定
Figure FDA00039234555600000430
中M个集合被执行渲染的过程是离散的,据此,保持缓存序列
Figure FDA00039234555600000431
不变。
5.根据权利要求1所述的基于最佳缓存空间计算的混合图元渲染方法,其特征在于,步骤4的具体实施步骤为:
S401,探索概率调整:探索概率详细的调整流程如下:
(1)若步骤3中推算出的渲染过程是收敛的,则降低探索概率,即∈=∈-Δξ,若∈<∈″,则∈=∈″,其中∈″为探索概率下限,Δξ为预设的概率变化幅度;
(2)若步骤3中推算出的渲染过程是离散的,则增加探索概率,即∈=∈+Δξ,若∈>∈′,则∈=∈′,其中∈′为探索概率上限。
6.一种基于最佳缓存空间计算的混合图元渲染系统,其特征在于,包括:
输入参数初始化模块,用于初始化缓存序列、缓存策略序列、图元备份映射序列、最佳缓存空间、检索快表、探索概率、待渲染图元集合序列、最佳缓存空间推算基准;
渲染执行模块,用于选择渲染缓存并结合检索快表进行分类,对于缓存空间中与待渲染图元属性集合中图元相同的,则通过CPU调用加载指令,将该部分图元加载到综合态势环境中;对于缓存空间中与待渲染图元属性集合中图元不同的,则利用GPU渲染图元的方法将该部分图元属性集合呈现到综合态势环境中;然后记录本次待渲染图元属性集合渲染的总时间和缓存空间的调用次数,并依据权重策略更新缓存序列和图元备份映射序列;
最佳缓存空间推算模块,用于确定最佳缓存空间,若完成渲染的图元属性集合的个数不是预设最佳缓存空间推算基准值的整数倍,则渲染下一个待渲染图元属性集合;否则,根据探索概率和缓存空间的调用次数,判断渲染过程是否收敛,若收敛,则更新最佳缓存空间为中心点的缓存序列,释放不再使用的缓存空间,将当前最佳缓存空间中的图元备份元素填充到新增的缓存空间,并更新图元备份映射序列;否则,保持缓存序列不变;
探索概率调整模块,用于根据渲染过程的收敛情况,调整探索概率,若渲染过程是收敛的,则根据预设的概率变化幅度降低探索概率;否则,增加探索概率;然后利用渲染执行模块,渲染下一个待渲染图元属性集合。
7.根据权利要求6所述的基于最佳缓存空间计算的混合图元渲染系统,其特征在于,所述输入参数初始化模块的具体实施步骤为:
S101,缓存序列初始化:设置辅助混合渲染图元的缓存空间,默认其中一个缓存为最佳缓存空间,设置缓存容量策略摆幅i,缓存容量步长Δs,初始缓存序列
Figure FDA0003923455560000051
其中,
Figure FDA0003923455560000052
对应的缓存策略序列为
Figure FDA0003923455560000053
S102,图元备份映射序列初始化:初始化缓存序列
Figure FDA0003923455560000056
所包含的图元备份映射序列
Figure FDA0003923455560000054
S103,最佳缓存空间初始化:默认最佳策略Aopt=A(Bopt)即最佳缓存空间Bopt=B,多个缓存空间为探索最佳缓存空间提供强化学习范围,等同于强化学习中多臂赌博机的摇臂,初始默认选择缓存空间大小位于均值线的摇臂为最佳摇臂,即缓存序列
Figure FDA0003923455560000061
中的B;
S104,检索快表初始化:在内存空间设置一张快表,标记缓存序列
Figure FDA0003923455560000062
中各个缓存空间所对应的图元属性信息,通过快表,能够快速判断出某个图元元素是否存在于某个缓存空间,当缓存序列
Figure FDA0003923455560000063
中任何缓存空间所包含的图元发生了变化,需及时更新快表,保持快表与缓存序列
Figure FDA0003923455560000064
的精确映射关系;
S105,探索概率初始化:预设一个初始探索概率∈,剩余的概率空间为当前最佳缓存空间的使用概率1-∈,设置探索概率的上下限值分别为∈′,∈″,其中∈″≤∈≤∈′,预设的概率变化幅度为Δξ;
S106,待渲染图元集合序列初始化:假设将会有K个图元属性集合
Figure FDA0003923455560000065
Figure FDA0003923455560000066
等待渲染,则本次执行的是图元属性集合序列
Figure FDA0003923455560000067
的第j个图元属性集合,即Dj,初始状态j=1;
S107,推算最佳缓存空间临界点预设:预设用于推算最佳缓存空间的参数基准是M,即针对待渲染图元集合序列初始化中的
Figure FDA0003923455560000068
每当有M个集合元素被执行渲染后,进行最佳缓存空间的推算。
8.根据权利要求6所述的基于最佳缓存空间计算的混合图元渲染系统,其特征在于,所述渲染执行模块的具体实施步骤为:
S201,选择渲染缓存:依据初始探索概率∈,决定执行探索或者最佳缓存行为,即确定待使用的缓存Bselect,鉴于此,将会出现两种情况:
(1)若探索概率大于初始化探索概率,则选择执行探索行为,这种情况,将会随机地从缓存序列
Figure FDA0003923455560000069
中选择一个缓存空间作为待使用的缓存,为了便于叙述,将被选中的缓存定义为Bexp,即Bselect=Bexp
(2)若探索概率不大于初始化探索概率,则选择执行最佳缓存行为,这种情况,将会直接选择最佳缓存空间作为待使用的缓存,即直接选择Bopt作为待使用的缓存,即Bselect=Bopt
S202,执行渲染工作:开始执行混合渲染工作,针对选出的缓存空间Bselect,将会面临两种情况:
(1)对于缓存空间Bselect中与本次待渲染图元属性集合
Figure FDA0003923455560000071
中图元相同的,则通过CPU调用加载指令,将该部分图元加载到综合态势环境中;
(2)对于缓存空间Bselect中与本次待渲染图元属性集合
Figure FDA0003923455560000072
中图元不同的,则利用GPU渲染图元的方法将该部分图元属性集合呈现到综合态势环境中;
S203,统计渲染时间:记录本次使用缓存空间Bselect执行混合渲染图元属性集合
Figure FDA00039234555600000721
渲染的总时间t(Bselect);
S204,统计缓存调用次数:记录缓存空间Bselect被调用的次数加1,即N(Bselect)=N(Bselect)+1,其中N用于表达缓存序列
Figure FDA0003923455560000073
中缓存被调用的次数,此时,j=j+1;
S205,更新缓存序列和图元备份映射序列:将本次渲染的图元属性集合
Figure FDA0003923455560000074
备份更新到图元备份映射序列
Figure FDA0003923455560000075
将遵循两个步骤:
(1)合并图元属性集合
Figure FDA0003923455560000076
和图元备份映射序列
Figure FDA0003923455560000077
Figure FDA0003923455560000078
即缓存包含的图元元素集合序列
Figure FDA0003923455560000079
(2)清空缓存序列
Figure FDA00039234555600000710
中缓存的空间,假设图元备份权重
Figure FDA00039234555600000711
其中f代表图元渲染的次数,v代表图元所需占据的缓存空间大小,n代表图元属性集合
Figure FDA00039234555600000712
元素个数,则依据权重从大到小的次序将
Figure FDA00039234555600000713
依次加入缓存序列
Figure FDA00039234555600000714
中对应的缓存空间,直到缓存序列
Figure FDA00039234555600000715
中各个缓存空间溢出为止;
S206,更新图元备份映射序列:根据目前缓存序列
Figure FDA00039234555600000716
中各个缓存空间包含的图元备份元素更新图元备份映射序列
Figure FDA00039234555600000717
即图元备份映射序列
Figure FDA00039234555600000722
代表缓存序列
Figure FDA00039234555600000718
中各个缓存空间所包含的图元备份元素,
Figure FDA00039234555600000719
中所包含的图元元素序列与存储在
Figure FDA00039234555600000720
中的图元元素序列一一对应。
9.根据权利要求6所述的基于最佳缓存空间计算的混合图元渲染系统,其特征在于,所述最佳缓存空间推算模块的具体实施步骤为:
S301,最佳缓存空间推算:经历渲染过程后,将面临两种情况:
(1)若渲染的次数j不是最佳缓存空间推算基准M的整数倍,即j%M≠0,则渲染下一个待渲染图元属性集合;
(2)若渲染的次数j为最佳缓存空间推算基准M的整数倍,即j%M=0,则会出现如下(a)(b)两种情况:
(a)若当前的缓存序列
Figure FDA0003923455560000081
中存在某一个缓存空间
Figure FDA0003923455560000082
被使用的次数
Figure FDA0003923455560000083
占据了全部M次的大部分概率空间,即缓存空间
Figure FDA0003923455560000084
在全部执行次数M中被调用的概率
Figure FDA0003923455560000085
时,规定
Figure FDA0003923455560000086
中M个集合被执行渲染的过程是收敛的,那么更新最佳缓存空间策略
Figure FDA0003923455560000087
最佳缓存空间
Figure FDA0003923455560000088
其中,δ是预设概率阈值,用于界限
Figure FDA0003923455560000089
中M个集合被执行渲染的过程是否收敛,概率
Figure FDA00039234555600000810
定义以
Figure FDA00039234555600000811
为中心点的缓存序列为
Figure FDA00039234555600000812
Figure FDA00039234555600000813
那么缓存序列
Figure FDA00039234555600000814
相对缓存序列
Figure FDA00039234555600000815
新增的缓存空间为
Figure FDA00039234555600000816
缓存序列
Figure FDA00039234555600000817
相对缓存序列
Figure FDA00039234555600000818
减少的缓存空间为
Figure FDA00039234555600000819
Figure FDA00039234555600000820
更新
Figure FDA00039234555600000821
并基于此,开展如下三步过程:释放不再使用的缓存空间,即
Figure FDA00039234555600000822
序列中包含的缓存空间;将当前最佳缓存空间Bopt中的图元备份元素填充到新增的缓存空间中,即
Figure FDA00039234555600000823
序列中所包含的缓存空间;更新图元备份映射序列
Figure FDA00039234555600000824
保持
Figure FDA00039234555600000825
Figure FDA00039234555600000826
中元素一致;
(b)若任一
Figure FDA00039234555600000827
的缓存空间均不满足缓存空间
Figure FDA00039234555600000828
在全部执行次数M中被调用的概率
Figure FDA00039234555600000829
那么规定
Figure FDA00039234555600000830
中M个集合被执行渲染的过程是离散的,据此,保持缓存序列
Figure FDA00039234555600000831
不变。
10.根据权利要求6所述的基于最佳缓存空间计算的混合图元渲染系统,其特征在于,所述探索概率调整模块的具体实施步骤为:
S401,探索概率调整:探索概率详细的调整流程如下:
(1)若推算出的渲染过程是收敛的,则降低探索概率,即∈=∈-Δξ,若∈<∈″,则∈=∈″,其中∈″为探索概率下限,Δξ为预设的概率变化幅度;
(2)若推算出的渲染过程是离散的,则增加探索概率,即∈=∈+Δξ,若∈>∈′,则∈=∈′,其中∈′为探索概率上限。
CN202010250833.9A 2020-04-01 2020-04-01 一种基于最佳缓存空间计算的混合图元渲染方法及系统 Active CN111507885B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010250833.9A CN111507885B (zh) 2020-04-01 2020-04-01 一种基于最佳缓存空间计算的混合图元渲染方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010250833.9A CN111507885B (zh) 2020-04-01 2020-04-01 一种基于最佳缓存空间计算的混合图元渲染方法及系统

Publications (2)

Publication Number Publication Date
CN111507885A CN111507885A (zh) 2020-08-07
CN111507885B true CN111507885B (zh) 2023-03-31

Family

ID=71875931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010250833.9A Active CN111507885B (zh) 2020-04-01 2020-04-01 一种基于最佳缓存空间计算的混合图元渲染方法及系统

Country Status (1)

Country Link
CN (1) CN111507885B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256739B (zh) * 2020-11-12 2022-11-18 同济大学 一种基于多臂赌博机的动态流大数据中数据项筛选方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070146380A1 (en) * 2003-08-21 2007-06-28 Jorn Nystad Differential encoding using a 3d graphics processor
US20080094408A1 (en) * 2006-10-24 2008-04-24 Xiaoqin Yin System and Method for Geometry Graphics Processing
CN101754039A (zh) * 2009-12-22 2010-06-23 中国科学技术大学 面向移动设备的3d参数解码系统
CN103810742A (zh) * 2012-11-05 2014-05-21 正谓有限公司 图像渲染方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070146380A1 (en) * 2003-08-21 2007-06-28 Jorn Nystad Differential encoding using a 3d graphics processor
US20080094408A1 (en) * 2006-10-24 2008-04-24 Xiaoqin Yin System and Method for Geometry Graphics Processing
CN101754039A (zh) * 2009-12-22 2010-06-23 中国科学技术大学 面向移动设备的3d参数解码系统
CN103810742A (zh) * 2012-11-05 2014-05-21 正谓有限公司 图像渲染方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
嵌入式GIS系统软件的低功耗设计;胡泽明等;《单片机与嵌入式系统应用》;20060301;第15-17页 *

Also Published As

Publication number Publication date
CN111507885A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
CN105512251B (zh) 一种页面缓存方法和装置
US7937257B2 (en) Estimating performance of application based on automatic resizing of shared memory for messaging
EP1410219B1 (en) Disk caching
JP4429780B2 (ja) 記憶制御装置、制御方法、および制御プログラム。
US11907164B2 (en) File loading method and apparatus, electronic device, and storage medium
KR102147356B1 (ko) 캐시 메모리 시스템 및 그 동작방법
US20090216945A1 (en) Storage system which utilizes two kinds of memory devices as its cache memory and method of controlling the storage system
CN113342477A (zh) 一种容器组部署方法、装置、设备及存储介质
CN104063330B (zh) 数据预取方法及装置
CN103345368B (zh) 一种在缓冲存储器中缓存数据的方法
CN108984130A (zh) 一种分布式存储的缓存读取方法及其装置
KR101472967B1 (ko) 라이트 백 동작을 수행하는 캐시 메모리, 이의 동작 방법, 및 이를 포함하는 시스템
CN105247478B (zh) 用于存储命令的方法及相关装置
US10877902B2 (en) Cuckoo caching
CN110795226B (zh) 利用计算机系统处理任务的方法、电子设备和存储介质
CN108762916A (zh) 一种内存管理方法、装置、设备及计算机可读存储介质
CN116107754A (zh) 一种面向深度神经网络的内存管理方法及系统
CN114911596A (zh) 针对模型训练的调度方法、装置、电子设备和存储介质
CN111507885B (zh) 一种基于最佳缓存空间计算的混合图元渲染方法及系统
CN1996312A (zh) 用于管理海量存储系统的方法和数据处理系统
US11625187B2 (en) Method and system for intercepting a discarded page for a memory swap
JP4504422B2 (ja) イメージリソースをローディングする方法及びイメージリソースローディングシステム
US20240176909A1 (en) Differential privacy-based service analysis method and apparatus
CN106951301A (zh) 文件预读方法及装置
CN118819427A (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