渲染显示的方法技术

技术编号:39663847 阅读:8 留言:0更新日期:2023-12-11 18:26
本公开实施例公开了一种渲染显示的方法

【技术实现步骤摘要】
渲染显示的方法、装置、设备及存储介质


[0001]本公开实施例涉及图像处理
,尤其涉及一种渲染显示的方法

装置

设备及存储介质


技术介绍

[0002]嵌入式图形库(
Embedded Graphic Library

EGL
)标准中有三种渲染显示方式,包括:基于像素缓冲区(
Pixel Buffer

Pbuffer
)的
Pbuffer Surface、
基于窗口的
Window Surface
以及基于位图的
Pixmap Surface
,其中,所述
Pbuffer Surface
渲染显示方式是使用
eglCreatePbufferSurface
函数创建离屏渲染显示窗口,所述
WindowSurface
渲染显示方式是使用
eglCreateWindowSurface
函数创建当前屏幕的实时渲染显示窗口,所述
Pixmap Surface
渲染显示方式是使用
eglCreatePixmapSurface
函数创建位图渲染显示窗口

[0003]由于大多数嵌入式设备中仅能使用所述
eglCreatePbufferSurface
函数创建离屏渲染显示窗口,在所述
eglCreatePbufferSurface
函数的底层实现上,通过显示设备进行渲染显示,不能支持使用
eglCreateWindowSurface
函数来创建当前屏幕的实时渲染显示窗口,即不支持将渲染结果直接在当前屏幕缓冲区中进行实时渲染显示

对于使用所述
Pbuffer Surface
渲染显示方式的嵌入式设备,其具体实现方案是图形处理器(
GraphicProcessing Unit

GPU
)执行渲染后生成的渲染结果不会直接输出到屏幕上,而是需要将所述渲染结果拷贝到显示设备的内存中,再通过所述显示设备显示到屏幕上

因此,在嵌入式设备中不能同时支持
Pbuffer Surface
渲染显示方式和
Window Surface
渲染显示方式,无法满足多场景的使用需求,而且在多应用或多窗口环境下进行使用场景迁移时,往往需要修改渲染显示接口,容易出错且增加工作量,不具有灵活的移植性


技术实现思路

[0004]有鉴于此,本公开实施例期望提供一种渲染显示的方法

装置

设备及存储介质,能够在嵌入式设备中同时支持
Pbuffer Surface
渲染显示方式和
Window Surface
渲染显示方式,从而满足多场景的使用需求

[0005]本公开实施例的技术方案是这样实现的:第一方面,本公开实施例提供了一种渲染显示方法,包括:建立用户态虚拟空间与嵌入式设备的帧缓存之间的映射关系;在所述用户态虚拟空间中设置渲染区域;根据所述映射关系将嵌入式设备的帧缓存内的渲染结果映射至所述用户态虚拟空间中的渲染区域;通过显示设备显示所述渲染区域内的渲染结果

[0006]第二方面,本公开实施例提供了一种渲染显示的装置,所述装置包括:建立模块

设置模块

映射模块以及显示模块;其中,所述建立模块,被配置成建立用户态虚拟空间与嵌入式设备的帧缓存之间的映射
关系;所述设置模块,被配置成在所述用户态虚拟空间中设置渲染区域;所述映射模块,被配置成根据所述映射关系将嵌入式设备的帧缓存内的渲染结果映射至所述用户态虚拟空间中的渲染区域;所述显示模块,被配置成通过显示设备显示所述渲染区域内的渲染结果

[0007]第三方面,本公开实施例提供了一种嵌入式设备,所述嵌入式设备包括:
CPU、GPU
以及实现
CPU

GPU
之间连接通信的系统总线;其中,所述
CPU

GPU
经配置以实现第一方面所述渲染显示的方法

[0008]第四方面,本公开实施例提供了一种计算机存储介质,所述计算机存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现第一方面所述渲染显示的方法

[0009]本公开实施例提供了一种渲染显示的方法

装置

设备及存储介质,通过在嵌入式设备中采用基于
Window Surface
渲染显示方式,先建立用户态虚拟空间与嵌入式设备的帧缓存之间的映射关系,在所述用户态虚拟空间中创建渲染区域并配置区域属性,
GPU
执行渲染并将渲染结果写入所述嵌入式设备的帧缓存,根据所述映射关系将嵌入式设备的帧缓存内的渲染结果映射至所述用户态虚拟空间中的渲染区域,通过显示设备读取所述渲染区域内的渲染结果,根据刷新显示命令显示在屏幕上

通过该技术方案,在仅支持所述
Pbuffer Surface
渲染显示方式的嵌入式设备中,也可以同时支持使用所述
Window Surface
渲染显示方式,从而满足多场景的使用需求

此外,可以将实现所述
Window Surface
渲染显示方式的代码移植到其他应用或多窗口系统中,不需要做任何修改即可实现在所述其他应用或多窗口系统中同时支持两种渲染显示方式,具有灵活的移植性

附图说明
[0010]图1为本公开实施例提供的嵌入式设备组成示意图;图2为一种使用
Pbuffer Surface
渲染显示的流程图;图3为本公开实施例提供的一种渲染显示的方法流程图;图4为本公开实施例提供的使用
Window Surface
渲染显示的详细流程图;图5为本公开实施例提供的一种渲染显存的装置示意图

具体实施方式
[0011]下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚

完整地描述

[0012]参见图1,其示出了能够实现本公开实施例技术方案的嵌入式设备
100
的组成示意图,需注意,图1所示出的嵌入式设备是可能的设备的仅一个示例,并且可根据需要在各种设备中的任一设备中实现本公开的实施方案

该嵌入式设备
100
的组成具体可以为任意类型的计算装置,包括且不限于台式计算机

服务器

工作站

膝上计算机

基于计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种渲染显示的方法,其特征在于,所述方法包括:建立用户态虚拟空间与嵌入式设备的帧缓存之间的映射关系;在所述用户态虚拟空间中设置渲染区域;根据所述映射关系将嵌入式设备的帧缓存内的渲染结果映射至所述用户态虚拟空间中的渲染区域;通过显示设备显示所述渲染区域内的渲染结果
。2.
根据权利要求1所述的方法,其特征在于,所述建立用户态虚拟空间与嵌入式设备的帧缓存之间的映射关系,包括:通过内存映射
mmap
函数将所述嵌入式设备的帧缓存映射至所述用户态虚拟空间,以使得对所述用户态虚拟空间的操作均直接反映在被映射的帧缓存中
。3.
根据权利要求1所述的方法,其特征在于,所述方法还包括:开启所述嵌入式设备中的显示设备以使得通过所述显示设备能够对所述嵌入式设备的帧缓存进行操作;在所述嵌入式设备的内存资源中分配所述用户态虚拟空间
。4.
根据权利要求1所述的方法,其特征在于,所述在所述用户态虚拟空间中设置渲染区域,包括:通过调用
eglCreateWindowSurface
函数在所述用户态虚拟空间中创建所述渲染区域
。5.
根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述用户态虚拟空间中为所述渲染区域划分对应的内存区域;相应地,将渲染结果写入至所述渲染区域,包括:将所述渲染结果写入至所述渲染区域划分对应的内存区域
。6.
根据权利要求1所述的方法,其特征在于,所述根据所述映射关系将嵌入式设备的帧缓存内的渲染结果映射至所述用户态虚拟空间中的渲染区域,包括:将写入所述渲染区域内的渲染结果通过所述映射关系直接反映至所述嵌入式设备的帧缓存内
。7.<...

【专利技术属性】
技术研发人员:张辉
申请(专利权)人:西安芯云半导体技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1