CN113393555A - 一种基于着色器的屏幕填充率统计方法及其系统 - Google Patents

一种基于着色器的屏幕填充率统计方法及其系统 Download PDF

Info

Publication number
CN113393555A
CN113393555A CN202010166129.5A CN202010166129A CN113393555A CN 113393555 A CN113393555 A CN 113393555A CN 202010166129 A CN202010166129 A CN 202010166129A CN 113393555 A CN113393555 A CN 113393555A
Authority
CN
China
Prior art keywords
shader
color
colordef
texture data
module
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.)
Granted
Application number
CN202010166129.5A
Other languages
English (en)
Other versions
CN113393555B (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.)
Fujian TQ Digital Co Ltd
Original Assignee
Fujian TQ Digital Co Ltd
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 Fujian TQ Digital Co Ltd filed Critical Fujian TQ Digital Co Ltd
Priority to CN202010166129.5A priority Critical patent/CN113393555B/zh
Publication of CN113393555A publication Critical patent/CN113393555A/zh
Application granted granted Critical
Publication of CN113393555B publication Critical patent/CN113393555B/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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本发明提供了一种基于着色器的屏幕填充率统计方法,所述方法设置有一着色器模块,所述着色器模块用于传入颜色参数colordef,且能根据物体绘制颜色参数colordef并得到片元颜色color中,然后合并所有片元颜色,并生成纹理数据;所述方法包括如下步骤:步骤S1、查找所有物体的材质的着色器,将所述着色器模块替换所有材质的着色器;步骤S2、利用所述着色器模块渲染所有物体到帧缓存,并保存到纹理数据;步骤S3、根据纹理数据计算出Overdraw值,所述Overdraw值与所述屏幕填充率是成正比,从而统计出所述屏幕填充率。本发明将Overdraw的表现数值化,变成一个衡量标准,从而能快速得知GPU的性能瓶颈。

Description

