仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 473|回复: 6
打印 上一主题 下一主题

[学习教程] 了解下JAVA的JAVA图形操纵中FPS的盘算

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:06:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。
FPS:即帧/秒(framespersecond)的缩写,也称为帧速度。是指1秒钟工夫里革新的图片的帧数,也能够了解为图形处置器每秒钟可以革新几回。假如详细得手机上就是指每秒钟可以播放(大概录制)几格画面。同时越高的帧速度能够失掉更流利、更传神的动画。每秒钟帧数(fps)越多,所显现的举措就会越流利。
在尽年夜多半图形程序中(以游戏类为典范),实行效力都以FPS作为评价尺度。
因为今朝JAVA方面短少相干用例,故完乐成能以下图(在本机测试中,最年夜fps设定为500,实践到达FPS效力在IDE中280摆布,独自运转380摆布,受体系设置等要素影响):
代码以下:

FPS部分相干源码:
  1. packageorg.test;importjava.text.DecimalFormat;/***<p>Title:LoonFramework</p>*<p>Description:</p>*<p>Copyright:Copyright(c)2007</p>*<p>Company:LoonFramework</p>*@authorchenpeng  *@email:ceponline@yahoo.com.cn*@version0.1*/publicclassFPSListen{    //设定动画的FPS桢数,此数值越高,动画速率越快。    publicstaticfinalintFPS=500;      //换算为运转周期    publicstaticfinallongPERIOD=(long)(1.0/FPS*1000000000);//单元:ns(纳秒)    //FPS最年夜距离工夫,换算为1s=10^9ns    publicstaticlongFPS_MAX_INTERVAL=1000000000L;//单元:ns        //实践的FPS数值    privatedoublenowFPS=0.0;        //FPS累计用间距工夫    privatelonginterval=0L;//inns    privatelongtime;    //运转桢累计    privatelongframeCount=0;        //格局化小数位数    privateDecimalFormatdf=newDecimalFormat("0.0");    //开启opengl    publicvoidopengl(){        System.setProperty("sun.java2d.opengl","True");        System.setProperty("sun.java2d.translaccel","True");    }      /***//**    *打造FPS数据    *    */    publicvoidmakeFPS(){        frameCount++;        interval+=PERIOD;        //当实践距离切合工夫时。        if(interval>=FPS_MAX_INTERVAL){            //nanoTime()前往最正确的可用体系计时器确当前值,以毫微秒为单元            longtimeNow=System.nanoTime();            //取得到今朝为止的工夫间隔            longrealTime=timeNow-time;//单元:ns            //换算为实践的fps数值            nowFPS=((double)frameCount/realTime)*FPS_MAX_INTERVAL;            //变动数值            frameCount=0L;            interval=0L;            time=timeNow;        }    }    publiclonggetFrameCount(){        returnframeCount;    }    publicvoidsetFrameCount(longframeCount){        this.frameCount=frameCount;    }    publiclonggetInterval(){        returninterval;    }    publicvoidsetInterval(longinterval){        this.interval=interval;    }    publicdoublegetNowFPS(){        returnnowFPS;    }    publicvoidsetNowFPS(doublenowFPS){        this.nowFPS=nowFPS;    }    publiclonggetTime(){        returntime;    }    publicvoidsetTime(longtime){        this.time=time;    }    publicStringgetFPS(){        returndf.format(nowFPS);    }}
复制代码
<p>
为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-31 15:16:39 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
莫相离 该用户已被删除
板凳
发表于 2015-2-6 19:49:03 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
变相怪杰 该用户已被删除
地板
发表于 2015-2-18 11:17:27 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
分手快乐 该用户已被删除
5#
发表于 2015-3-6 04:52:53 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
透明 该用户已被删除
6#
发表于 2015-3-12 20:47:55 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
兰色精灵 该用户已被删除
7#
发表于 2015-3-20 02:36:41 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-20 20:56

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表