2.Optimising Geometry

  Interleaving Attributes

VBO

Draw call size

Triangle Size  32个像素/primitive    ---3vertex so 10pixel/vertex

Face Culling

Sorting Geometry

  Distance

  Render state

Z Pre-pass 不推荐做 因为没用 会有额外clocks 和bandwidth开销

3.Texture

texture size 不是越大越好,大的会费memory和引起cachemissing,最近的时候texel:pixel为1:1,一定用压缩。

NPOT  not power of two

512x128 是POT

NPOT使用GL_CLAMP_TO_EDGE 用默认repeat会有error

有扩展专门处理它 GL_IMG_texture_npot

推荐使用32的倍数

推荐不要使用NPOT 性能下降 涉及mipmaplevel  sizeofTexture target platform

Texture Compression

他家有工具PVRTexTool

PVRTC特点是smaller memory footprint省电

jpc等等是image compression 会在system memory里解压

PVRTC压缩状态直接提交graphic core使用

mipmap 减小cachemissing降低带宽 反走样 memory开销增加

Texture Sampling

dependent texture read 会有fetch texture开销 如果有复杂alu开销可以 通过调度把fetch 开销给掩盖掉

vertex shader lookup 是dependent texture read

只用varying的部分通道比如zw也算 dependent texture read

Texture2DProj() 参数Vec3 或者Vec4有无效的w也是dependent texture read

尽量在vs里算uv 即使PowerVR对此有一定优化, Rouge better than SGX

Texture Uploading

非压缩的tex 是line-scan-line format读取

压缩tex 是block-by-block读取

texture 初始化时传入 最好用他们画一遍trangle 这样可以warm up

颜色用lowp

浮点数                                  精度                整数范围

FP32 highp             ,,[2^31-1,-2^31]

FP16 Mediump [-65504.0,65504.0],,[2^15-1,-2^15] --32768   1 5 11

十位定的小数 lowp   [-2.2], 1/256, [2^9-1,-2^9]

https://docs.unity3d.com/Manual/SL-DataTypesAndPrecision.html

手机 float highp

half Mediump

浮点数精度这里,抄个东西在手机上遇到half的问题

pc上没有这个问题,原来pc会自动把half转为float处理 怪不得我就奇怪他们都是FP16为什么只有手机有问题。。

性能三 powerVR specfication的更多相关文章

  1. 【性能测试】性能测试总结<一>

    目录: 一. 什么是软件性能 二.不同群体眼中的性能 三.性能测试类型 四.性能测试应用场景 五.性能测试基本概念 正文: 一. 什么是软件性能 定义:软件的性能是软件的一种非功能特性,它关注的不是软 ...

  2. JAVA IO分析三:IO总结&文件分割与合并实例

    时间飞逝,马上就要到2018年了,今天我们将要学习的是IO流学习的最后一节,即总结回顾前面所学,并学习一个案例用于前面所学的实际操作,下面我们就开始本节的学习: 一.原理与概念 一.概念流:流动 .流 ...

  3. Oracle 优化和性能调整

    分析评价Oracle数据库性能主要有数据库吞吐量.数据库用户响应时间两项指标.数据库用户响应时间又可以分为系统服务时间和用户等待时间两项,即:  数据库用户响应时间=系统服务时间+用户等待时间  因此 ...

  4. Netty 系列之 Netty 高性能之道 高性能的三个主题 Netty使得开发者能够轻松地接受大量打开的套接字 Java 序列化

    Netty系列之Netty高性能之道 https://www.infoq.cn/article/netty-high-performance 李林锋 2014 年 5 月 29 日 话题:性能调优语言 ...

  5. mysql 数据库引擎

    一.数据库引擎 数据库引擎是用于存储.处理和保护数据的核心服务.利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求. 使用数据库引擎创建用于联机事务处理或 ...

  6. Netty 系列之 Netty 高性能之道

    1. 背景 1.1. 惊人的性能数据 最近一个圈内朋友通过私信告诉我,通过使用 Netty4 + Thrift 压缩二进制编解码技术,他们实现了 10 W TPS(1 K 的复杂 POJO 对象)的跨 ...

  7. 相克军_Oracle体系_随堂笔记001-概述

    一.Oracle官方支持 1.在线官方文档 http://docs.oracle.com/ 2.metalink.oracle.com,如今已经改成:http://support.oracle.com ...

  8. Asp.net 面向接口可扩展框架之使用“类型转化基础服务”测试四种Mapper(AutoMapper、EmitMapper、NLiteMapper及TinyMapper)

    Asp.net 面向接口可扩展框架的“类型转化基础服务”是我认为除了“核心容器”之外最为重要的组成部分 但是前面博文一出,争议很多,为此我再写一篇类型转化基础服务和各种Mapper结合的例子,顺便对各 ...

  9. 《In Search of an Understandable Consensus Algorithm》翻译

    Abstract Raft是一种用于管理replicated log的consensus algorithm.它能和Paxos产生同样的结果,有着和Paxos同样的性能,但是结构却不同于Paxos:它 ...

随机推荐

  1. js18位身份证验证(非原创)

    原文链接 function check_id(value) { var arrExp = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];/ ...

  2. qt model--view-delegate模式的界面设计概念,ListView用法

    最经典的界面设计模式,必须知道. 作为 一种经典到 不能 再 经典 的 架构 模式, qt的model--view-delegate大 行其 道 有其 必然 的 道理. 通过 把 职责. 性质相近的 ...

  3. [转帖]两种以太网 RDMA 协议: iWARP 和 RoCE

    两种以太网 RDMA 协议: iWARP 和 RoCE https://weibo.com/p/1001603936363903889917?mod=zwenzhang 写的挺好的呢. 本文是讲演 H ...

  4. Redis持久化RDB、AOF

    持久化的意思就是保存,保存到硬盘.第一次接触这个词是在几年前学习EF. 为什么要持久化 redis定义:Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代 ...

  5. Python14之字符串(各种奇葩的内置方法)

    一.字符串的分片操作 其分片操作和列表和元组一样 str1 = 'keshengtao' str1[2:6] 'shen' str1[:] 'keshengtao' str1[:4] 'kesh' 二 ...

  6. Linux基础-12-yum管理软件包

    1. yum的功能 yum是Yellow dog Updater, Modified的缩写,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装.升级等等工作. 2. 光盘挂载和镜像挂载 ...

  7. MySQL中的case when 中对于NULL值判断的坑

    sql中的case when 有点类似于Java中的switch语句,比较灵活,但是在Mysql中对于Null的处理有点特殊 Mysql中case when语法: 语法1: CASE case_val ...

  8. 匹配script标签及内容js代码的正则表达式

    <script>[\s\S]+?</script>

  9. ES与关系型数据库的通俗比较

    1.在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中,我们可以画一些简单的对比图来类比传统关系型数据库: Relational DB -> D ...

  10. Spark机器学习基础-无监督学习

    0.K-means from __future__ import print_function from pyspark.ml.clustering import KMeans#硬聚类 #from p ...