当前位置: 技术问答>java相关
(高分)java做的applet的多线程问题
来源: 互联网 发布时间:2017-04-17
本文导语: 用applet做的游戏,屏幕上有N个物体,每个物体一个线程,每个物体动一下都需要刷新屏幕,如果每个线程中都有repaint动作,是不是cpu耗费太大?有没有好的办法或者实例? thanks | 好一点的...
用applet做的游戏,屏幕上有N个物体,每个物体一个线程,每个物体动一下都需要刷新屏幕,如果每个线程中都有repaint动作,是不是cpu耗费太大?有没有好的办法或者实例?
thanks
thanks
|
好一点的办法就是overriding重写update方法
主要是避免g.clearRect();清除所有图象,双缓冲只能减少闪烁,并不能减少cpu的负荷,最好的方法就是尽量减少重画的面积
主要是避免g.clearRect();清除所有图象,双缓冲只能减少闪烁,并不能减少cpu的负荷,最好的方法就是尽量减少重画的面积
|
你好,我也想做这样的特性,我提个建议
双缓冲:
首先你把每个区域通过Image im=(Image)createImage(x,y)
然后Graphics g=im.getGrahics();在g上面做你想要做的事,可以画图,
最后,你在paint中通过g,drawImage(im,x,y,width,height,this);
把需要的地方贴上去,
提个建议!
双缓冲:
首先你把每个区域通过Image im=(Image)createImage(x,y)
然后Graphics g=im.getGrahics();在g上面做你想要做的事,可以画图,
最后,你在paint中通过g,drawImage(im,x,y,width,height,this);
把需要的地方贴上去,
提个建议!
|
每次可以只刷新该刷新的那一片区域,不过实现起来比较麻烦。
建议找找网上关于多线程动画和双缓冲等的文章,比较多
建议找找网上关于多线程动画和双缓冲等的文章,比较多
|
gz
|
up
|
我觉得这个是不可避免的,如果机器可以忍受的话,我觉得你没有必要去考虑性能,如果要考虑性能的话,那就不要用JAVA的界面库