Javascript 我可以在画布上使用ROPs吗?(我只关心性能原因)

Javascript 我可以在画布上使用ROPs吗?(我只关心性能原因),javascript,performance,canvas,bitblt,raster-graphics,Javascript,Performance,Canvas,Bitblt,Raster Graphics,所以。。。在制作游戏的好日子里,当你在屏幕上绘制精灵时,你会使用ROPs只绘制精灵的“不透明”部分。(是的,我很久没有做过任何游戏编码了) (如果你不知道我在说什么,。这是一个漂亮的黑客) 我现在正在尝试做一些“HTML5游戏”,我正在尝试不同的方法来做事情并测量它们的性能,我注意到画布上似乎没有ROPs。当你画东西的时候,“东西”有一个完整的阿尔法通道,实际上画半透明的东西和画不透明的东西一样快 现在,如果你在画半透明的东西,这很好,但是对于99.999%的你所做的,这听起来非常浪费,而且感觉

所以。。。在制作游戏的好日子里,当你在屏幕上绘制精灵时,你会使用ROPs只绘制精灵的“不透明”部分。(是的,我很久没有做过任何游戏编码了)

(如果你不知道我在说什么,。这是一个漂亮的黑客)

我现在正在尝试做一些“HTML5游戏”,我正在尝试不同的方法来做事情并测量它们的性能,我注意到画布上似乎没有ROPs。当你画东西的时候,“东西”有一个完整的阿尔法通道,实际上画半透明的东西和画不透明的东西一样快

现在,如果你在画半透明的东西,这很好,但是对于99.999%的你所做的,这听起来非常浪费,而且感觉如果我们有ROPs,我们可能会用旧的遮罩技巧画出10倍的速度

我是不是遗漏了什么?
Canvas已经有办法“关闭alpha”以加快绘制速度了吗?
我是不是完全疯了,这不要紧,因为事实上,我已经可以在3毫秒(300帧/秒)内画出1000个精灵,加上视频卡可能正在直接画,或者很快就会画出来,那么我在乎什么呢?
你觉得怎么样

谢谢大家!
丹尼尔

我是不是遗漏了什么

Canvas已经有办法“关闭alpha”以加快绘制速度了吗


不,对不起。无论发生什么,Alpha都只是元素中的一部分,这是迄今为止HtmleElement约定的一个事实。事实上,画布的默认状态是完全透明的100%黑色像素。

右。。。问题是。。。我是在无缘无故地抱怨吗?如果HTML5游戏开发人员想麻烦地制作他们的面具和使用ROPs,而不是让浏览器缓慢地为您处理这些问题,那么这难道不是大量不必要的性能浪费吗?这不是个好主意吗?(我知道这会使API复杂化,但没有必要使用它…)虽然我是画布性能的恶魔,但在当今这个时代,我不会把这种特殊的优化称为巨大的优化。好吧,这就是问题所在。10年前差别很大,我不确定这是否仍然相关。谢谢