CN103208093B - 一种解决gpu渲染大图片负荷过大的方法和装置 - Google Patents
一种解决gpu渲染大图片负荷过大的方法和装置 Download PDFInfo
- Publication number
- CN103208093B CN103208093B CN201310140804.7A CN201310140804A CN103208093B CN 103208093 B CN103208093 B CN 103208093B CN 201310140804 A CN201310140804 A CN 201310140804A CN 103208093 B CN103208093 B CN 103208093B
- Authority
- CN
- China
- Prior art keywords
- bitmap
- picture
- service end
- processor
- zip file
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及图片处理技术领域,具体公开了一种解决GPU渲染大图片负荷过大的方法和装置;包括:客户端提交请求,输入服务端接收请求并传输给位图处理器,位图处理器接收并判断请求中的图片的尺寸是否符合规定;符合规定时,位图处理器将图片生成bitmap file;bitmap file在内存中以2的n次方的平方为一个基本单位复制图片并保存成位图,将位图写入到zip文件中;将zip文件传输给存储服务器;存储服务器保存zip文件并传输给输出服务端;输出服务端将zip文件传输给客户端。本发明可以在不破坏图片质量的前提下,提高对图片的处理速度,改善图片处理效果。
Description
技术领域
本发明涉及图片处理技术领域,尤其是涉及一种解决移动端设备GPU渲染大图片负荷过大的方法和装置。
背景技术
GPU英文全称GraphicProcessingUnit,中文翻译为“图形处理器”。在现代的计算机中(特别是家用系统,游戏的发烧友)图形的处理变得越来越重要,需要一个专门的图形的核心处理器。GPU通用计算方面的标准目前有OPENCL、CUDA、ATISTREAM。其中,OPENCL(全称OpenComputingLanguage,开放运算语言)是第一个面向界构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景。
现有技术中采用将图片类型转化成ATF文件格式再上传给GPU进行处理,虽能通过压缩图片来减少图片容量和提高上传给GPU的速度,但此技术对于非常大张、占用容量非常大的图片处理效率较低,上传速度较慢,处理效果不理想。目前还没有有效的解决方案。
发明内容
本发明所解决的技术问题是提供一种解决GPU渲染大图片负荷过大的方法和装置,解决了移动端设备在进行GPU渲染时,因为图片负荷过大而导致崩溃的问题。本发明可以在不破坏图片质量的前提下,提高对图片的处理速度,改善图片处理效果。
为了解决上述技术问题,本发明提供了一种解决GPU渲染大图片负荷过大的方法,包括:
步骤一:客户端提交多张待处理的图片的请求给输入服务端;
步骤二:所述输入服务端接收并响应所述请求,所述输入服务端将所述请求传输给位图处理器;
步骤三:所述位图处理器接收所述请求,所述位图处理器判断所述请求中的所述图片的尺寸是否符合规定;所述图片的所述尺寸规定为2的n次方的平方;
当所述图片的所述尺寸不符合规定时,返回步骤一,提醒所述客户端重新提交所述图片;
当所述图片的所述尺寸符合规定时,进行下述步骤四;
步骤四:所述位图处理器将符合规定的所述图片生成bitmapfile;
步骤五:所述位图处理器将所述bitmapfile在内存中以2的n次方的平方为一个基本单位复制符合规定的所述图片;
步骤六:所述位图处理器将复制出来的所述基本单元保存成位图,所述位图处理器将所述位图写入到zip文件中;所述位图处理器将所述zip文件传输给存储服务器;
步骤七:所述存储服务器接收所述zip文件,所述存储服务器保存所述zip文件,然后所述存储服务器将所述zip文件传输给输出服务端;
步骤八:所述输出服务端接收所述zip文件,所述输出服务端将所述zip文件传输给所述客户端。
优选地,所述n为自然数。
优选地,所述位图处理器还包括位图生成器;所述位图生成器设在所述位图处理器内。
更加优选地,所述位图生成器将所述位图生成还原的位图代码,所述位图生成器读取所述位图代码的数量,所述位图生成器将所述位图代码以string格式写入到txt格式文件中,所述位图生成器将所述txt格式文件保存在zip文件中。
同时,本发明还提供了一种解决GPU渲染大图片负荷过大的装置,包括:客户端、输入服务端、位图处理器、存储服务器和输出服务端;所述客户端分别与所述输入服务端和所述输出服务端相连,所述位图处理器分别与所述输入服务端和所述存储服务器相连,所述存储服务器与所述输出服务端相连。
优选地,所述位图处理器还包括显示装置。
更加优选地,所述显示装置与所述客户端相连。
其中,所述PNG是一种图像文件存储格式,可移植网络图形格式(PortableNetworkGraphicFormat,PNG)是一种位图文件(bitmapfile)存储格式,PNG用来存储灰度图像时,灰度图像的深度可多到16位,存储彩色图像时,彩色图像的深度可多到48位,并且还可存储多到16位的α通道数据。PNG使用从LZ77派生的无损数据压缩算法。PNG一般应用于JAVA程序中,或网页或S60程序中,以它压缩比高,生成文件容量小等优点而被广泛使用。
其中,所述txt是一种文本文件,在桌面或文件夹右键即可建立,txt即扩展名,txt格式是微软在操作系统上附带的一种文本格式,是最常见的一种文件格式,早在DOS时代应用就很多,主要存文本信息,即为文字信总,在微软的操作系统中等于直接存储,现在多数操作系统使用记事本等程序保存文字信息,大多数软件都可以查看记事本。
其中,所述string是java中的字符串;string类是不可变的,对string类的任何改变,都是返回一个新的string类对象;string对象是System.Char对象的有序集合,用于表示字符串;string对象的值是该有序集合的内容,并且该值是不可变的。
本发明与现有技术相比,具有如下有益效果:
本发明解决了移动端设备在进行GPU渲染时,因为图片负荷过大而导致崩溃的问题。本发明操作简便易懂,在不破坏原图片质量、完整地保留了原图片质量的前提下,提高了图片的处理速度,降低了图片的处理难度,改善了图片的处理效果,提高了工作效率。
附图说明
图1示例性地示出了解决GPU渲染大图片负荷过大的方法流程图;
图2示例性地示出了解决GPU渲染大图片负荷过大的装置结构示意图。
具体实施方式
为了更好地理解本发明所解决的技术问题、所提供的技术方案,以下结合附图及实施例,对本发明进行进一步详细说明。此处所描述的具体实施例仅用以解释本发明的实施,但并不用于限定本发明。
在优选的实施例中,图1示例性地示出了解决GPU渲染大图片负荷过大的方法流程;
S1:客户端提交多张待处理的图片的请求给输入服务端;
S2:所述输入服务端接收并响应所述请求,所述输入服务端将所述请求传输给位图处理器;
S3:所述位图处理器接收所述请求,所述位图处理器判断所述请求中的所述图片的尺寸是否符合规定;所述图片的所述尺寸规定为2的n次方的平方;
当所述图片的所述尺寸不符合规定时,返回步骤S1,提醒所述客户端重新提交所述图片;
当所述图片的所述尺寸符合规定时,进行下述步骤S4;
S4:所述位图处理器将符合规定的所述图片生成bitmapfile;
S5:所述位图处理器将所述bitmapfile在内存中以2的n次方的平方为一个基本单位复制符合规定的所述图片;
S6:所述位图处理器将复制出来的所述基本单元保存成位图,所述位图处理器将所述位图写入到zip文件中;所述位图处理器将所述zip文件传输给存储服务器;
S7:所述存储服务器接收所述zip文件,所述存储服务器保存所述zip文件,然后所述存储服务器将所述zip文件传输给输出服务端;
S8:所述输出服务端接收所述zip文件,所述输出服务端将所述zip文件传输给所述客户端。
在优选的实施例中,所述n为自然数。
在优选的实施例中,所述位图处理器还包括位图生成器,所述位图生成器设在所述位图处理器内。
在更加优选的实施例中,所述位图生成器将所述位图生成还原的位图代码,所述位图生成器读取所述位图代码的数量,所述位图生成器将所述位图代码以string格式写入到txt格式文件中,所述位图生成器将所述txt格式文件保存在zip文件中。
在优选的实施例中,图2示例性地示出了解决GPU渲染大图片负荷过大的装置结构示意图,包括:客户端1、输入服务端2、位图处理器3、存储服务器4和输出服务端5;所述客户端1分别与所述输入服务端2和所述输出服务端5相连,所述位图处理器3分别与所述输入服务端2和所述存储服务器4相连,所述存储服务器4与所述输出服务端5相连。
其中,所述位图生成器6设在所述位图处理器3内。
在更加优选的实施例中,所述位图处理器3还包括显示装置7。
在更加优选的实施例中,所述显示装置7与所述客户端1相连。
具体的实施例:用户添加需要处理的图片,点击开始处理按钮开始处理,等待进度条显示进度完成的百分比,处理完成,进度条显示100%,然后自动弹出另存为对话框,保存处理完成的图片,所述处理完成的所述图片为ZIP格式的压缩文件,将所述ZIP格式的所述压缩文件解压,生成解压后的文件夹,然后打开解压的所述文件夹,用户可以看到处理后的所述图片,所述文件夹里还包含有所述图片的附属txt格式文件,所述txt格式文件保存所述图片的位图还原代码。
以上通过具体的和优选的实施例详细的描述了本发明,但本领域技术人员应该明白,本发明并不局限于以上所述实施例,凡在本发明的基本原理之内,所作的任何修改、组合及等同替换等,均包含在本发明的保护范围之内。
Claims (2)
1.一种解决GPU渲染大图片负荷过大的方法,其特征在于,包括:
步骤一:客户端提交多张待处理的图片的请求给输入服务端;
步骤二:所述输入服务端接收并响应所述请求,所述输入服务端将所述请求传输给位图处理器;
步骤三:所述位图处理器接收所述请求,所述位图处理器判断所述请求中的所述图片的尺寸是否符合规定;所述图片的所述尺寸规定为2的n次方的平方;
当所述图片的所述尺寸不符合规定时,返回步骤一,提醒所述客户端重新提交所述图片;
当所述图片的所述尺寸符合规定时,进行下述步骤四;
步骤四:所述位图处理器将符合规定的所述图片生成bitmapfile;
步骤五:所述位图处理器将所述bitmapfile在内存中以2的n次方的平方为一个基本单位复制符合规定的所述图片;
步骤六:所述位图处理器将复制出来的所述基本单元保存成位图,所述位图处理器将所述位图写入到zip文件中;所述位图处理器将所述zip文件传输给存储服务器;
步骤七:所述存储服务器接收所述zip文件,所述存储服务器保存所述zip文件,然后所述存储服务器将所述zip文件传输给输出服务端;
步骤八:所述输出服务端接收所述zip文件,所述输出服务端将所述zip文件传输给所述客户端;
所述n为自然数;
所述位图处理器还包括位图生成器;所述位图生成器设在所述位图处理器内;
所述位图生成器将所述位图生成还原的位图代码,所述位图生成器读取所述位图代码的数量,所述位图生成器将所述位图代码以string格式写入到txt格式文件中,所述位图生成器将所述txt格式文件保存在zip文件中。
2.一种实现如权利要求书1所述解决GPU渲染大图片负荷过大方法的装置,其特征在于,所述装置包括:客户端、输入服务端、位图处理器、存储服务器和输出服务端;所述客户端分别与所述输入服务端和所述输出服务端相连,所述位图处理器分别与所述输入服务端和所述存储服务器相连,所述存储服务器与所述输出服务端相连;
所述位图处理器还包括显示装置;
所述显示装置与所述客户端相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310140804.7A CN103208093B (zh) | 2013-04-22 | 2013-04-22 | 一种解决gpu渲染大图片负荷过大的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310140804.7A CN103208093B (zh) | 2013-04-22 | 2013-04-22 | 一种解决gpu渲染大图片负荷过大的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103208093A CN103208093A (zh) | 2013-07-17 |
CN103208093B true CN103208093B (zh) | 2016-08-03 |
Family
ID=48755310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310140804.7A Active CN103208093B (zh) | 2013-04-22 | 2013-04-22 | 一种解决gpu渲染大图片负荷过大的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103208093B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4181068A1 (en) * | 2014-01-21 | 2023-05-17 | Mythical Games UK Ltd | A method and system for interactive graphics streaming |
CN107066430B (zh) * | 2017-04-21 | 2021-02-26 | 阿里巴巴(中国)有限公司 | 图片处理方法、装置、服务端及客户端 |
-
2013
- 2013-04-22 CN CN201310140804.7A patent/CN103208093B/zh active Active
Non-Patent Citations (4)
Title |
---|
"服务器端软件性能分析和诊断方法研究";刘雪梅;《中国博士学位论文全文数据库(电子期刊).信息科技辑》;20110731;第2011年卷(第07期);第I139-15页 * |
BMP文件转换为TXT文件的一种方法;林关成;《渭南师范学院学报》;20031231;第18卷(第9期);全文 * |
一种对位图文件的有效压缩算法;朱怀宏等;《计算机与现代化》;20021231;第2002(年)卷(第6期);引言及图2 * |
原始图像数据向BMP位图文件的转换;刘惠敏;《自动化技术与应用》;20111231;第30卷(第7期);文中第2-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103208093A (zh) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101564815B1 (ko) | 다중-프로세서 컴퓨팅 플랫폼에서의 프로세서간 통신 기법들 | |
CN106383695B (zh) | 基于fpga的聚类算法的加速系统及其设计方法 | |
US7546607B2 (en) | Native code exposing virtual machine managed object | |
Dorier et al. | Damaris: Addressing performance variability in data management for post-petascale simulations | |
WO2022134428A1 (zh) | 小程序页面渲染方法、装置、电子设备及存储介质 | |
US20220292337A1 (en) | Neural network processing unit, neural network processing method and device | |
US10572254B2 (en) | Instruction to query cache residency | |
CN103208093B (zh) | 一种解决gpu渲染大图片负荷过大的方法和装置 | |
US20200371827A1 (en) | Method, Apparatus, Device and Medium for Processing Data | |
US20220075639A1 (en) | Executing an application with multiple processors | |
WO2022041850A1 (en) | Methods and apparatuses for coalescing function calls for ray-tracing | |
US20160124916A1 (en) | Image decoding method and apparatus for browser | |
US9760577B2 (en) | Write-behind caching in distributed file systems | |
Kallio | Scanline edge-flag algorithm for antialiasing | |
US20230052808A1 (en) | Hardware Interconnect With Memory Coherence | |
Lin et al. | Low-latency, high-throughput access to static global resources within the Hadoop framework | |
CN102982001B (zh) | 众核处理器及其空间访问的方法、主核 | |
Bhat et al. | Enabling support for zero copy semantics in an Asynchronous Task-based Programming Model | |
Ross et al. | Object serialization support for object oriented java processors | |
US20220197682A1 (en) | Native-image in-memory cache for containerized ahead-of-time applications | |
Qiu et al. | Implementation of Remote‐Sensing Data Processing Platform Based on Computable Storage | |
CN113570034B (zh) | 处理装置、神经网络的处理方法及其装置 | |
Gao et al. | QZRAM: A Transparent Kernel Memory Compression System Design for Memory-Intensive Applications with QAT Accelerator Integration | |
Voras et al. | Web-enabling cache daemon for complex data | |
Roe | EPEEC European programming: ROBERT ROE TALKS TO ANTONIO PENA EPEEC, PROJECT COORDINATOR AND SENIOR RESEARCHER FOR THE BARCELONA SUPERCOMPUTING CENTER ABOUT PROGRESS ON A EUROPEAN PROGRAMMING FRAMEWORK FOR HPC. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |