粒子系统优化记2

距离上一篇粒子系统优化记又过了两周啦(´-ω-`)。

上周老大说进度不错你们都不用加班了!!!

(´-ω-`)结果我就没干多少活儿。。。

(´-ω-`)上周只干了一件事:把粒子的顶点计算从CPU移到了GPU。。。”( ̄_, ̄ )”但是信不信最后在fraps跑benchmark结果是比原来慢了两帧……

(。・ω・)ノ゙反正吾能做的都做了,不管了。。。

“( ̄_, ̄ )”然后我这周干了啥?我想想哈。。。

首先是粒子的剔除。。。(´-ι_-`)真心给剔跪了。。。

(´-ι_-`)整个粒子系统都跑在逻辑线程里,只有Lock-memcpy-unlock这一步填顶点是跟渲染线程有交集的。。。

(´-ι_-`)然后场景的剔除都是在渲染线程里做的。。。

(´-ι_-`)这意味着如果我想把不必要的顶点填充剔除掉,需要做两件事:将粒子系统中的粒子拷贝一份,放到渲染线程里,由渲染线程在做完场景剔除之后,生成粒子的顶点。。。”( ̄_, ̄ )”当把代码改成这种结构,但是屏蔽掉对粒子的剔除之后,又慢了两帧(╯‵□′)╯︵┴─┴。。。(´-ω-`)暂且不提Lock-unlock阻塞渲染的开销。。。(╯‵□′)╯︵┴─┴粒子的复制也成了大…………………………开销。

(´-ι_-`)。

人生无望的赶脚。

而且代码让我改得乱七八糟。虽然之前的设计本来未必就合理。

“( ̄_, ̄ )”然后是粒子系统单开一个线程的问题了。。。”( ̄_, ̄ )”不管了。。。下周搞。。。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>