我正在寻找一个好的插件: a)快速渲染 b)顶部的线条,形状和图像 c)矩形帆布区域的大小可以在加载时声明。
它需要以20-30fps的速度运行,而不会给浏览器带来沉重的负担。它还需要能够与JavaScript和DOM进行交互。
创建我自己的Flash插件是首选,但我想首先寻求免费的,开源的和/或非专有的解决方案。 HTML5画布是不可能的 - 它渲染速度太慢。
有人碰巧知道有这些功能吗? (我甚至可以使用符合上述要求的预制Flash插件)
答案 0 :(得分:2)
您的请求仍然含糊不清。线条和形状需要做什么?坐在那里看起来很漂亮?
如果您的线条,形状和图像的总数少于5,000个,我建议使用 SVG ,也许使用Raphael库。每个SVG对象都是一个来自get-go的DOM对象,它可以为您节省一些与尝试使用Flash或Canvas相关的麻烦。
如果您确实需要批次更多性能或计划在屏幕上显示50,000个对象,Canvas可能适合您。
答案 1 :(得分:1)
“创建我自己的Flash插件是 第一选择“
我不清楚你的“插件”是什么意思 - 我假设你只是指“闪存文件”(一个SWF?)。
我认为@WTP是一个很好的观点。你说“快速渲染”但是什么?这有多复杂? Flash在矢量图形方面具有非常好的速度,并且更快地渲染优化的位图数据(这里选择的技术是blitting)。这一切都归结为图形的优化/复杂性。无论是插件/技术解决方案,您都将能够以低效的设计削弱机器。
要回答您的问题,Flash肯定会满足您的需求。
我也敢冒险尝试Canvas / JS,但显然你已经尝试过了吗?我看到很复杂的场景运行得非常快,所以让我感到惊讶。
我还要注意即将推出的Molehill API for Flash。这提供了对GPU的低级访问 - 并且将在浏览器中创建令人惊叹的 2d / 3d性能的潜力。但它仍处于阿尔法,所以...不要屏住呼吸;)
答案 2 :(得分:0)
我只知道“支持矢量图形”部门的四个主要参与者 - HTML Canvas,Flash,Silverlight和Java applet。除了画布,它们都以某种方式是专有的。好消息是,他们都有能力以某种方式免费编译,而且我的理解通常比画布更快。现在,我碰巧知道Flash,这可能会影响我的意见,但我相当肯定这是你最好的选择。它具有良好的性能和坚实的安装基础。它也可以在Linux上运行,不会引发重大安全问题。
查找Flash Builder(Flex)sdk。有命令行编译。