ParticleSystem的小优化】的更多相关文章

最近游戏场景希望加入一些ParticleSystem来丰富场景,这样肯定会带来一定的性能开销.一般来说ParticleSystem的优化就是尽量减少粒子数,尽量不使用粒子碰撞等.而今天要说的是,多个ParticleSystem之间的Draw Call问题. 例子: 首先场景中添加3个ParticleSystem如下 运行效果 这里展示了3个ParticleSystem叠加在一起的效果.这种需求会经常碰到. 起初采用的方案:给每个ParticleSystem添加了不同的材质,每个材质对应相应的图片…
/* bzoj 2763 SPFA小优化 循环队列+SLF 顺面改掉自己之前手打qeueu的坏毛病*/ #include<iostream> #include<cstring> #include<cstdio> #define mk make pair #define maxn 2000010 #define N 2000000 using namespace std; int n,m,k,s,t,num,hea[maxn],dis[maxn],c[maxn]; int…
问题 缓存 Array.length 是老生常谈的小优化. // 不缓存 for (var i = 0; i < arr.length; i++) { ... } // 缓存 var len = arr.length; for (var i = 0; i < len; i++) { ... } // 或者 for (var i = 0, len = arr.length; i < len; i++) { ... } 但以前写过 Java 的笔者一直对这种破碎的写法感到不适,也对这种写法的…
[MySQL5.6] 最近对group commit的小优化 http://www.tuicool.com/articles/rEZr2q 最近花了一些时间在做MySQL Group Commit的优化,关于Group commit的原理,这里不再赘述,有兴趣的可以翻阅我之前的博客 http://mysqllover.com/?p=581,这里简单描述下两点优化,主要基于MySQL5.6.16 1.优化binlog_order_commits=0并且sync_binlog>0时的性能  我们知道…
标签:闲扯 SPFA的小优化 1. 向队尾加入元素时,如果它比对首还优,就把把它直接和队首交换. 拿一个双端队列来实现 (手写 , head ,tail   STLdeque亲测及其慢) 这个小优化其实有点用  被卡成90分时可以试试 =.= if(dis[head]>dis[tail])swap(q[head],q[tail]); 2.求S到T的最短路时 ,如果当前点比dis[T]还弱, 就不要它了 ~…
直接把作业帖上来是不是有点不太公道呀... 无所谓啦反正各位看着开心就行 KMP算法 对于模式串$P$,建立其前缀函数$ N$ ,其中$N [q] $ 表示在$P$中,以$q$位置为结束的可以匹配到前缀的最长后缀的长度(也可以理解为那个前缀的结束位置),在匹配中,若$P[i]$与$S[j]$失配,则令$i=N [i-1] +1$ ,否则$i=i+1,j=j+1$ 现考虑如何构造$N$ ,设当前以计算出$N[1..i-1]$ ,则令$k=N[i-1]$ ,若 $P[k+1]=P[i]$,则令$N[…
今天真坑,老大请了两天假,来了之后指指点点,不过人家说的倒是很是到位 好不容易把嵌套小窗口登陆注册功能,做完了,直接调之前写好的登陆注册功能,也就是页面跳转 并不是ajax异步登陆 说让改成ajax ,返回json格式.也就是使用@ResponseBody罢了 恩,没错,改吧,页面直接用的freemarker取值也是有为题了,毕竟ajax后台model,put();的值是取不出来的. 解决完之后毕竟登陆注册小窗口是一个抽取出来的html,那个页面需要直接include进来罢了. OK.我自我感觉…
好题 题意:给你n<=100000个数,每个数范围[0,1000],然后给你一个最大的代价T,每次最多合并k个数成为一个数,代价为k个数的总和.问最后合成1个数的总代价不大于T的最小k 题解:我们首先知道当k越大,总代价会越小,这样我们就找到了单调性,可以二分k看是否满足代价(又见最大值最小化问题).然后我们贪心寻找固定k的最小代价,可以想到每次取前k个最小的值合并成一个,再放入数组中继续这个操作,直到最后变成一个数,这样我们可以直接使用优先队列模拟. 但是直接做会超时,所以我就YY了一个优化的…
1.修改ip地址.网关.主机名.DNS等 [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #网卡名字 BOOTPROTO=static #静态IP地址获取状态 如:DHCP表示自动获取IP地址 IPADDR=192.168.1.113 #IP地址 NETMASK=255.255.255.0 #子网掩码 ONBOOT=yes #引导时是否激活 GATEWAY=192.168.1.1 [root…
UWP提供的AutoSuggestBox本身非常好用,在项目中经常用到,但是当我们使用时发现一下不人性化的设置,例子1如下: <Page x:Class="SelfInkCanvas.AutoBoxTest" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml&qu…
一,单个光效的batch优化 理想状态下一个由若干粒子堆出来的光效只需要一至两个draw call: (1)至多使用alpha blend(垫底色)和additive(曝光)两个材质球,两shader均需要支持顶点色,不需要带tint color. (2)使用粒子系统的Start Color和Color over Lifetime来改变粒子颜色(它们都是顶点色),而不是使用shader上的tint color. (3)相同材质的粒子放到一个图集,使用粒子系统的Texture Sheet Anim…
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1008 题目大意:给你n*n的矩阵,每个格子里有4个三角形,分别是上右下左,每个三角形里面标记了数字,问你能否通过移动这n*n个格子,使得相邻两个三角形具有相同的数字? dfs暴搜,dfs(x,y)代表当前要放(x,y)这个位置. 然后枚举给定的每个格子. 如果说可以放,就dfs下一个格子. 这一道题需要把相同的格子压缩起来,也就是说为了节省时间,可以记录相同的格…
使用asp.net mvc习惯了,最近项目中又开始使用asp.net,有大量的ajax方法调用,之前有两种方法来处理: Switch case :方法少还行,如果很多,就太蛋疼了,而且方法堆在一块,也不美观 匿名方法:方法复用不好,vs代码也不便于折叠 最近研究了一下用反射方法来做,把类中所有公开方法都通过反射找出存到字典中,调用时匹配字典中的key,看是否有此方法. 以下是我写的方法,这种方法我总结有以下优点: 不用大量写大量判断语句,简洁 方法可以复用 可以集中处理一些事情,如调用前监控,处…
直接上代码 var month = prompt("请输入月数:") function fibobo(x) { //先定义一个已有前两项的数组,用来作缓存 var arr = [1, 1]; (function fib(n) { if (n === 0 || n === 1) { return 1; } //第一次执行n >= 2的值后,就往arr数组中添加 fib(n-1)+fib(n-2) 的值 //即:如果arr数组中不包含 fib(n-1)+fib(n-2) 的值 ,就添…
在之前我写的<<vim之tags>>中最后提到将vim和tags成和更新的全部集中到一个<f12>键上来. 这在实践中证明是相当方便的, 不过依然村庄几个问题如下: 1->由于需要顺序生成ctags和cscope的tag,之前的映射使用执行每条命令之后增加一个<cr>的方式来继续向下执行, 这样在按下<f12>之后终端会立刻出现的三个"请按Enter键继续的字样", 当然这个其实不算是一个真正的问题, 只是每次看这个它们…
委托的 DynamicInvoke 小优化 Intro 委托方法里有一个 DynamicInvoke 的方法,可以在不清楚委托实际类型的情况下执行委托方法,但是用 DynamicInvoke 去执行的话会比直接用 Invoke 的方法会慢上很多,差了两个数量级,所以在知道委托类型的情况下尽可能使用 Invoke 执行,但有时候我们并不知道委托的实际类型. 优化方法 优化方法,直接执行委托的对应的方法,DynamicInvoke 实际也是调用的对应的方法,我们如果执行调用对应的方法就可以优化 de…
1.nginx日志切割脚本 需求来源:nginx本身并没有日志切割的功能,由访问产生的大日志很难进行分析. 实现目的:每天对nginx日志进行切割,并备份至指定文件夹. 简要指令: mv /usr/local/tengine/logs/access.log /usr/local/tengine/logs/access-date.log kill -USER1 Nginx主进程号.   解释:      通过mv命令重命名日志,并且通过kill -USER1 nginx-id的命令,告诉nginx…
原文:http://blog.csdn.net/jinzhencs/article/details/51656548 1.查询某条记录是否存在 <!-- 查询s是否被创建过:Uuid,name,deleteFlag --> <select id="isCreated" parameterType="XXEntity" resultType="Integer"> select 1 from table where uuid…
HUST 2604 #include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> #include <queue> #include <cmath> using namespace std; const int N = 300010; const int MAXM = 300010; const int INF = 0x3f3f3f3f; int…
1.设置静态ip vim /etc/sysconfig/network-scripts/ifcfg-ens33 将BOOTPROTO=dhcp修改为BOOTPROTO=static ONBOOT=no修改为ONBOOT=yes 新增 IPADDR=192.168.80.129 PREFIX=24 #NETMASK=255.255.255.0 GATEWAY=192.168.80.2 DNS1=114.114.114.114 DNS2=8.8.8.8 之后重启网络服务 systemctl rest…
react中state和props变化会造成render的重新渲染,有时候我们会在render函数中进行一些稍微复杂的逻辑运算 比如说,像下边这种 在props中将 industries引入,然后对其进行筛选,筛选出符合条件的子项有对其进行遍历制造出Option选项,这样写其实并不优雅,会使render变得很臃肿,现在有一种类似于vue的计算属性,可以将之完全抛离. 我们可以将这几步写到一个函数里进行操作,然后在return想要的结果  …
http://developer.android.com/training/articles/memory.htmlhttp://developer.android.com/tools/debugging/debugging-memory.html Managing Your App's Memory 内存宝贵,虽然有虚拟机的GC机制,但app还是要关注内存的分配和释放. 避免内存泄露, 在合适的时机释放对象的引用 Android 没有给内存提供交换空间,但是使用到了paging 和 memor…
在xamarinz中关于listview的滚动,我这里有点小优化,我做了一个类似QQ的聊天页面,上面是一个listview,下面时一个editText,当在手机上使用时,发现在android平台下,如果有多条信息,点击editText时,会弹出键盘,editText会被推上去,我的listview也要跟随往上推,但是由于版本问题,listview的item并没有网上滚动到底部,于是我简单的在editText的Focused事件上添加滚蛋代码如下: txtMessage.Focused += Tx…
人类大脑与眼睛对一个画面的连贯性感知其实是有一个界限的,譬如我们看电影会觉得画面很自然连贯(帧率为24fps),用手机当然也需要感知屏幕操作的连贯性(尤其是动画过度),所以Android索性就把达到这种流畅的帧率规定为60fps. 有了上面的背景,我们开发App的帧率性能目标就是保持在60fps,也就是说我们在进行App性能优化时心中要有如下准则: <code class="hljs brainfuck has-numbering" style="display: bl…
现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高.软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治.开发人员解决数据问题基本又是搜遍百度各种方法尝试个遍,可能错过诊断问题的最佳时机又可能尝试一堆方法最后无奈放弃. 怎么样让琐事缠身的程序维护人员,用最快的方式解决数据库出现的问题?怎么让我们程序员的痛苦降低到最小...每天喝喝茶水,看看新闻平安度过一天呢?本系列重要通过Expert for sqlserver工具讲解下数据库遇…
上一篇我们简单的介绍了,语句优化的三板斧,大部分语句三板斧过后,就算不成为法拉利也能是个宝马了.为了方便阅读给出系列文章的导读链接: SQL SERVER全面优化-------Expert for SQL Server 诊断系列 本篇主要讲述几个常见的系统等待,透过这些等待,看看系统存在什么问题,怎么样解决这些问题.结合系统三巨头(CPU,内存,磁盘)综合展现系统问题和这些元素的联系. 首先我们举个例子:前文提到了,一个好的SQL语句就好比一辆时速180的好车,好的系统硬件(CPU,内存,磁盘)…
距离上次的博客已经有15个多月了,感慨有些事情还是需要坚持,一旦停下来很有可能就会停很久或者从此再也不会坚持.但我个人一直还坚持认为属于技术狂热份子,且喜欢精益求精的那种.最近遇到两个和数据迁移相关的项目,均遇到需要性能优化的问题,这里拿第二个项目的一个小优化过程与大家分享,技术并不高深,我注重的是解决问题的过程.我的方案是有业务背景以及技术背景限制的,不一定适合其它项目,优化是相对的. 业务场景:我们需要迁移一批老的合同订单数据,其有一个合同的订单数为519条,迁移到新表中会涉及到主要的4个表…
Android MVP粗来已经有段时间了,在项目中我也多多少少用了一些,不得不说代码使用这种模式后,条例确实清晰了好多,整个流程看起来有点各司其职的感觉(另一种的java面向对象的方式). 不过这里是我在使用过程中遇到的一点小优化,直接进入代码来说吧!!! import java.lang.ref.Reference; import java.lang.ref.WeakReference; public class Presenter <T>{ private Reference<T&g…
完全背包的模版题.. 加了一个小优化  n^2的写法 O(V+N)在本题中复杂度较高 不采纳 完全背包问题有一个很简单有效的优化,是这样的:若两件物品i.j满足c[i]<=c[j]且w[i]>=w[j],则将物品j去掉,不用考虑.这个优化的正确性显然:任何情况下都可将价值小费用高得j换成物美价廉的i,得到至少不会更差的方案.对于 随机生成的数据,这个方法往往会大大减少物品的件数,从而加快速度.然而这个并不能改善最坏情况的复杂度,因为有可能特别设计的数据可以一件物品也去不掉. 这个优化可以简单的…
有幸参与2015年的PHP技术峰会(PHPCON),听了鸟哥(惠新宸)的关于PHP7的新特性和性能优化的分享,一切都令人感到激动.鸟哥是国内最权威的PHP专家,他的分享有很多非常有价值的东西,我通过整理分享的PPT和收集相关资料,整理为这篇解读性质的技术文章,希望能给做PHP开发的同学一些帮助. PHP已经走过了20年的历史,直到今天,PHP7都发布了RC版,据说,PHP7正式版应该会在2015年11月份左右发布.PHP7对于上一个系列的PHP5.*,可以说是一个大规模的革新,尤其是在性能方面实…