一种基于绘图编程接口的远程调用图形渲染方法及其系统技术方案

技术编号:30899082 阅读:21 留言:0更新日期:2021-11-22 23:42
本发明专利技术涉及一种基于绘图编程接口的远程调用图形渲染方法及其系统,所述系统包括服务器端和若干客户端,所述客户端和服务器端通过网络连接通信;所述服务器端的计算机操作系统上安装有绘图编程接口,运行有图形渲染服务进程,所述服务器端配置有用于图形渲染的GPU;所述客户端的计算机操作系统上安装有绘图编程接口、和位图显示视窗接口,运行有图形渲染应用进程;任一客户端和所述服务器端之间运行一种基于绘图编程接口的远程调用图形渲染方法。有益效果是借助服务器端GPU进行图形渲染、在客户端运行图形渲染应用软件。客户端运行图形渲染应用软件。客户端运行图形渲染应用软件。

【技术实现步骤摘要】
一种基于绘图编程接口的远程调用图形渲染方法及其系统


[0001]本专利技术涉及图像处理
,具体涉及一种基于绘图编程接口的远程调用图形渲染方法及其系统。

技术介绍

[0002]OpenGL(英语:Open Graphics Library,译名:开放图形库或者开放式图形库)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API);这个接口由近350个不同的函数调用组成,用来绘制从简单的图形比特到复杂的三维景象。Direct3D(简称:D3D)是微软公司在Microsoft Windows操作系统上所开发的一套3D绘图编程接口,是DirectX的一部分,与OpenGL同为电脑绘图软体和电脑游戏最常使用的两套绘图编程接口之一。OpenGL提供了对GPU调用的规范,并需要GPU驱动和GPU的共同支持才能完成图形图像的渲染工作。在很多场景中,本机不具备GPU资源或者对GPU资源没有很好的支持,但是存在对图形渲染的需求。例如在流行的Linux环境下,OpenGL已经形成了较为完善的生态,然而在一些特殊场景中,如在应用实时操作系统的情况下,一方面由于GPU没有详细的DataSheet、缺乏虚拟化支持的特点使得配置更加复杂,另一方面GPU驱动一般适用于Linux环境,迁移到相关生态不完善的实时操作系统环境中需要大量的工作量。
[0003]进程是资源分配最小单位,线程是程序执行的最小单位。两者根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)。
[0004]图形渲染(也叫图像渲染)是将三维的光能传递处理转换为一个二维图像的过程。图形处理器(英语:graphics processing unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是专门做图像和图形相关运算工作的微处理器,不单单存储图形,而且能完成大部分图形函数,大大减轻CPU的负担,提高显示能力和显示速度。X11也叫做X Window系统,是一种位图显示的视窗系统,在Unix和类Unix操作系统,以及OpenVMS(全称Open Virtual Memory System,开放虚拟内存系统)上建立图形用户界面的标准工具包和协议,可用于几乎所有已有的现代操作系统。Wayland是一个简单的“显示服务器”(Display Server),与X Window属于同一级的事物,Wayland只是一个协议(Protocol),就像X Window当前的协议X11一样,它只定义了如何与内核通讯、如何与Client通讯,具体的策略,依然是交给开发者自己。EGL是一套用于管理绘制Surface的API。在应用程序中,可以用Socket API中的C函数来创建、管理本地通信端点,即socket(套接字),每一个socket可以通过一个句柄访问;在Unix环境下,句柄也被称作描述符。EPOLL是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。poll是Linux中的字符设备驱动中的一个函数,和select实现的功能差不多,poll的作用是把当前的文件指针挂到等待队列。访问次数OPS:Operates Per Second。PID:进程ID。TID:线程ID。序列化(Serialization)是将
对象的状态信息转换为可以存储或传输的形式的过程;在序列化期间,对象将其当前状态写入到临时或持久性存储区;以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
[0005]本专利技术针对上述现有技术的缺陷,对图形渲染方法及其系统作了改进。

技术实现思路

[0006]本专利技术的目的是,提供一种借助服务器端GPU进行图形渲染、在客户端运行图形渲染应用软件的方法。
[0007]为实现上述目的,本专利技术采取的技术方案是一种基于绘图编程接口的远程调用图形渲染方法,所述方法基于一种基于绘图编程接口的远程调用图形渲染系统,所述系统包括服务器端和若干客户端,所述客户端和服务器端通过网络连接通信;所述服务器端的计算机操作系统上安装有绘图编程接口,运行有图形渲染服务进程,所述服务器端配置有用于图形渲染的GPU;所述客户端的计算机操作系统上安装有绘图编程接口、和位图显示视窗接口,运行有图形渲染应用进程;任一客户端和所述服务器端之间运行一种基于绘图编程接口的远程调用图形渲染方法包括以下步骤:
[0008]S1、服务器端图形渲染服务进程初始化绘图编程接口全局参数、和GPU;
[0009]S2、服务器端图形渲染服务进程开启图形渲染端口等待客户端连接;
[0010]S3、客户端图形渲染应用进程调用绘图编程接口入口函数,创建渲染操作子线程;
[0011]S4、客户端图形渲染应用进程初始化绘图编程接口全局参数、和位图显示视窗接口;
[0012]S5、客户端渲染操作子线程向服务器申请建立连接;
[0013]S6、服务器端图形渲染服务进程接收到客户端的连接请求,创建图形渲染子线程和客户端建立连接;
[0014]S7、客户端渲染操作子线程设置绘图编程接口上下文参数;
[0015]S8、服务器端图形渲染子线程设置绘图编程接口上下文参数;
[0016]S9、客户端渲染操作子线程调用绘图编程接口函数,将调用的绘图编程接口函数序列化后发送至服务器端;
[0017]S10、服务器端图形渲染子线程对接收到的绘图编程接口函数进行反序列化,调用对应的绘图编程接口函数通过服务器端GPU进行图形渲染处理;
[0018]S11、服务器端图形渲染子线程将图形渲染处理结果序列化后发送至客户端;
[0019]S12、客户端渲染操作子线程对接收的图形渲染处理结果进行反序列化,通过位图显示视窗接口显示对应的图形渲染处理结果。
[0020]优选地,上述的一种基于绘图编程接口的远程调用图形渲染方法,所述计算机操作系统是Window或Linux操作系统,所述绘图编程接口是OpenGL绘图编程接口,所述位图显示视窗接口是X11或Wayland位图显示视窗接口。
[0021]优选地,上述的一种基于绘图编程接口的远程调用图形渲染方法,所述步骤S1:服务器端图形渲染服务进程初始化OpenGL绘图编程接口全局参数包括对外开放的端口号、超时时长、缓冲区大小、平台类型及服务通信解析接口。
[0022]优选地,上述的一种基于绘图编程接口的远程调用图形渲染方法,所述步骤S3:客
户端图形渲染应用进程调用的OpenGL绘图编程接口入口函数是eglGetDisplay函数。
[0023]优选地,上述的一种基于绘图编程接口的远程调用图形渲染方法,所述步骤S4:客户端图形渲染应用进程初始化OpenGL绘图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于绘图编程接口的远程调用图形渲染方法,其特征在于:所述方法基于一种基于绘图编程接口的远程调用图形渲染系统,所述系统包括服务器端和若干客户端,所述客户端和服务器端通过网络连接通信;所述服务器端的计算机操作系统上安装有绘图编程接口,运行有图形渲染服务进程,所述服务器端配置有用于图形渲染的GPU;所述客户端的计算机操作系统上安装有绘图编程接口、和位图显示视窗接口,运行有图形渲染应用进程;任一客户端和所述服务器端之间运行一种基于绘图编程接口的远程调用图形渲染方法包括以下步骤:S1、服务器端图形渲染服务进程初始化绘图编程接口全局参数、和GPU;S2、服务器端图形渲染服务进程开启图形渲染端口等待客户端连接;S3、客户端图形渲染应用进程调用绘图编程接口入口函数,创建渲染操作子线程;S4、客户端图形渲染应用进程初始化绘图编程接口全局参数、和位图显示视窗接口;S5、客户端渲染操作子线程向服务器申请建立连接;S6、服务器端图形渲染服务进程接收到客户端的连接请求,创建图形渲染子线程和客户端建立连接;S7、客户端渲染操作子线程设置绘图编程接口上下文参数;S8、服务器端图形渲染子线程设置绘图编程接口上下文参数;S9、客户端渲染操作子线程调用绘图编程接口函数,将调用的绘图编程接口函数序列化后发送至服务器端;S10、服务器端图形渲染子线程对接收到的绘图编程接口函数进行反序列化,调用对应的绘图编程接口函数通过服务器端GPU进行图形渲染处理;S11、服务器端图形渲染子线程将图形渲染处理结果序列化后发送至客户端;S12、客户端渲染操作子线程对接收的图形渲染处理结果进行反序列化,通过位图显示视窗接口显示对应的图形渲染处理结果。2.根据权利要求1所述的一种基于绘图编程接口的远程调用图形渲染方法,其特征在于:所述计算机操作系统是Window或Linux操作系统,所述绘图编程接口是OpenGL绘图编程接口,所述位图显示视窗接口是X11或Wayland位图显示视窗接口。3.根据权利要求2所述的一种基于绘图编程接口的远程调用图形渲染方法,其特征在于所述步骤S1:服务器端图形渲染服务进程初始化OpenGL绘图编程接口全局参数包括对外开放的端口号、超时时长、缓冲区大小、平台类型及服务通信解析接口。4.根据权利要求4所述的一种基于绘图编程接口的远程调用图形渲染方法,其特征在于所述步骤S3:客户端图形渲染...

【专利技术属性】
技术研发人员:戚正伟王笑然张正君张毅峰刘焰强陈江涛管海兵
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1