在HTML5画布中加速索引彩色图像操作,伪调色板移位和色彩循环技术

时间:2014-12-13 11:49:40

标签: javascript html5 canvas webgl pixels

最近我在Javascript(this源代码)中创建了here小实验。 这是利用HTML5画布对象在网页内模拟旧视频游戏引擎的一点尝试。所以我模拟了索引颜色图像,伪颜色调色板和调色板移位,将来我也会实现颜色循环技术。

由于这个应用程序强烈基于像素操作,我需要在低级别工作:我开始使用

2dcontext.getImageData()
2dcontext.putImageData()
函数。不幸的是,使用这些功能简单地渲染640x480图像会导致帧速率危险地降低。

我已经测试了另一种创建一系列带有

2dcontext.fillRect()
的1x1矩形的替代方法,但这似乎要慢得多。

know WebWorkers不是解决方案:它们只会在多线程情况下提供帮助。

我认为可能将所有计算转移到GPU而不是使用像

2dcontext.getImageData()
2dcontext.putImageData()
这样的昂贵的方法可能有所帮助。但是最好的方法是什么,考虑到我总是需要一直访问单像素颜色信息,如果我想实现调色板移位和颜色循环技术? WebGL是一个解决方案吗?是否可以创建可以执行我需要的自定义着色器程序(link)?

非常感谢你的支持!

0 个答案:

没有答案