本帖最后由 cyqsimon 于 2015-8-8 23:19 编辑 

Dinnerbone: At long last, our Particles are no longer Entities. Basically means they're not memory hogs anymore!
Dinnerbone: 我们的粒子效果终于不再使用单独的实体实现了。换言之就是说,他们不会再这么占内存了!
从java代码实现的角度来讲,每一个实体都是一个拥有非常多属性的对象,所以如果只是为了实现粒子效果的话会占用许多不必要的内存空间,这次更改后可能是通过openGL State Machine的方式直接渲染,而非面向对象的编程方式实现的粒子效果。
个人推断,大量TNT爆炸时的高内存占用和使用实体实现粒子效果摆脱不了干系,以后在处理复杂场景时,内存占用情况应该会可观许多。
更新:

Dinnerbone 尝试了一下,结果同时创建16000个粒子效果没有产生卡顿
结果被同僚毫不留情地喷了

Grum: 有些人口中的“我没有感觉到帧率降低”的意思是只是说,我的帧率没有降低到垂直同步限制的60fps以下

Dinnerbone: At long last, our Particles are no longer Entities. Basically means they're not memory hogs anymore!
Dinnerbone: 我们的粒子效果终于不再使用单独的实体实现了。换言之就是说,他们不会再这么占内存了!
从java代码实现的角度来讲,每一个实体都是一个拥有非常多属性的对象,所以如果只是为了实现粒子效果的话会占用许多不必要的内存空间,这次更改后可能是通过openGL State Machine的方式直接渲染,而非面向对象的编程方式实现的粒子效果。
个人推断,大量TNT爆炸时的高内存占用和使用实体实现粒子效果摆脱不了干系,以后在处理复杂场景时,内存占用情况应该会可观许多。
更新:

Dinnerbone 尝试了一下,结果同时创建16000个粒子效果没有产生卡顿
结果被同僚毫不留情地喷了

Grum: 有些人口中的“我没有感觉到帧率降低”的意思是只是说,我的帧率没有降低到垂直同步限制的60fps以下
也就是说以后很多个TNT一起爆炸时,内存可以不受折磨了(CPU&显卡:“内存菌……你别走……”)
然并卵系列
不再使用单独实体实现?那么现在是通过一个新的Particles对象来实现么……看起来差不多呐……
看来你并不知道这么做的重大意义
tsd1 发表于 2015-8-7 20:11
看来你并不知道这么做的重大意义
因为从来不开粒子
新生のabmfy 发表于 2015-8-7 20:12
不再使用单独实体实现?那么现在是通过一个新的Particles对象来实现么……看起来差不多呐…… ...
我加了一句自己的推测,可能是直接调用了包含OpenGL渲染的方法,而不是先创建对象,再由对象实现渲染的方法了
tsd1 发表于 2015-8-7 20:11
看来你并不知道这么做的重大意义
只能说,在大多数情况下会有少量性能提升,少部分情况下性能会大幅提升
表示显卡无力支撑1.9的openGL,已经因为显卡问题拒绝打开1.9的游戏了QAQ
我地图的审核到现在都没完成
渣机的福音~~~
cyqsimon 发表于 2015-8-7 20:14
只能说,在大多数情况下会有少量性能提升,少部分情况下性能会大幅提升 ...
用crackshot制造大量轰炸也许会好得多
还有大量tnt爆炸
不过,一般用处的确不大
这样性能会提升吧?
终于不再在别人都在欣赏烟花的时候我却在卡翻天了
好!原来一用那个命令就卡
喜闻乐见 喜大普奔
指令党大福利
指令党大福利
我们的例子效果
例子效果23
终于不用看见一群点燃100个TNT而不卡的人的装逼了
内存不高终于有办法了!
对玩家来说当然是好事。
不过对于Mojang那群开发人员和各个Mod、插件编写者来说,不以面向对象的思想的话,粒子这一块的处理大概会变难吧
不过对于Mojang那群开发人员和各个Mod、插件编写者来说,不以面向对象的思想的话,粒子这一块的处理大概会变难吧
这么说使用粒子效果的时候将会不再使用多属性的实体来进行制作了,那将会很流畅
就是说,我的渣机以后可以开粒子效果了???
TNT测试不了CPU咯
tsd1 发表于 2015-8-7 20:11
看来你并不知道这么做的重大意义
从来不开粒子路过
我擦,我电脑一直不能开粒子效果,开了就卡,还用optifine把所有的粒子效果全关了