首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >安卓OpenGL片段着色器分辨率

安卓OpenGL片段着色器分辨率
EN

Stack Overflow用户
提问于 2014-05-20 01:27:09
回答 2查看 1.2K关注 0票数 3

我有一个碎片着色器,运行在25英尺左右。如果屏幕分辨率较低,我猜着色器会运行得更快。有没有办法让我的着色器在低分辨率屏幕上运行?因此,从本质上说,为了获得性能,牺牲细节--输出会更好--。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-20 01:40:56

您还可以进行其他优化(比如呈现较少的原语)

但是,如果您想以较低的分辨率呈现,那么您应该首先呈现到屏幕外的低分辨率帧缓冲区,然后用该缓冲区作为全屏四角体上的纹理重新呈现,使其具有完全分辨率。

编辑:查看您的代码,您可以执行以下操作:

  1. 将代码移动到顶点着色器,并将结果传递给varrying vec3 f_color输出,在片段着色器中将gl_FragColor设置为该输出。
  2. 在-1,-1和1之间建立一个三角形的均匀网格,其中三角形的数量取决于你想要的分辨率。
  3. 画出那个网格
票数 2
EN

Stack Overflow用户

发布于 2014-05-20 01:56:10

从请求的语气来看,我猜想你对OpenGL的要求是新的(因为关于分辨率的要求是非常基本的,而不是有意的,我们都是以某种方式开始的):棘轮怪胎的答案是正确的(在低分辨率的纹理上显示纹理的->render是对分辨率问题的直接回答),然而,正如棘轮怪胎所暗示的那样,你可能应该寻找解决问题的其他方法(因为降低碎片着色器的分辨率会使您的输出看起来很糟糕的™)。

一些提示:

  • 尽量在顶点着色器中做更多的工作:在顶点着色器中,每个顶点可以执行许多计算,然后(通过内插)发送到片段着色器。这是一个巨大的优化源,每次可能的时候都应该被利用
  • 搜索片段着色器中的循环和条件(if/然后),特别是不能展开的周期(可变范围)和不依赖于制服的条件,因为它们在片段着色器级别都是相当繁重的。
  • 如果可能的话,呈现较少的原语
  • 如果您正在使用许多复杂的函数(cos/sin/sqrt等),请尝试缓存结果和/或使用查找表(如果可能的话)
  • 启用剔除和深度测试,以减少几何栅格化的数量,不确定它是否会有帮助,但不会造成伤害;)
  • 如果结果不降低,则降低某些计算的精度。

你可以试着在你的问题中张贴你的片段着色器。

希望这能有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23755909