一种基于着色器的屏幕填充率统计方法及其系统
技术领域
本发明涉及图像处理技术领域,特别是一种基于着色器的屏幕填充率统计方法及其系统。
背景技术
屏幕填充率是指GPU每秒可写入或渲染的像素总数,大多数GPU的性能瓶颈来自于填充率,尤其在移动设备上,Overdraw是指当同一个像素被进行多次绘制导致的一种现象,是反应屏幕填充率的一个指标,Overdraw与屏幕填充率是成正比。而现有技术中,只有对Overdraw进行图形展示,没有数值化,无法形成一个衡量,即不能确定GPU的性能瓶颈。
片元是光栅化过程的产物;光栅化是将一个图元转变为一个二维图象,二维图象上每个点都包含了颜色、深度和纹理数据,将该点和相关信息叫做一个片元。
发明内容
为克服上述问题,本发明的目的是提供一种基于着色器的屏幕填充率统计方法,能将Overdraw的表现数值化,变成一个衡量标准,从而能快速得知GPU的性能瓶颈。
本发明采用以下方案实现:一种基于着色器的屏幕填充率统计方法,所述方法设置有一着色器模块,所述着色器模块用于传入颜色参数colordef,且能根据物体绘制颜色参数colordef获得片元颜色color,同时保存到纹理数据;
所述方法包括如下步骤:步骤S1、查找所有物体的材质的着色器,将所述着色器模块替换所有材质的着色器;
步骤S2、利用所述着色器模块渲染所有物体到帧缓存,并保存到纹理数据;
步骤S3、根据纹理数据计算出Overdraw值,所述Overdraw值与所述屏幕填充率是成正比,从而统计出所述屏幕填充率。
进一步的,所述步骤S2进一步具体为:步骤S21、从CPU端传入物体绘制参数colordef到GPU端;
步骤S22、根据物体绘制颜色参数colordef计算出片元颜色color,然后合并所有片元颜色,并生成纹理数据framecolor,具体算法如下:
①color=colordef;
②framecolor=每个片元颜色color相加。
进一步的,所述根据纹理数据计算出Overdraw值中的计算方式为:pixwrite=framecolor/colordef;pixtotal=width*height;overdraw=pixwrite/pixtotal;
其中,colordef为物体绘制颜色参数,framecolor为生成的纹理数据,width为指定屏幕分辨率宽度,height为指定屏幕分辨率高度,pixtotal为当前屏幕像素总和,pixwrite为当前写入像素总和,overdraw为平均像素写入次数。
本发明还提供了一种基于着色器的屏幕填充率统计系统,所述系统包括着色器模块、替换模块、数据处理模块、以及Overdraw值获取模块,所述着色器模块用于传入颜色参数colordef,且能根据物体绘制颜色参数colordef获得片元颜色color,然后合并所有片元颜色,并生成纹理数据;
所述替换模块,用于查找所有物体的材质的着色器,将所述着色器模块替换所有材质的着色器;
所述数据处理模块利用所述着色器模块渲染所有物体到帧缓存,并保存到纹理数据;
所述Overdraw值获取模块根据纹理数据计算出Overdraw值,所述Overdraw值与所述屏幕填充率是成正比,从而统计出所述屏幕填充率。
进一步的,所述数据处理模块进一步具体为:从CPU端传入物体绘制参数colordef到GPU端;根据物体绘制颜色参数colordef计算出片元颜色color,然后合并所有片元颜色,并生成纹理数据framecolor,具体算法如下:
①color=colordef;
②framecolor=每个片元颜色color相加。
进一步的,所述根据纹理数据计算出Overdraw值中的计算方式为:pixwrite=framecolor/colordef;pixtotal=width*height;overdraw=pixwrite/pixtotal;
其中,colordef为物体绘制颜色参数,framecolor为生成的纹理数据,width为指定屏幕分辨率宽度,height为指定屏幕分辨率高度,pixtotal为当前屏幕像素总和,pixwrite为当前写入像素总和,overdraw为平均像素写入次数。
本发明的有益效果在于:本发明将Overdraw的表现数值化,变成一个衡量标准,对GPU的性能瓶颈的定位变成比较简单,即Overdraw数值越大,GPU性能越低,比如Overdraw数值为4代表同一个像素绘制4次,则同一个像素绘制次数越多,则GPU性能越低。
附图说明
图1是本发明的方法流程示意图。
图2是本发明的系统框图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明的一种基于着色器的屏幕填充率统计方法,所述方法设置有一着色器模块,所述着色器模块用于传入颜色参数colordef,且能根据物体绘制颜色参数colordef获得片元颜色color(即物体的片元颜色),同时保存到纹理数据;其中,colordef=(colordef.R,colordef.G,colordef.B)(如:colordef=(0.01,0.01,0.01)此值可以自定义,为全局唯一性)
所述方法包括如下步骤:步骤S1、查找所有物体的材质的着色器,将所述着色器模块替换所有材质的着色器;
步骤S2、利用所述着色器模块渲染所有物体到帧缓存,并保存到纹理数据;
步骤S3、根据纹理数据计算出Overdraw值,所述Overdraw值与所述屏幕填充率是成正比,从而统计出所述屏幕填充率。
进一步的,所述步骤S2进一步具体为:步骤S21、从CPU端传入物体绘制参数colordef到GPU端;
步骤S22、根据物体绘制颜色参数colordef计算出片元颜色color(即将颜色参数colordef赋值给片元颜色color),然后合并所有片元颜色,并生成纹理数据framecolor,具体算法如下:
①color=colordef;
②framecolor=每个片元颜色color相加(即为framecolor=framecolor+color)。
其中,所述根据纹理数据计算出Overdraw值中的计算方式为:pixwrite=framecolor/colordef;pixtotal=width*height;overdraw=pixwrite/pixtotal;
其中,colordef为物体绘制颜色参数,framecolor为生成的纹理数据,width为指定屏幕分辨率宽度,height为指定屏幕分辨率高度,pixtotal为当前屏幕像素总和,pixwrite为当前写入像素总和,overdraw为平均像素写入次数。
本发明的应用场景如下:
如:在游戏引擎Unity渲染队列中,几何体的渲染不透明队列默认是按照从前到后的,由于有深度缓存,可以判断该像素是否需要写入帧缓存,这样可以最小化减少Overdraw;对于透明队列是按照从后到前的渲染实现物体的透明效果,从而使一个物体重复渲染多次,因此造成Overdraw非常高,将Overdraw的表现数值化,变成一个衡量标准,具有重要的意义。
请参阅图2所示,本发明还提供了一种基于着色器的屏幕填充率统计系统,所述系统包括着色器模块、替换模块、数据处理模块、以及Overdraw值获取模块,所述着色器模块用于传入颜色参数colordef,且能根据物体绘制颜色参数colordef获得片元颜色color,然后合并所有片元颜色,并生成纹理数据;
所述替换模块,用于查找所有物体的材质的着色器,将所述着色器模块替换所有材质的着色器;
所述数据处理模块利用所述着色器模块渲染所有物体到帧缓存,并保存到纹理数据;
所述Overdraw值获取模块根据纹理数据计算出Overdraw值,所述Overdraw值与所述屏幕填充率是成正比,从而统计出所述屏幕填充率。
所述数据处理模块进一步具体为:从CPU端传入物体绘制参数colordef到GPU端;根据物体绘制颜色参数colordef计算出片元颜色color,然后合并所有片元颜色,并生成纹理数据framecolor,具体算法如下:
①color=colordef;
②framecolor=每个片元颜色color相加。
进一步的,所述根据纹理数据计算出Overdraw值中的计算方式为:pixwrite=framecolor/colordef;pixtotal=width*height;overdraw=pixwrite/pixtotal;
其中,colordef为物体绘制颜色参数,framecolor为生成的纹理数据,width为指定屏幕分辨率宽度,height为指定屏幕分辨率高度,pixtotal为当前屏幕像素总和,pixwrite为当前写入像素总和,overdraw为平均像素写入次数。
总之,本发明将Overdraw的表现数值化,变成一个衡量标准,对GPU的性能瓶颈的定位变成比较简单,即Overdraw数值越大,GPU性能越低,比如Overdraw数值为4代表同一个像素绘制4次,则同一个像素绘制次数越多,则GPU性能越低。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (6)

