所以我需要了解如何为缓冲屏幕渲染分配内存。显然有重复,如果你有双/ tripple /等缓冲。不过,我需要知道什么时候分配内存以及分配多少内存。非常有帮助我知道是否有多个窗口打开(从同一个jvm启动)需要多少内存,具体取决于窗口最大化到一个屏幕,多个屏幕(我需要它到多达6个屏幕)等。了解Java Swing屏幕缓冲区内存使用情况(请阅读材料)
有没有人知道任何好的读物,或者有关Java Swing/AWT如何为渲染缓冲区分配内存的答案。
当天结束时,我正在寻找一个明确的公式,以便如果我打开了一些窗口,每个窗口中的缓冲区数量,窗口的位置以及每个窗口的大小,我可以得到一个确切的字节数需要渲染应用程序(只是缓冲部分,其余的内存是另一个问题)
我假设它是(单缓冲)x由每个窗口=内存要求,但分析数据似乎远非事实,一些缓冲区是弱/软引用,一些强,而我无法确定计算方式(还:))。
编辑:我正在使用JFrame
对象(好或坏)来做我的顶级的东西。
问题是我需要使用尽可能小的内存。如果我可以在公羊要求上节省50米,那将是非常有用的。客户可能没有备用50米的RAM。或者我们希望确保没有传呼,如果可能的话。我可能会在我的应用程序中禁用双缓冲,但我仍然希望能够估计应用程序的渲染部分应该使用多少内存。 – 2011-04-25 19:01:58
对不起,没有第一手经验,但有些实现可以使用视频卡的RAM。 – trashgod 2011-04-25 19:10:47
我们特意关闭了Java 2D硬件渲染,因为它造成了问题(我不是那个决定的一部分,但是由于性能问题他们有很好的理由)。 – 2011-04-25 19:12:48