复制
相关文章
【数据库报错(未删除任何行,未更新任何行)】
首先查看定义的表格数据类型有无问题,点击表格编辑前100行 如何更改编辑行数:更改编辑行数 这里的允许NULL值为通过输入端输入后,写进数据库是否包含空值 例如,输入端通过注册输入注册名后,若允许NULL值未勾选,则写进表格的为用户名+数据类型除了用户名所占字节剩余用空格进行填充(写入表格中的数据为用户名+若干空格) 若允许NULL值勾选了,则写进表格的即为刚刚进行注册的用户名,其后没有多余空格
magize
2023/07/11
3810
【数据库报错(未删除任何行,未更新任何行)】
获取jqGrid中选择的行的数据
var id=$(‘#gridTable’).jqGrid(‘getGridParam’,'selrow’);
ydymz
2018/09/10
2.5K0
[MySQL] mysql 的行级显式锁定和悲观锁
隐式和显式锁定: 1.innodb是两阶段锁定协议,隐式锁定比如在事务的执行过程中.会进行锁定,锁只有在commit或rollback的时候,才会同时被释放 2.特定的语句进行显式锁定 select ... lock in share mode ; select ... for update,where条件里面的必须是主键,否则会锁整张表 3.需要用在事务中使用,并且两个查询都需要for update才能阻塞住另一个去读,也就是实现写锁,阻塞别的读锁,悲观排他的目的 4.如果不想开启事务,就把autocommit关掉,这样默认就是开启事务了,每次都要commit才行
唯一Chat
2019/09/10
1.2K0
[MySQL] mysql 的行级显式锁定和悲观锁
MySQL SQL更新锁定
版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。
Leshami
2018/12/19
2.5K0
SQL"已更新或者删除的行值要么不能使该行成为唯一行,要么改变了多个行(X行)“解决办法
  这种问题大多是由于没有主键(PK)导致同一张表中存在若干条相同的数据。DBMS存储时,只为其存储一条数据,因为DBMS底层做了优化,以减少数据冗余。所以删除或更新一条重复数据就牵一发而动全身。
孙晨c
2019/09/10
3.6K0
SQL"已更新或者删除的行值要么不能使该行成为唯一行,要么改变了多个行(X行)“解决办法
css选择器选择奇数行或偶数行
:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。
蓓蕾心晴
2022/12/06
2.4K0
MySQL的行转列
所谓的行转列操作,就是将一个表的行信息转化为列信息,说着可能比较笼统,这里先举个例子,如下:
AsiaYe
2019/11/06
13.2K0
Python-科学计算-pandas-11-df获取特定行或者列
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2
zishendianxia
2020/06/16
2.1K0
mysql行转列
目录 1 mysql行转列 1 mysql行转列 SELECT t.shsexssjhylydm ,count( 1 ) count FROM ( select REGEXP_SUBSTR(SHSEXSSJHYLYDM, '[^,]+', 1, L) AS SHSEXSSJHYLYDM,shsexsbh from TB_YW_SHSEXS_XS xs, (SELECT LEVEL L FROM DUAL CONNECT BY LEVEL <= 1000) WHERE L(+)
一写代码就开心
2022/05/27
3.2K0
SQL 获取纯数值的行
在 MySQL 库中有个 mix 表,它有一个列叫作 v,该列存储了文本和纯数值的内容。部分数据如下:
白日梦想家
2020/11/26
1.6K0
mysql行转列简单例子_mysql行转列、列转行示例[通俗易懂]
最近在开发过程中遇到问题,需要将数据库中一张表信息进行行转列操作,再将每列(即每个字段)作为与其他表进行联表查询的字段进行显示。
全栈程序员站长
2022/07/01
4.8K0
mysql行转列简单例子_mysql行转列、列转行示例[通俗易懂]
mysql行转列转换
sql 脚本 -- 创建表 学生表 CREATE TABLE `student` ( `stuid` VARCHAR(16) NOT NULL COMMENT '学号', `stunm` VARCHAR(20) NOT NULL COMMENT '学生姓名', PRIMARY KEY (`stuid`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB; -- 课程表 CREATE TABLE `courses` ( `cours
皇上得了花柳病
2020/05/04
2K0
Mysql行级锁
锁是计算机协调多个进程或纯线程并发访问某一资源的机制. 在mysql中更是用处多多, 今天就一起看下mysql中的行级锁. 它主要包括行锁, 间隙锁, 临键锁三种. 首先我们先了解几个基础概念.
一个架构师
2022/06/27
3.3K0
Mysql行级锁
【MySQL】InnoDB行格式
首先明确在 innodb 引擎中数据是以页为基本单位读取的,而一个页中又包含多个行数据,那么对应地就会有不同的行格式来存储数据,innodb 中的行格式有四种:compact、redundant、dynamic、compressed。redundant 是 5.0 之前用的行格式,这里就不记录了。
玛卡bug卡
2022/12/18
1.6K0
【MySQL】InnoDB行格式
Mysql 行转列 + json
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137507.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/05
2.3K0
一行代码获取股票、基金数据,并绘制K线图
大家好,我是老表,今天这篇文章和大家分享一下如何利用Python获取股票、基金数据,并进行可视化,为金融分析&可视化先导篇。
老表
2022/10/31
1.5K0
一行代码获取股票、基金数据,并绘制K线图
mysql行转列函数_mysql行转列,函数GROUP_CONCAT(expr)
SELECT id, product_name FROM `product` WHERE id < 5
全栈程序员站长
2022/08/23
3.1K0
mysql行转列函数_mysql行转列,函数GROUP_CONCAT(expr)
MySQL原理 - InnoDB引擎 - 行记录存储 - Compact 行格式
MySQL 服务器上负责对表中数据的读取和写入工作的部分是存储引擎,比如 InnoDB、MyISAM、Memory 等等,不同的存储引擎一般是由不同的人为实现不同的特性而开发的,目前OLTP业务的表如果是使用 MySQL 一般都会使用 InnoDB 引擎,这也是默认的表引擎。
干货满满张哈希
2021/04/12
1.3K0
MySQL原理 - InnoDB引擎 - 行记录存储 - Compact 行格式
MySQL原理 - InnoDB引擎 - 行记录存储 - Redundant行格式
在上一篇:MySQL原理 - InnoDB引擎 - 行记录存储 - Compact格式 中,我们介绍了什么是 InnoDB 行记录存储以及 Compact 行格式,在这一篇中,我们继续介绍其他三种行格式。
干货满满张哈希
2021/04/12
6540
MySQL原理 - InnoDB引擎 - 行记录存储 - Redundant行格式
MySQL行锁的最佳实践
行锁就是针对数据表中行记录的锁。事务A更新了一行,而这时候事务B也要更新同一行,须等事务A操作完成后才能更新。
JavaEdge
2022/11/30
1.6K0

相似问题

只选择未锁定的行mysql

46

是否选择行并更新相同的行以进行锁定?

21

选择并锁定一行,然后更新

31

MySQL行锁定和更新

12

mysql -更新时锁定行

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文