Particle Trimming
来源:互联网 发布:域名注册通官网 编辑:程序博客网 时间:2024/06/07 00:17
Particle做为游戏表现的一大手段,对整个画面的提升有很大的作用,Particle越多让玩家觉得场景越丰富,但是随之而来的是对性能的严重吞噬,如果提升Particle是一个大的Title,这里介绍一下在不损失质量的前提下如果大幅降低像素填充的方法。
大多的Particle都是用AlphaBlend的方法进行绘制的,这意味着Particle本身面片的Z不会像不透明物体那样会有depth test来帮助Cull掉不必要的像素,因为Particle是透明的无法用Depth Cull掉OverDraw的像素。像素填充往往是Particle的一大瓶颈,仔细观察这些贴图会发现,贴图里的很多像素没有任何贡献,也就是说AlphaBlend的时候贴图的alpha是黑的,对最后画面没有任何贡献。
那么如何才能把这些像素给优化掉么?Humus在他的Blog里给处理具体方法并将其命名为"Particle Trimming",Humus的方法非常直截了当,Offline的分析Particle贴图的Alphat通道,通过增加顶点的方法来减少像素的数目(如下图),从下面的数据可以看出,居然最后可以节省一半的像素填充,这是极好的:)
Original: 100%
Aligned rect: 69.23%
Optimized 3 verts: 70.66%
Optimized 4 verts: 60.16%
Optimized 5 verts: 55.60%
Optimized 6 verts: 53.94%
Optimized 7 verts: 52.31%
Optimized 8 verts: 51.90%
详细信息可以参考Humus的原始链接
http://www.humus.name/index.php?ID=266
- Particle Trimming
- Trimming form fields
- WPF TextBlock Trimming
- Particle system!
- 16.particle
- Particle Universe
- particle Designer
- particle-editor
- Particle System
- Particle Filter
- Particle System
- Cake Cutting Algorithm -4 : Trimming Algorithm
- opencv3_java 图像的修剪裁剪Trimming Rect
- Unity3d用户手册Particle Systems Particle System Modules40
- 可以使用ActualHeight来判断textblock是否已经trimming
- 转录组分析之 Trimming对reads进行处理
- Particle Engine Using OpenGL
- Particle Fire [粒子火焰]
- STM8S207的AD转换
- Mysql创建存储过程,使用游标Cursor循环更新
- Windows7发布=64位系统的到来?
- java(20) - 代理模式
- 在mac系统安装Apache Tomcat的详细步骤
- Particle Trimming
- android中图片操作的常用方法
- javascript中return、return false、return true区别
- 关于Linux驱动的一种错误:Unable to handle kernel paging request at virtual address
- 为什么使用Hive?Hive提供了什么?Hive支持哪些用户?
- .net访问ORACLE数据库时遇到的错误列表
- win7本地svn服务器搭建步骤
- PyArg_ParseTuple format 格式
- linux下的系统调用函数到内核函数的追踪