我正在将真正老的AWT游戏移植到真正的新设备上。AWT快速图形和线程安全
游戏中有一大堆错误的东西,包括线程安全性非常差的方法:游戏引擎试图使用从UI线程获取的图形上下文直接在引擎线程中绘制屏幕。这在设备上不起作用。
我已经设法通过将引擎线程拖动到屏幕外的缓冲区,然后让UI线程周期性地调用显示组件上的repaint()和将缓冲区分散到屏幕,但性能吮吸---考虑到所有上下文切换和双缓冲,这并不令人惊讶。
我实际上并不是一个非常知名的AWT程序员;到目前为止,我已经避免了它,这足够可恨。但是,这个问题---有一个引擎线程想要在屏幕上绘制---必须是常见的问题。有没有人知道如何以安全的方式做到这一点,以尽可能多地从系统中挤出性能的任何体面的策略(最好是示例代码!)?
(我特别喜欢的是一个安全的快捷方式,允许引擎线程在感觉准备好时直接渲染到屏幕图形上下文,因此避免必须告诉UI线程请求重绘。这将让我拿出整个双层缓冲,但我不知道这样的事情是否可能......)
这是所有PBP 1.1.2 ---是,它不是满的Java也不诚实MidP ...
定期多久? – user314104 2012-05-07 02:32:23