cyqsimon
本帖最后由 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以下

G王者Z巨蟹Y
也就是说以后很多个TNT一起爆炸时,内存可以不受折磨了(CPU&显卡:“内存菌……你别走……”)

j7528802
然并卵系列

Lexx
不再使用单独实体实现?那么现在是通过一个新的Particles对象来实现么……看起来差不多呐……

tsd1

看来你并不知道这么做的重大意义

j7528802
tsd1 发表于 2015-8-7 20:11
看来你并不知道这么做的重大意义

因为从来不开粒子

cyqsimon
新生のabmfy 发表于 2015-8-7 20:12
不再使用单独实体实现?那么现在是通过一个新的Particles对象来实现么……看起来差不多呐…… ...

我加了一句自己的推测,可能是直接调用了包含OpenGL渲染的方法,而不是先创建对象,再由对象实现渲染的方法了

cyqsimon
tsd1 发表于 2015-8-7 20:11
看来你并不知道这么做的重大意义

只能说,在大多数情况下会有少量性能提升,少部分情况下性能会大幅提升

guqu
表示显卡无力支撑1.9的openGL,已经因为显卡问题拒绝打开1.9的游戏了QAQ

朱大常
我地图的审核到现在都没完成

小鱼123
渣机的福音~~~

tsd1
cyqsimon 发表于 2015-8-7 20:14
只能说,在大多数情况下会有少量性能提升,少部分情况下性能会大幅提升 ...

用crackshot制造大量轰炸也许会好得多
还有大量tnt爆炸
不过,一般用处的确不大

lichi2050
这样性能会提升吧?

Niayou
终于不再在别人都在欣赏烟花的时候我却在卡翻天了

毒蛇
好!原来一用那个命令就卡

lzs1234
喜闻乐见 喜大普奔
指令党大福利

星光灬羽神
我们的例子效果

例子效果23

owiemaness
终于不用看见一群点燃100个TNT而不卡的人的装逼了

scorpio975
内存不高终于有办法了!

Greensky
对玩家来说当然是好事。
不过对于Mojang那群开发人员和各个Mod、插件编写者来说,不以面向对象的思想的话,粒子这一块的处理大概会变难吧

下一页 最后一页