1.一种基于着色器的屏幕填充率统计方法,其特征在于:所述方法设置有一着色器模块,所述着色器模块用于传入颜色参数colordef,且能根据物体绘制颜色参数colordef获得片元颜色color,然后合并所有片元颜色,并生成纹理数据;
所述方法包括如下步骤:步骤S1、查找所有物体的材质的着色器,将所述着色器模块替换所有材质的着色器;
步骤S2、利用所述着色器模块渲染所有物体到帧缓存,并保存到纹理数据;
步骤S3、根据纹理数据计算出Overdraw值,所述Overdraw值与所述屏幕填充率是成正比,从而统计出所述屏幕填充率。
2.根据权利要求1所述的一种基于着色器的屏幕填充率统计方法,其特征在于:所述步骤S2进一步具体为:步骤S21、从CPU端传入物体绘制参数colordef到GPU端;步骤S22、根据物体绘制颜色参数colordef计算出片元颜色color,然后合并所有片元颜色,并生成纹理数据framecolor,具体算法如下:
①color=colordef;
②framecolor=每个片元颜色color相加。
3.根据权利要求2所述的一种基于着色器的屏幕填充率统计方法,其特征在于:所述根据纹理数据计算出Overdraw值中的计算方式为:pixwrite=framecolor/colordef;pixtotal=width*height;overdraw=pixwrite/pixtotal;其中,colordef为物体绘制颜色参数,framecolor为生成的纹理数据,width为指定屏幕分辨率宽度,height为指定屏幕分辨率高度,pixtotal为当前屏幕像素总和,pixwrite为当前写入像素总和,overdraw为平均像素写入次数。
4.一种基于着色器的屏幕填充率统计系统,其特征在于:所述系统包括着色器模块、替换模块、数据处理模块、以及Overdraw值获取模块,所述着色器模块用于传入颜色参数colordef,且能根据物体绘制颜色参数colordef获得片元颜色color,然后合并所有片元颜色,并生成纹理数据;
所述替换模块,用于查找所有物体的材质的着色器,将所述着色器模块替换所有材质的着色器;
所述数据处理模块利用所述着色器模块渲染所有物体到帧缓存,并保存到纹理数据;
所述Overdraw值获取模块根据纹理数据计算出Overdraw值,所述Overdraw值与所述屏幕填充率是成正比,从而统计出所述屏幕填充率。
5.根据权利要求4所述的一种基于着色器的屏幕填充率统计系统,其特征在于:所述数据处理模块进一步具体为:从CPU端传入物体绘制参数colordef到GPU端;根据物体绘制颜色参数colordef计算出片元颜色color,然后合并所有片元颜色,并生成纹理数据framecolor,具体算法如下:
①color=colordef;
②framecolor=每个片元颜色color相加。
6.根据权利要求5所述的一种基于着色器的屏幕填充率统计系统,其特征在于:所述根据纹理数据计算出Overdraw值中的计算方式为:pixwrite=framecolor/colordef;pixtotal=width*height;overdraw=pixwrite/pixtotal;其中,colordef为物体绘制颜色参数,framecolor为生成的纹理数据,width为指定屏幕分辨率宽度,height为指定屏幕分辨率高度,pixtotal为当前屏幕像素总和,pixwrite为当前写入像素总和,overdraw为平均像素写入次数。
CN202010166129.5A 2020-03-11 2020-03-11 一种基于着色器的屏幕填充率统计方法及其系统 Active CN113393555B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010166129.5A CN113393555B (zh) 2020-03-11 2020-03-11 一种基于着色器的屏幕填充率统计方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010166129.5A CN113393555B (zh) 2020-03-11 2020-03-11 一种基于着色器的屏幕填充率统计方法及其系统

