到目前为止,我已经通过创建和映像,使用其关联的图形对象绘制我想要的图像,然后使用绘制方法的图形对象将该图像绘制到屏幕来完成双缓冲。最近,我了解了BufferStrategy类及其用法。我想知道这两种方法的优缺点。编号: 我不认为我的问题非常明确。我想知道DIY方法和BufferStrategy的优缺点,以及什么时候应该使用这两种方法。BufferStrategy vs JFrame中的双重缓冲
0
A
回答
7
1
如果您还没有,我建议您阅读Painting in AWT and Swing。
如果您使用JFrame,我认为您通常不需要自己动手做双缓冲。 Swing内置了默认打开的双缓冲。手动自己做这件事只会减慢速度。您可以通过在任何JComponents上调用isDoubleBufferingEnabled()来检查是否启用了双缓冲。
有些情况下你可能想自己做这件事,但这应该是例外而不是规则。也许你正在做一些事情,比如写一个游戏,在这种情况下,也许我的建议不适用。无论如何,希望以上是有用的信息。
相关问题
- 1. 的Java Swing的双缓冲
- 2. GDI +双缓冲
- 3. Jython双缓冲
- 4. VB.NET双缓冲
- 5. Java双缓冲
- 6. 双缓冲swt
- 7. WinAPI双缓冲
- 8. Android双缓冲
- 9. Direct2D中的双缓冲?
- 10. GDI + C++中的双缓冲
- 11. WPF中的双缓冲?
- 12. 的WinForms双缓冲
- 13. 的Python 3:无缓冲VS缓冲流
- 14. 双缓冲帮助
- 15. Silverlight MediaElement双缓冲
- 16. 启用双缓冲
- 17. Java - 双缓冲NullPointerException
- 18. DrawReversibleLine()和双缓冲
- 19. 在c#双缓冲
- 20. 栈vs缓冲区
- 21. C++的Win32 GDI双缓冲
- 22. Qt的双缓冲行为
- 23. 的java双缓冲问题
- 24. 缓冲区溢出(VS)缓冲区溢出(VS)堆栈溢出
- 25. Visual Basic 6中的双缓冲
- 26. OpenGL中的双缓冲精灵问题
- 27. C++ win32项目双缓冲
- 28. 双缓冲VB6 BitBlt帮助
- 29. 了解双缓冲区
- 30. 黑莓双缓冲区?
EDT代表什么? – resotpvl 2010-01-15 00:44:02
它代表事件调度线程,也称为Swing线程或有时是AWT线程。正如@trashgod指出的那样,在此线程上创建和修改GUI组件非常重要,因为Swing不是线程安全的。 http://java.sun.com/docs/books/tutorial/uiswing/concurrency/dispatch.html – 2010-01-15 01:51:12
好口语;我已经编辑了相应的链接。 – trashgod 2010-01-15 05:04:56