temporary performance issues when prism.dirtyopts set to false
Pavel Safrata
pavel.safrata at oracle.com
Wed Jun 6 22:58:36 PDT 2012
Hi Jose,
Jonathan is absolutely right. Disabling dirty opts is a good tool for
narrowing the problem, but you should never want to do it for public
use. The performance is significantly worse and will always be. The
application must render the same screens with and without dirty opts and
if it doesn't, there is a bug in FX that needs to be fixed immediately.
Could you please file one?
Thanks,
Pavel
On 7.6.2012 6:21, Jose Martinez wrote:
> Thanks for the response. Please note that the poor performance is only temporary, during the first minute of game play. So I suspect there is hope to obtain good performance for the whole time.
>
> jose
>
>
> ________________________________
> From: Jonathan Giles<jonathan.giles at oracle.com>
> To: Jose Martinez<jmartine_1026 at yahoo.com>
> Cc: openjfx mailing list<openjfx-dev at openjdk.java.net>
> Sent: Thursday, June 7, 2012 12:04 AM
> Subject: Re: temporary performance issues when prism.dirtyopts set to false
>
> I am not in the graphics team, but given the present state of timezones I thought I'd reply to try to give some clarity. Hopefully someone will follow this up at a more suitable hour with a correct answer :-)
>
> Dirty opts in JavaFX is synonymous with the concept known as dirty rectangles, I believe. You can learn more about dirty rectangles at [1]. Basically it is an optimisation designed to limit the amount of drawing on the screen to only the areas that have changed since the last update. If dirty opts are disabled, as you are doing, you are basically telling JavaFX to redraw the whole screen on every pulse. This is clearly a far more expensive operation than just drawing the 'dirty' areas.
>
> So, in short, yes, this is a known issue with disabling dirty opts. Except it really isn't an issue - it is just the nature of things. The reason why Kevin asked for you to disable dirty opts was to try to trouble shoot the other issues you raised. You shouldn't go without dirty opts if at all possible.
>
> [1] http://c2.com/cgi/wiki?DirtyRectangles
>
> -- Jonathan
>
>
> On 7/06/2012 3:56 p.m., Jose Martinez wrote:
>> Hello,
>>
>> I notice performance issues when prism.dirtyopts is set to false. But it only happens during the first minute or so of game play. The animation is not smooth, it looks as if it has a low frame rate. But after a minute the animations becomes smooth for the rest of the program execution. The poor animation performance returns if I restart the application.
>>
>> Is this a known issue?
>> thanks
>> jose
More information about the openjfx-dev
mailing list