Publications (2)

Publication Number Publication Date
CN113393555A true CN113393555A (zh) 2021-09-14
CN113393555B CN113393555B (zh) 2023-09-15

Family

ID=77615364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010166129.5A Active CN113393555B (zh) 2020-03-11 2020-03-11 一种基于着色器的屏幕填充率统计方法及其系统

Country Status (1)

Country Link
CN (1) CN113393555B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116167907A (zh) * 2023-04-21 2023-05-26 北京麟卓信息科技有限公司 一种基于逐级逼近的像素填充率测试方法
CN116302764A (zh) * 2023-05-22 2023-06-23 北京麟卓信息科技有限公司 一种基于最小数据填充的纹理填充率测试方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2728551A1 (en) * 2012-11-05 2014-05-07 Rightware Oy Image rendering method and system
CN103810742A (zh) * 2012-11-05 2014-05-21 正谓有限公司 图像渲染方法和系统
CN104835191A (zh) * 2014-02-06 2015-08-12 想象技术有限公司 3d图形处理系统中用于处理图元的不透明度测试
CN107750373A (zh) * 2015-06-12 2018-03-02 高通股份有限公司 使用光线跟踪渲染以生成可见性流
CN108389151A (zh) * 2018-01-08 2018-08-10 珠海金山网络游戏科技有限公司 一种过度绘制的评估方法和系统
US20180240268A1 (en) * 2017-02-17 2018-08-23 Microsoft Technology Licensing, Llc Variable rate shading
CN108536582A (zh) * 2018-03-08 2018-09-14 挖财网络技术有限公司 Android应用过度绘制量化分析的方法及装置
CN109847358A (zh) * 2018-12-24 2019-06-07 苏州蜗牛数字科技股份有限公司 一种降低场景像素填充率的方法
CN110286979A (zh) * 2019-06-20 2019-09-27 杭州绝地科技股份有限公司 减少UI遮蔽导致的Overdraw的渲染方法和系统
CN110544290A (zh) * 2019-09-06 2019-12-06 广东省城乡规划设计研究院 数据渲染方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2728551A1 (en) * 2012-11-05 2014-05-07 Rightware Oy Image rendering method and system
CN103810742A (zh) * 2012-11-05 2014-05-21 正谓有限公司 图像渲染方法和系统
CN104835191A (zh) * 2014-02-06 2015-08-12 想象技术有限公司 3d图形处理系统中用于处理图元的不透明度测试
CN107750373A (zh) * 2015-06-12 2018-03-02 高通股份有限公司 使用光线跟踪渲染以生成可见性流
US20180240268A1 (en) * 2017-02-17 2018-08-23 Microsoft Technology Licensing, Llc Variable rate shading
CN108389151A (zh) * 2018-01-08 2018-08-10 珠海金山网络游戏科技有限公司 一种过度绘制的评估方法和系统
CN108536582A (zh) * 2018-03-08 2018-09-14 挖财网络技术有限公司 Android应用过度绘制量化分析的方法及装置
CN109847358A (zh) * 2018-12-24 2019-06-07 苏州蜗牛数字科技股份有限公司 一种降低场景像素填充率的方法
CN110286979A (zh) * 2019-06-20 2019-09-27 杭州绝地科技股份有限公司 减少UI遮蔽导致的Overdraw的渲染方法和系统
CN110544290A (zh) * 2019-09-06 2019-12-06 广东省城乡规划设计研究院 数据渲染方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KIRILL BELONOGOV: "UnityOverdrawMonitor", pages 1 - 2, Retrieved from the Internet <URL:《https://github.com/ken48/UnityOverdrawMonitor/blob/master/OverdrawMonitor/Assets/OverdrawMonitor/Sources/CameraOverdrawMonitor.cs》> *
波波沙: "一个好用的 overdraw 分析工具", pages 1 - 6, Retrieved from the Internet <URL:《https://zhuanlan.zhihu.com/p/83232058》> *
雨松MOMO: "Unity3D研究院之LWRP中计算准确overdraw(一百一十)", pages 1 - 8, Retrieved from the Internet <URL:《https://www.xuanyusong.com/archives/4674》> *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116167907A (zh) * 2023-04-21 2023-05-26 北京麟卓信息科技有限公司 一种基于逐级逼近的像素填充率测试方法
CN116167907B (zh) * 2023-04-21 2023-06-20 北京麟卓信息科技有限公司 一种基于逐级逼近的像素填充率测试方法
CN116302764A (zh) * 2023-05-22 2023-06-23 北京麟卓信息科技有限公司 一种基于最小数据填充的纹理填充率测试方法
CN116302764B (zh) * 2023-05-22 2023-07-18 北京麟卓信息科技有限公司 一种基于最小数据填充的纹理填充率测试方法

