这是一个很早以前就有的JavaFX、Flash、Silverlight应用速度对比测试,传到Blog上来做一个参考。不过,这个测试结果可信度并不太高,一是三者版本已经都提升了,二是原作者使用的JavaFX算法与Flash、Silverlight的不对等……

作者网站在此,里面有很多Flash、Silverlight的应用示例:http://www.shinedraw.com/

  • Carousel [JavaFx 1.1] (399 KiB, 1,485 hits)
  • FPS Meter [Flash 9, AS3] (129.9 KiB, 2,742 hits)
  • FPS Meter [Silverlight 2, C#] (139.6 KiB, 2,851 hits)

JavaFx

<!-- javafx( { archive: "http://www.shinedraw.com/wordpress/wp-content/uploads/FpsMeter/Carousel.jar", draggable: true, width: 550, height: 400, code: "carousel.Main", name: "Carousel" } ); // -->

Flash

Silverlight

作者的话:

开诚布公的说,我对于JavaFX没有什么好印象,我想这可能是以下原因造成的:

1、没有任何UI编辑工具,我总要与脚本打交道。如果只能用编码方式进行开发,那可就一点也不好玩了。

2、应用程序老是需要花费很长时间才能加载成功,我不知道为什么会这样,总之每次在IE中启动程序,都要过一小段才能显示出内容。

3、以JavaFX运行程序,不但需要.jar文件,还要去配置.jnlp。

4、我不知道哪些属性可以与特定对象相关联。

5、有些时候,调试器无法获得正确的错误位置。

6、JavaFx是一种全新的脚本,学习它需要很长时间。

7、当滚动页面时,JavaFX中可能会出现残像。

实际上,除此之外我还有一些不好的体验,就不一一列举了。

可能有人会说,JavaFX是一个相对较新的技术,这些都是很平常的问题,你需要耐心等待。我同意这一点,因此我将等待JavaFX的后续发展,然后再花时间学习它。

我还记得,Silverlight在它的第一版中也没什么吸引力。那么,JavaFX下面会怎么样呢?

————————————————————————————

另外,笔者自己再补充个LGame-Simple的实现:

package org.loon.test; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.awt.geom.AffineTransform; import org.loon.framework.game.simple.GameScene; import org.loon.framework.game.simple.core.Deploy; import org.loon.framework.game.simple.core.LSystem; import org.loon.framework.game.simple.core.LTimerContext; import org.loon.framework.game.simple.core.Screen; import org.loon.framework.game.simple.utils.GraphicsUtils; /** * Copyright 2008 - 2009 * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. * * @project loonframework * @author chenpeng * @email:ceponline@yahoo.com.cn * @version 0.1 */ public class FPS extends Screen { private final static int ycenter = 90; private final static int xcenter = 220; private final static double shift = Math.PI / 2; private double image_gap = Math.PI; private double angle; private double angle_rad = angle * Math.PI / 180; private int total; class Carousel { double x, y, scale; int width, height; Image image; public Carousel(String fileName) { this.image = GraphicsUtils.loadImage(fileName); this.width = image.getWidth(null); this.height = image.getHeight(null); } public void draw(Graphics2D g) { AffineTransform transform = new AffineTransform(); transform.translate(x, y); transform.scale(scale, scale); g.drawImage(image, transform, null); } public void update(double i, double angle) { scale = 0.8 + 0.5 * Math.sin(angle + i * image_gap + shift); x = Math.cos(angle + i * image_gap + shift) * xcenter + xcenter; y = Math.sin(angle + i * image_gap + shift) * ycenter + ycenter; } } private Carousel[] carousels = new Carousel[0]; public void alter(LTimerContext timer) { angle_rad = angle_rad + Math.PI / 60; for (int i = 0; i < total; i++) { carousels[i].update(i, angle_rad); } } public synchronized void addCarousel() { int index = total % 6; if (total == carousels.length) { carousels = (Carousel[]) LSystem.expand(carousels, (total + 1) * 5); } carousels[total++] = new Carousel("images/image" + index + ".png"); image_gap = Math.PI * 2 / total; } public void draw(Graphics2D g) { g.setColor(Color.white); g.drawString(("图片总数:" + total).intern(), 15, getHeight() - 25); for (int i = 0; i < total; i++) { carousels[i].draw(g); } } public void leftClick(MouseEvent e) { addCarousel(); } public void middleClick(MouseEvent e) { } public void rightClick(MouseEvent e) { } public void onKey(KeyEvent e) { } public void onKeyUp(KeyEvent e) { } public static void main(String[] args) { GameScene frame = new GameScene("LGame-Simple-FPS测试", 550, 400); Deploy deploy = frame.getDeploy(); deploy.setScreen(new FPS()); deploy.setShowFPS(true); deploy.setLogo(false); deploy.setFPS(100); deploy.mainLoop(); frame.showFrame(); } }

JavaFx vs Flash vs Silverlight相关推荐

  1. 强悍!使用Flash和Silverlight制作控件

    Silverlight已经发布了正式版本,我也到网站下载了一个并看看,突然发现了他的例子中包含了这个公司. NETiKA TECH. 之所以说他强,是因为他尽然使用Flash和Silverlight制 ...

  2. 风云点评:Flash 与 Silverlight 终极大比拼

    风云点评: 综合:综合比较来看,Flash在否些特性方面的确优于Silverlight,但是我们可以看到Silverlight3的SEO对搜索引擎非常友好,这为基于Silverlight技术的网络应用 ...

  3. 勒索软件指向Flash与Silverlight漏洞

    本文讲的是 :   勒索软件指向Flash与Silverlight漏洞 ,  [IT168 资讯]随着Angler与其它多种漏洞工具包将Flash与Silverlight漏洞纳入清单,我们需要时刻关注 ...

  4. 从Flash到Silverlight进阶教程-用代码来创建动画

    从Flash到Silverlight进阶教程 用代码来创建动画 这节里将要讲述一个自定义用户控件最基本的操作,就好象Flash中的MovieClips一样,动态的将其添加到舞台上. 首先你将要看到如何 ...

  5. java flash 开发_web开发相关技术概述(JavaScript, Flash, Java, Silverlight and ActiveX)

    本文将介绍JavaScript的特别之处,为什么要使用JavaScript,以及web开发的其它相关技术的优缺点. 什么是JavaScript? JavaScript是一种脚本语言,为装饰网页而生.它 ...

  6. Silverlight、JavaFX、Flex技术比较

    Techie在他最近写的一篇博客中,从定义.大小.应用平台.授权许可等方面深入比较了这几种技术的不同. Silverlight是一个跨浏览器和跨平台的插件,能在微软的.NET上交付炫目的多媒体体验和有 ...

  7. Silverlight vs Flash

    Silverlight将打败Flash,是这样吗?可能会.许多人都告诉过我这一点,我开始怀疑他们的观点是否有一定的道理. 进行不到15分钟的搜索后,我确定Silverlight可能不会打败Flash, ...

  8. Silverlight与Flash的技术比较(图)

    在以前的一篇 文章中我已经说明了Adobe和Microsoft在presentation layer的竞争关系.根据一些资料总结的功能,我针对Flash以及silverlight做了一个比较的图表,后 ...

  9. (译文)Flash,Silverlight,Win32:2011三大垂死平台

    导读:即将过去的2011年见证了技术与行业的许多重大变迁,Flash.Silverlight.Win32三大拥趸众多的主流开发平台在Web和移动的挑战下危机重重.英国资深IT技术记者Tim Ander ...

最新文章

  1. Altium Designer PCB快速布局
  2. 程序员面试题精选100题(40)-扑克牌的顺子[算法]
  3. 疯狂.NET架构通用权限后台管理工具演示版2.0下载
  4. 最全的http头部信息分析(转载)
  5. DevOps组织IO专业人员新角色分析与技能提升
  6. java类作为多层级的数据实体_API json多层数据实体类封装(利用泛型技术)
  7. python mysqldb insert_python MySQLdb使用教程详解
  8. wrong ELF class: ELFCLASS64
  9. pythonATM,购物车项目实战_补充5-interface接口
  10. php小米官网,小米商城的首页
  11. pdf转换成word转换器注册码
  12. java报告模板_JAVA报告模板.doc
  13. ubuntu修改开机密码
  14. ping网络通不通、ttl讲解、查询ip归属地、tracert路由分析诊断
  15. window10 下载速度限制问题解决方案
  16. 在 360 度绩效评估中应该问的 20 个问题
  17. ZOJ 3939。规律题
  18. 易基因|RRBS单碱基绘制580种动物的基因组规模DNA甲基化谱:Nature子刊
  19. “警视”警务情指一体大屏可视化决策系统
  20. xml方式导出word优缺点:

热门文章

  1. 大数据营销:网络营销的指南针
  2. 轩小陌的Python笔记-day04 进制和编码
  3. OpenCV总结3——图像拼接Stitching
  4. QQ2008 自动关闭问题
  5. 【物流及供应链管理】北邮国际学院大三下期末复习
  6. 阿里、京东、美团……背后的共同金主,他拿下了中国互联网半壁江山!
  7. 力士乐变频器调试软件RDwin11V09
  8. 微信小程序嵌入Udesk即时通讯网页插件
  9. 如何用UE5渲染一个可爱的茶壶屋?
  10. 阿里云服务器实现域名解析步骤(入门级教程)