Also Published As

Publication number Publication date
CN113393555B (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
US20230245372A1 (en) Random Accessible Lossless Parameter Data Compression for Tile Based 3D Computer Graphics Systems
CN100357972C (zh) 计算机绘图之颜色资料的压缩系统及方法
Salvi et al. Adaptive transparency
JP3462211B2 (ja) 多態グラフィック・デバイス
CN110544290A (zh) 数据渲染方法及装置
US10242484B1 (en) UV mapping and compression
US10347042B2 (en) Importance sampling of sparse voxel octrees
WO2000019377B1 (en) Graphics processor with deferred shading
JP2010165357A (ja) グラフィックスを処理する方法およびそのための装置
CN113393555B (zh) 一种基于着色器的屏幕填充率统计方法及其系统
Roettger et al. A two-step approach for interactive pre-integrated volume rendering of unstructured grids
US8395629B1 (en) Reducing data stored in a deep-frame buffer
US20060284883A1 (en) Device for processing pixel rasterization and method for processing the same
US7400325B1 (en) Culling before setup in viewport and culling unit
CN115168682B (zh) 一种大规模时空点数据lod绘制方法及装置
CN113495933A (zh) 一种矢量瓦片显示方法及系统
CN114758051A (zh) 一种图像渲染方法及其相关设备
CN114491351A (zh) 可适配WebGIS平台的格点数据可视化方法和系统
US11417058B2 (en) Anti-aliasing two-dimensional vector graphics using a multi-vertex buffer
KR20180048081A (ko) 텍스쳐 처리 방법 및 장치
US10388060B2 (en) System and method for multi-view rendering
CN100583162C (zh) 正向纹理映射三维图形系统
CN116167907B (zh) 一种基于逐级逼近的像素填充率测试方法
CN111882498A (zh) 图像处理方法、装置、电子设备及存储介质
CN109872268B (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