Re: Expected frame rates for a full-screen blur

2014-04-07 Thread Mike Hearn


  What version of jdk and Swing did you use?  Can you check it on the
 latest jdk8?


Ah you're right, Swing does hidpi these days. When I made the decision to
start using JFX it didn't. But last time I tried the IntelliJ Oracle JVM
builds the UI was pretty messed up so it seemed to still have some bugs.
But that was maybe 6 months ago or more.


Re: Expected frame rates for a full-screen blur

2014-04-04 Thread Mike Hearn
OK, now I'm really puzzled - I watched the JavaFX performance talk from
2011 and learned about PeformanceTracker. It's too bad that's not public
API, but it works. I used it like so:

PerformanceTracker tracker = PerformanceTracker.getSceneTracker(scene);
tracker.setOnRenderedFrameTask(new Runnable() {
long lastTimestamp = System.currentTimeMillis();

@Override
public void run() {
final long now = System.currentTimeMillis();
long delta = now - lastTimestamp;
if (delta  1000)
System.out.println(Frame took  + delta + msec);
lastTimestamp = now;
}
});

The 1000 thing is just to avoid printing a nonsense timestamp when the UI
hasn't been touched for a while.

The deltas I see are consistently between 10-20msec which would be between
50 and 60fps, i.e. the vsync of the screen. But the wacky thing is, this
doesn't change when I increase the size of the window, even though the
animation is noticeably more choppy. It still says there's a 10-20msec gap
between frames even though my eyes tell me otherwise. Even when I shrink
the window size right down and get super smooth animation, the above code
prints the same kind of deltas.

This makes me think that whatever is going on, the regular JavaFX drawing
thread isn't the issue. It seems to be churning through the scene at the
same totally acceptable rate no matter what. So I'm thinking the issue must
be something to do with how fast the GPU drains the command queue or
something.

BTW I tried doing -Dprism.order=j2d to see what would happen, and the GUI
hangs before rendering anything. I'll file a bug on that later.


On Thu, Apr 3, 2014 at 11:54 AM, Mike Hearn m...@plan99.net wrote:

 How does the OS tank?


 All the OS animations hit the same frame rate as the app itself does. For
 instance, opening Mission Control is normally smooth, but when a maximized
 JFX app is animating, it's not.

 It feels like the GPU is being overworked but as I'm not a GPU expert at
 all, I'm not sure where to begin - I am not even sure how to find out the
 frame rate so I know when tweaks are improving things! Is there a way to
 get this data from the system?



Re: Expected frame rates for a full-screen blur

2014-04-04 Thread Stephen F Northover

Hi Mike,

I'm sorry that I've been unable to get to this until now.  I can 
recreate the problem you are seeing on my Mac by running 
ColorfulCirclesApp.  Please enter a JIRA for the problem.  Thanks. Also 
try this:


Try this:

PerformanceTracker tracker = PerformanceTracker.getSceneTracker(scene);
Timeline timeline = new Timeline(
  new KeyFrame(Duration.seconds(1), t - {
 System.out.println(::FPS =  + tracker.getAverageFPS());
  }));
timeline.setCycleCount(Timeline.INDEFINITE);
timeline.play();

Steve

On 2014-04-04 4:33 PM, Mike Hearn wrote:

OK, now I'm really puzzled - I watched the JavaFX performance talk from
2011 and learned about PeformanceTracker. It's too bad that's not public
API, but it works. I used it like so:

PerformanceTracker tracker = PerformanceTracker.getSceneTracker(scene);
 tracker.setOnRenderedFrameTask(new Runnable() {
 long lastTimestamp = System.currentTimeMillis();

 @Override
 public void run() {
 final long now = System.currentTimeMillis();
 long delta = now - lastTimestamp;
 if (delta  1000)
 System.out.println(Frame took  + delta + msec);
 lastTimestamp = now;
 }
 });

The 1000 thing is just to avoid printing a nonsense timestamp when the UI
hasn't been touched for a while.

The deltas I see are consistently between 10-20msec which would be between
50 and 60fps, i.e. the vsync of the screen. But the wacky thing is, this
doesn't change when I increase the size of the window, even though the
animation is noticeably more choppy. It still says there's a 10-20msec gap
between frames even though my eyes tell me otherwise. Even when I shrink
the window size right down and get super smooth animation, the above code
prints the same kind of deltas.

This makes me think that whatever is going on, the regular JavaFX drawing
thread isn't the issue. It seems to be churning through the scene at the
same totally acceptable rate no matter what. So I'm thinking the issue must
be something to do with how fast the GPU drains the command queue or
something.

BTW I tried doing -Dprism.order=j2d to see what would happen, and the GUI
hangs before rendering anything. I'll file a bug on that later.


On Thu, Apr 3, 2014 at 11:54 AM, Mike Hearn m...@plan99.net wrote:


How does the OS tank?
All the OS animations hit the same frame rate as the app itself does. For
instance, opening Mission Control is normally smooth, but when a maximized
JFX app is animating, it's not.

It feels like the GPU is being overworked but as I'm not a GPU expert at
all, I'm not sure where to begin - I am not even sure how to find out the
frame rate so I know when tweaks are improving things! Is there a way to
get this data from the system?





Re: Expected frame rates for a full-screen blur

2014-04-04 Thread Richard Bair
You might also want to try using the PulseLogger (which was recently refactored 
to be usable from Java Flight Recorder). See 
http://hg.openjdk.java.net/openjfx/8u-dev/rt/file/978e5c042214/modules/base/src/main/java/com/sun/javafx/logging/PrintLogger.java.
 Basically a few system properties are needed and then you should get per-pulse 
data that breaks down the time spent in different places. It seems like it 
shouldn’t be the case, but it looks like you’re fill rate limited. Maybe we are 
sending really huge bitmaps down to the card and the card bus just can’t keep 
up?

-Djavafx.pulseLogger=true

On Apr 4, 2014, at 2:17 PM, Stephen F Northover steve.x.northo...@oracle.com 
wrote:

 Hi Mike,
 
 I'm sorry that I've been unable to get to this until now.  I can recreate the 
 problem you are seeing on my Mac by running ColorfulCirclesApp.  Please enter 
 a JIRA for the problem.  Thanks. Also try this:
 
 Try this:
 
 PerformanceTracker tracker = PerformanceTracker.getSceneTracker(scene);
 Timeline timeline = new Timeline(
  new KeyFrame(Duration.seconds(1), t - {
 System.out.println(::FPS =  + tracker.getAverageFPS());
  }));
 timeline.setCycleCount(Timeline.INDEFINITE);
 timeline.play();
 
 Steve
 
 On 2014-04-04 4:33 PM, Mike Hearn wrote:
 OK, now I'm really puzzled - I watched the JavaFX performance talk from
 2011 and learned about PeformanceTracker. It's too bad that's not public
 API, but it works. I used it like so:
 
 PerformanceTracker tracker = PerformanceTracker.getSceneTracker(scene);
 tracker.setOnRenderedFrameTask(new Runnable() {
 long lastTimestamp = System.currentTimeMillis();
 
 @Override
 public void run() {
 final long now = System.currentTimeMillis();
 long delta = now - lastTimestamp;
 if (delta  1000)
 System.out.println(Frame took  + delta + msec);
 lastTimestamp = now;
 }
 });
 
 The 1000 thing is just to avoid printing a nonsense timestamp when the UI
 hasn't been touched for a while.
 
 The deltas I see are consistently between 10-20msec which would be between
 50 and 60fps, i.e. the vsync of the screen. But the wacky thing is, this
 doesn't change when I increase the size of the window, even though the
 animation is noticeably more choppy. It still says there's a 10-20msec gap
 between frames even though my eyes tell me otherwise. Even when I shrink
 the window size right down and get super smooth animation, the above code
 prints the same kind of deltas.
 
 This makes me think that whatever is going on, the regular JavaFX drawing
 thread isn't the issue. It seems to be churning through the scene at the
 same totally acceptable rate no matter what. So I'm thinking the issue must
 be something to do with how fast the GPU drains the command queue or
 something.
 
 BTW I tried doing -Dprism.order=j2d to see what would happen, and the GUI
 hangs before rendering anything. I'll file a bug on that later.
 
 
 On Thu, Apr 3, 2014 at 11:54 AM, Mike Hearn m...@plan99.net wrote:
 
 How does the OS tank?
 All the OS animations hit the same frame rate as the app itself does. For
 instance, opening Mission Control is normally smooth, but when a maximized
 JFX app is animating, it's not.
 
 It feels like the GPU is being overworked but as I'm not a GPU expert at
 all, I'm not sure where to begin - I am not even sure how to find out the
 frame rate so I know when tweaks are improving things! Is there a way to
 get this data from the system?
 
 



Re: Expected frame rates for a full-screen blur

2014-04-03 Thread Mike Hearn

 How does the OS tank?


All the OS animations hit the same frame rate as the app itself does. For
instance, opening Mission Control is normally smooth, but when a maximized
JFX app is animating, it's not.

It feels like the GPU is being overworked but as I'm not a GPU expert at
all, I'm not sure where to begin - I am not even sure how to find out the
frame rate so I know when tweaks are improving things! Is there a way to
get this data from the system?


Re: Expected frame rates for a full-screen blur

2014-04-02 Thread Mike Hearn
Right. My issue appears to be far more general - any large window has poor
framerates no matter how simple the contents seem to be. What's more it
doesn't seem to be a pure CPU time issue because *all* graphics operations,
even things like opening mission control, also end up lagged. So I feel
it's more likely to be something to do with the GPU, as that is a shared
resource that perhaps isn't being timesliced very well. I can't offer a
better explanation of why an app would be able to drag down the
responsiveness of the entire OS.

I tried changing the blue type, adding cache hints and so on. No
difference. I also found someone else complaining about this:

mihosoft.eu/?p=486

The issue very specifically seems to be large windows. I tried changing the
display resolution as well, but unsurprisingly the only thing that made it
faster was changing the scaling so all windows were smaller. Modifying the
display settings to give me more space just made things worse (larger
window again).

I'm not sure how to go about diagnosing this. Again - does anyone else see
their entire OS tank when the Ensemble coloured circles demo is run?





On Tue, Apr 1, 2014 at 11:16 PM, John Smith john_sm...@symantec.com wrote:

 Sounds like your issue isn't in fact the blur, but, if it were, some
 things suggestions are:

   1. BoxBlurs are more efficient than GaussianBlurs:
 http://en.wikipedia.org/wiki/Box_blur
   2. Apply some of the suggestions from the openjfx Performance Tips and
 Tricks page:
 https://wiki.openjdk.java.net/display/OpenJFX/Performance+Tips+and+Tricks

 Anecdotally, applying the Performance Tips and Tricks allowed smooth
 animations on a 2012 MacBook Air with a full-screen blur.

 -Original Message-
 From: openjfx-dev [mailto:openjfx-dev-boun...@openjdk.java.net] On Behalf
 Of Jeff Martin
 Sent: Tuesday, April 01, 2014 11:17 AM
 To: Mike Hearn
 Cc: openjfx-dev@openjdk.java.net
 Subject: Re: Expected frame rates for a full-screen blur

 I assume retina optimization was added for JFX 8 (or is on the short
 list). I think there is a Jira for it.

 You can choose a non-retina resolution by going to display preferences and
 clicking the Scaled radio button and selecting something to the right of
 Best Resolution (Retina). It used to be that you could option-click the
 Scaled radio button to get a real list of choices, but now you can only
 get that with a 3rd party resolution tool (I think).

 jeff


 On Apr 1, 2014, at 12:49 PM, Mike Hearn m...@plan99.net wrote:

  How do I do that? And won't that make everything blurry? Retina support
 is one reason why I chose JFX. Swing on Retina Macs is pretty much
 unusable, it's like looking through thick plastic.
 
 
  On Tue, Apr 1, 2014 at 7:26 PM, Jeff Martin j...@reportmill.com wrote:
  If it's a MacBook Pro Retina, you might try it with and without retina
 level resolution. I haven't tested JavaFX 8 with retina, but JFX 7 had
 serious problems that would go away when I changed the display to
 non-retina.
 
  jeff
 
 
  On Apr 1, 2014, at 11:41 AM, Mike Hearn m...@plan99.net wrote:
 
   Actually, playing some more, it seems like the poor frame rates I'm
   seeing are not blur related, but rather affect any animation (i.e.
   all rendering) when my main window is maximized. Shrinking the
   window so it's smaller results in smooth animations of any kind.
   This seems to be true no matter how I try and simplify my scene (e.g.
 turning off a tiled background image).
  
   I grabbed Ensemble and tried the circle blur demo. It actually made
   my entire laptop unusable. The entire OS crawled to a halt and fps
   was maybe
   0.3 for everything, not just the Java app. Going back to the main
   menu made things snappy again.
  
   This is a bit disconcerting. Does anyone else see such appalling
   performance impact from the blurred circles demo on their Mac? Is
   this a driver issue, perhaps? Are there any platforms where this
   demo hits a good fps?
  
  
  
   On Tue, Apr 1, 2014 at 6:10 PM, Mike Hearn m...@plan99.net wrote:
  
   Hi there,
  
   On a MacBook Pro with OS X 10.9.2, does anyone have any estimates
   for anticipated frame rates of a full-screen animated blur? I
   noticed that when my window is not maximized, the blur is smooth
   and high frame-rate. When maximized the blur is somewhat choppy.
   Unfortunately I have no clue how much work is really involved in
   GPU blurring and whether I'm being unreasonable to expect that many
   pixels to be blurred per second (this is on a retina display).
  
   Can anyone let me know if it's worth me trying to optimise this or
   whether hardware limitations will mean that realistically I am
 expecting too much.
  
   thanks!
  
 
 




Re: Expected frame rates for a full-screen blur

2014-04-02 Thread Mike
This is sad. A lot is Macbook retinas have been sold .. Millions 

Sent from my iPhone

 On Apr 1, 2014, at 11:17 AM, Jeff Martin j...@reportmill.com wrote:
 
 I assume retina optimization was added for JFX 8 (or is on the short list). I 
 think there is a Jira for it.
 
 You can choose a non-retina resolution by going to display preferences and 
 clicking the Scaled radio button and selecting something to the right of 
 Best Resolution (Retina). It used to be that you could option-click the 
 Scaled radio button to get a real list of choices, but now you can only get 
 that with a 3rd party resolution tool (I think).
 
 jeff
 
 
 On Apr 1, 2014, at 12:49 PM, Mike Hearn m...@plan99.net wrote:
 
 How do I do that? And won't that make everything blurry? Retina support is 
 one reason why I chose JFX. Swing on Retina Macs is pretty much unusable, 
 it's like looking through thick plastic.
 
 
 On Tue, Apr 1, 2014 at 7:26 PM, Jeff Martin j...@reportmill.com wrote:
 If it's a MacBook Pro Retina, you might try it with and without retina level 
 resolution. I haven't tested JavaFX 8 with retina, but JFX 7 had serious 
 problems that would go away when I changed the display to non-retina.
 
 jeff
 
 
 On Apr 1, 2014, at 11:41 AM, Mike Hearn m...@plan99.net wrote:
 
 Actually, playing some more, it seems like the poor frame rates I'm seeing
 are not blur related, but rather affect any animation (i.e. all rendering)
 when my main window is maximized. Shrinking the window so it's smaller
 results in smooth animations of any kind. This seems to be true no matter
 how I try and simplify my scene (e.g. turning off a tiled background image).
 
 I grabbed Ensemble and tried the circle blur demo. It actually made my
 entire laptop unusable. The entire OS crawled to a halt and fps was maybe
 0.3 for everything, not just the Java app. Going back to the main menu made
 things snappy again.
 
 This is a bit disconcerting. Does anyone else see such appalling
 performance impact from the blurred circles demo on their Mac? Is this a
 driver issue, perhaps? Are there any platforms where this demo hits a good
 fps?
 
 
 
 On Tue, Apr 1, 2014 at 6:10 PM, Mike Hearn m...@plan99.net wrote:
 
 Hi there,
 
 On a MacBook Pro with OS X 10.9.2, does anyone have any estimates for
 anticipated frame rates of a full-screen animated blur? I noticed that when
 my window is not maximized, the blur is smooth and high frame-rate. When
 maximized the blur is somewhat choppy. Unfortunately I have no clue how
 much work is really involved in GPU blurring and whether I'm being
 unreasonable to expect that many pixels to be blurred per second (this is
 on a retina display).
 
 Can anyone let me know if it's worth me trying to optimise this or whether
 hardware limitations will mean that realistically I am expecting too much.
 
 thanks!
 


Re: Expected frame rates for a full-screen blur

2014-04-02 Thread Jim Graham
Actually, Box Blurs are no more efficient than Gaussian on GPU hardware 
due to the inability of shaders to perform incremental operations from 
pixel to pixel.  Both are implemented by convolution kernels and N 
multiplies per pixel in the first horizontal pass and M multiplies per 
pixel in the second vertical pass (where M and N vary by radius/size of 
the blur and number of box passes)...


...jim

On 4/1/14 2:16 PM, John Smith wrote:

Sounds like your issue isn't in fact the blur, but, if it were, some things 
suggestions are:

   1. BoxBlurs are more efficient than GaussianBlurs: 
http://en.wikipedia.org/wiki/Box_blur
   2. Apply some of the suggestions from the openjfx Performance Tips and 
Tricks page: 
https://wiki.openjdk.java.net/display/OpenJFX/Performance+Tips+and+Tricks

Anecdotally, applying the Performance Tips and Tricks allowed smooth animations 
on a 2012 MacBook Air with a full-screen blur.

-Original Message-
From: openjfx-dev [mailto:openjfx-dev-boun...@openjdk.java.net] On Behalf Of 
Jeff Martin
Sent: Tuesday, April 01, 2014 11:17 AM
To: Mike Hearn
Cc: openjfx-dev@openjdk.java.net
Subject: Re: Expected frame rates for a full-screen blur

I assume retina optimization was added for JFX 8 (or is on the short list). I 
think there is a Jira for it.

You can choose a non-retina resolution by going to display preferences and clicking the Scaled 
radio button and selecting something to the right of Best Resolution (Retina). It used to be that 
you could option-click the Scaled radio button to get a real list of choices, but now you can 
only get that with a 3rd party resolution tool (I think).

jeff


On Apr 1, 2014, at 12:49 PM, Mike Hearn m...@plan99.net wrote:


How do I do that? And won't that make everything blurry? Retina support is one 
reason why I chose JFX. Swing on Retina Macs is pretty much unusable, it's like 
looking through thick plastic.


On Tue, Apr 1, 2014 at 7:26 PM, Jeff Martin j...@reportmill.com wrote:
If it's a MacBook Pro Retina, you might try it with and without retina level 
resolution. I haven't tested JavaFX 8 with retina, but JFX 7 had serious 
problems that would go away when I changed the display to non-retina.

jeff


On Apr 1, 2014, at 11:41 AM, Mike Hearn m...@plan99.net wrote:


Actually, playing some more, it seems like the poor frame rates I'm
seeing are not blur related, but rather affect any animation (i.e.
all rendering) when my main window is maximized. Shrinking the
window so it's smaller results in smooth animations of any kind.
This seems to be true no matter how I try and simplify my scene (e.g. turning 
off a tiled background image).

I grabbed Ensemble and tried the circle blur demo. It actually made
my entire laptop unusable. The entire OS crawled to a halt and fps
was maybe
0.3 for everything, not just the Java app. Going back to the main
menu made things snappy again.

This is a bit disconcerting. Does anyone else see such appalling
performance impact from the blurred circles demo on their Mac? Is
this a driver issue, perhaps? Are there any platforms where this
demo hits a good fps?



On Tue, Apr 1, 2014 at 6:10 PM, Mike Hearn m...@plan99.net wrote:


Hi there,

On a MacBook Pro with OS X 10.9.2, does anyone have any estimates
for anticipated frame rates of a full-screen animated blur? I
noticed that when my window is not maximized, the blur is smooth
and high frame-rate. When maximized the blur is somewhat choppy.
Unfortunately I have no clue how much work is really involved in
GPU blurring and whether I'm being unreasonable to expect that many
pixels to be blurred per second (this is on a retina display).

Can anyone let me know if it's worth me trying to optimise this or
whether hardware limitations will mean that realistically I am expecting too 
much.

thanks!








Re: Expected frame rates for a full-screen blur

2014-04-02 Thread Jim Graham
The tick marks in the MacOS display settings do not turn off retina 
support, they only affect the amount of scaling within the retina 
spectrum that is provided.


To turn off retina support you need to use a utility like QuickRes that 
allows you to specify HiDPI (retina) vs. non-HiDPI resolutions.  HiDPI 
retina resolutions always render at a scale factor of 2.0 and then they 
scale them to the indicated screen size.  The best for retina 
resolution is the resolution in which the rendering at a scale of 2.0 
exactly matches the number of pixels the window will be scaled/blitted 
into.  Regular resolutions will render at a scale factor of 1.0 and also 
scale to the indicated screen size, and so the scaling artifacts will be 
much more noticeable unless you choose the precise native resolution of 
the display itself...


...jim

On 4/1/14 11:17 AM, Jeff Martin wrote:

I assume retina optimization was added for JFX 8 (or is on the short list). I 
think there is a Jira for it.

You can choose a non-retina resolution by going to display preferences and clicking the Scaled 
radio button and selecting something to the right of Best Resolution (Retina). It used to be that 
you could option-click the Scaled radio button to get a real list of choices, but now you can 
only get that with a 3rd party resolution tool (I think).

jeff


On Apr 1, 2014, at 12:49 PM, Mike Hearn m...@plan99.net wrote:


How do I do that? And won't that make everything blurry? Retina support is one 
reason why I chose JFX. Swing on Retina Macs is pretty much unusable, it's like 
looking through thick plastic.


On Tue, Apr 1, 2014 at 7:26 PM, Jeff Martin j...@reportmill.com wrote:
If it's a MacBook Pro Retina, you might try it with and without retina level 
resolution. I haven't tested JavaFX 8 with retina, but JFX 7 had serious 
problems that would go away when I changed the display to non-retina.

jeff


On Apr 1, 2014, at 11:41 AM, Mike Hearn m...@plan99.net wrote:


Actually, playing some more, it seems like the poor frame rates I'm seeing
are not blur related, but rather affect any animation (i.e. all rendering)
when my main window is maximized. Shrinking the window so it's smaller
results in smooth animations of any kind. This seems to be true no matter
how I try and simplify my scene (e.g. turning off a tiled background image).

I grabbed Ensemble and tried the circle blur demo. It actually made my
entire laptop unusable. The entire OS crawled to a halt and fps was maybe
0.3 for everything, not just the Java app. Going back to the main menu made
things snappy again.

This is a bit disconcerting. Does anyone else see such appalling
performance impact from the blurred circles demo on their Mac? Is this a
driver issue, perhaps? Are there any platforms where this demo hits a good
fps?



On Tue, Apr 1, 2014 at 6:10 PM, Mike Hearn m...@plan99.net wrote:


Hi there,

On a MacBook Pro with OS X 10.9.2, does anyone have any estimates for
anticipated frame rates of a full-screen animated blur? I noticed that when
my window is not maximized, the blur is smooth and high frame-rate. When
maximized the blur is somewhat choppy. Unfortunately I have no clue how
much work is really involved in GPU blurring and whether I'm being
unreasonable to expect that many pixels to be blurred per second (this is
on a retina display).

Can anyone let me know if it's worth me trying to optimise this or whether
hardware limitations will mean that realistically I am expecting too much.

thanks!








Re: Expected frame rates for a full-screen blur

2014-04-01 Thread Mike Hearn
Actually, playing some more, it seems like the poor frame rates I'm seeing
are not blur related, but rather affect any animation (i.e. all rendering)
when my main window is maximized. Shrinking the window so it's smaller
results in smooth animations of any kind. This seems to be true no matter
how I try and simplify my scene (e.g. turning off a tiled background image).

I grabbed Ensemble and tried the circle blur demo. It actually made my
entire laptop unusable. The entire OS crawled to a halt and fps was maybe
0.3 for everything, not just the Java app. Going back to the main menu made
things snappy again.

This is a bit disconcerting. Does anyone else see such appalling
performance impact from the blurred circles demo on their Mac? Is this a
driver issue, perhaps? Are there any platforms where this demo hits a good
fps?



On Tue, Apr 1, 2014 at 6:10 PM, Mike Hearn m...@plan99.net wrote:

 Hi there,

 On a MacBook Pro with OS X 10.9.2, does anyone have any estimates for
 anticipated frame rates of a full-screen animated blur? I noticed that when
 my window is not maximized, the blur is smooth and high frame-rate. When
 maximized the blur is somewhat choppy. Unfortunately I have no clue how
 much work is really involved in GPU blurring and whether I'm being
 unreasonable to expect that many pixels to be blurred per second (this is
 on a retina display).

 Can anyone let me know if it's worth me trying to optimise this or whether
 hardware limitations will mean that realistically I am expecting too much.

 thanks!



Re: Expected frame rates for a full-screen blur

2014-04-01 Thread Jeff Martin
If it's a MacBook Pro Retina, you might try it with and without retina level 
resolution. I haven't tested JavaFX 8 with retina, but JFX 7 had serious 
problems that would go away when I changed the display to non-retina.

jeff


On Apr 1, 2014, at 11:41 AM, Mike Hearn m...@plan99.net wrote:

 Actually, playing some more, it seems like the poor frame rates I'm seeing
 are not blur related, but rather affect any animation (i.e. all rendering)
 when my main window is maximized. Shrinking the window so it's smaller
 results in smooth animations of any kind. This seems to be true no matter
 how I try and simplify my scene (e.g. turning off a tiled background image).
 
 I grabbed Ensemble and tried the circle blur demo. It actually made my
 entire laptop unusable. The entire OS crawled to a halt and fps was maybe
 0.3 for everything, not just the Java app. Going back to the main menu made
 things snappy again.
 
 This is a bit disconcerting. Does anyone else see such appalling
 performance impact from the blurred circles demo on their Mac? Is this a
 driver issue, perhaps? Are there any platforms where this demo hits a good
 fps?
 
 
 
 On Tue, Apr 1, 2014 at 6:10 PM, Mike Hearn m...@plan99.net wrote:
 
 Hi there,
 
 On a MacBook Pro with OS X 10.9.2, does anyone have any estimates for
 anticipated frame rates of a full-screen animated blur? I noticed that when
 my window is not maximized, the blur is smooth and high frame-rate. When
 maximized the blur is somewhat choppy. Unfortunately I have no clue how
 much work is really involved in GPU blurring and whether I'm being
 unreasonable to expect that many pixels to be blurred per second (this is
 on a retina display).
 
 Can anyone let me know if it's worth me trying to optimise this or whether
 hardware limitations will mean that realistically I am expecting too much.
 
 thanks!
 



Re: Expected frame rates for a full-screen blur

2014-04-01 Thread Mike Hearn
How do I do that? And won't that make everything blurry? Retina support is
one reason why I chose JFX. Swing on Retina Macs is pretty much unusable,
it's like looking through thick plastic.


On Tue, Apr 1, 2014 at 7:26 PM, Jeff Martin j...@reportmill.com wrote:

 If it's a MacBook Pro Retina, you might try it with and without retina
 level resolution. I haven't tested JavaFX 8 with retina, but JFX 7 had
 serious problems that would go away when I changed the display to
 non-retina.

 jeff


 On Apr 1, 2014, at 11:41 AM, Mike Hearn m...@plan99.net wrote:

  Actually, playing some more, it seems like the poor frame rates I'm
 seeing
  are not blur related, but rather affect any animation (i.e. all
 rendering)
  when my main window is maximized. Shrinking the window so it's smaller
  results in smooth animations of any kind. This seems to be true no matter
  how I try and simplify my scene (e.g. turning off a tiled background
 image).
 
  I grabbed Ensemble and tried the circle blur demo. It actually made my
  entire laptop unusable. The entire OS crawled to a halt and fps was maybe
  0.3 for everything, not just the Java app. Going back to the main menu
 made
  things snappy again.
 
  This is a bit disconcerting. Does anyone else see such appalling
  performance impact from the blurred circles demo on their Mac? Is this a
  driver issue, perhaps? Are there any platforms where this demo hits a
 good
  fps?
 
 
 
  On Tue, Apr 1, 2014 at 6:10 PM, Mike Hearn m...@plan99.net wrote:
 
  Hi there,
 
  On a MacBook Pro with OS X 10.9.2, does anyone have any estimates for
  anticipated frame rates of a full-screen animated blur? I noticed that
 when
  my window is not maximized, the blur is smooth and high frame-rate. When
  maximized the blur is somewhat choppy. Unfortunately I have no clue how
  much work is really involved in GPU blurring and whether I'm being
  unreasonable to expect that many pixels to be blurred per second (this
 is
  on a retina display).
 
  Can anyone let me know if it's worth me trying to optimise this or
 whether
  hardware limitations will mean that realistically I am expecting too
 much.
 
  thanks!
 




Re: Expected frame rates for a full-screen blur

2014-04-01 Thread Jeff Martin
I assume retina optimization was added for JFX 8 (or is on the short list). I 
think there is a Jira for it.

You can choose a non-retina resolution by going to display preferences and 
clicking the Scaled radio button and selecting something to the right of 
Best Resolution (Retina). It used to be that you could option-click the 
Scaled radio button to get a real list of choices, but now you can only get 
that with a 3rd party resolution tool (I think).

jeff


On Apr 1, 2014, at 12:49 PM, Mike Hearn m...@plan99.net wrote:

 How do I do that? And won't that make everything blurry? Retina support is 
 one reason why I chose JFX. Swing on Retina Macs is pretty much unusable, 
 it's like looking through thick plastic.
 
 
 On Tue, Apr 1, 2014 at 7:26 PM, Jeff Martin j...@reportmill.com wrote:
 If it's a MacBook Pro Retina, you might try it with and without retina level 
 resolution. I haven't tested JavaFX 8 with retina, but JFX 7 had serious 
 problems that would go away when I changed the display to non-retina.
 
 jeff
 
 
 On Apr 1, 2014, at 11:41 AM, Mike Hearn m...@plan99.net wrote:
 
  Actually, playing some more, it seems like the poor frame rates I'm seeing
  are not blur related, but rather affect any animation (i.e. all rendering)
  when my main window is maximized. Shrinking the window so it's smaller
  results in smooth animations of any kind. This seems to be true no matter
  how I try and simplify my scene (e.g. turning off a tiled background image).
 
  I grabbed Ensemble and tried the circle blur demo. It actually made my
  entire laptop unusable. The entire OS crawled to a halt and fps was maybe
  0.3 for everything, not just the Java app. Going back to the main menu made
  things snappy again.
 
  This is a bit disconcerting. Does anyone else see such appalling
  performance impact from the blurred circles demo on their Mac? Is this a
  driver issue, perhaps? Are there any platforms where this demo hits a good
  fps?
 
 
 
  On Tue, Apr 1, 2014 at 6:10 PM, Mike Hearn m...@plan99.net wrote:
 
  Hi there,
 
  On a MacBook Pro with OS X 10.9.2, does anyone have any estimates for
  anticipated frame rates of a full-screen animated blur? I noticed that when
  my window is not maximized, the blur is smooth and high frame-rate. When
  maximized the blur is somewhat choppy. Unfortunately I have no clue how
  much work is really involved in GPU blurring and whether I'm being
  unreasonable to expect that many pixels to be blurred per second (this is
  on a retina display).
 
  Can anyone let me know if it's worth me trying to optimise this or whether
  hardware limitations will mean that realistically I am expecting too much.
 
  thanks!
 
 
 



RE: Expected frame rates for a full-screen blur

2014-04-01 Thread John Smith
Sounds like your issue isn't in fact the blur, but, if it were, some things 
suggestions are:

  1. BoxBlurs are more efficient than GaussianBlurs: 
http://en.wikipedia.org/wiki/Box_blur
  2. Apply some of the suggestions from the openjfx Performance Tips and Tricks 
page: https://wiki.openjdk.java.net/display/OpenJFX/Performance+Tips+and+Tricks

Anecdotally, applying the Performance Tips and Tricks allowed smooth animations 
on a 2012 MacBook Air with a full-screen blur.

-Original Message-
From: openjfx-dev [mailto:openjfx-dev-boun...@openjdk.java.net] On Behalf Of 
Jeff Martin
Sent: Tuesday, April 01, 2014 11:17 AM
To: Mike Hearn
Cc: openjfx-dev@openjdk.java.net
Subject: Re: Expected frame rates for a full-screen blur

I assume retina optimization was added for JFX 8 (or is on the short list). I 
think there is a Jira for it.

You can choose a non-retina resolution by going to display preferences and 
clicking the Scaled radio button and selecting something to the right of 
Best Resolution (Retina). It used to be that you could option-click the 
Scaled radio button to get a real list of choices, but now you can only get 
that with a 3rd party resolution tool (I think).

jeff


On Apr 1, 2014, at 12:49 PM, Mike Hearn m...@plan99.net wrote:

 How do I do that? And won't that make everything blurry? Retina support is 
 one reason why I chose JFX. Swing on Retina Macs is pretty much unusable, 
 it's like looking through thick plastic.
 
 
 On Tue, Apr 1, 2014 at 7:26 PM, Jeff Martin j...@reportmill.com wrote:
 If it's a MacBook Pro Retina, you might try it with and without retina level 
 resolution. I haven't tested JavaFX 8 with retina, but JFX 7 had serious 
 problems that would go away when I changed the display to non-retina.
 
 jeff
 
 
 On Apr 1, 2014, at 11:41 AM, Mike Hearn m...@plan99.net wrote:
 
  Actually, playing some more, it seems like the poor frame rates I'm 
  seeing are not blur related, but rather affect any animation (i.e. 
  all rendering) when my main window is maximized. Shrinking the 
  window so it's smaller results in smooth animations of any kind. 
  This seems to be true no matter how I try and simplify my scene (e.g. 
  turning off a tiled background image).
 
  I grabbed Ensemble and tried the circle blur demo. It actually made 
  my entire laptop unusable. The entire OS crawled to a halt and fps 
  was maybe
  0.3 for everything, not just the Java app. Going back to the main 
  menu made things snappy again.
 
  This is a bit disconcerting. Does anyone else see such appalling 
  performance impact from the blurred circles demo on their Mac? Is 
  this a driver issue, perhaps? Are there any platforms where this 
  demo hits a good fps?
 
 
 
  On Tue, Apr 1, 2014 at 6:10 PM, Mike Hearn m...@plan99.net wrote:
 
  Hi there,
 
  On a MacBook Pro with OS X 10.9.2, does anyone have any estimates 
  for anticipated frame rates of a full-screen animated blur? I 
  noticed that when my window is not maximized, the blur is smooth 
  and high frame-rate. When maximized the blur is somewhat choppy. 
  Unfortunately I have no clue how much work is really involved in 
  GPU blurring and whether I'm being unreasonable to expect that many 
  pixels to be blurred per second (this is on a retina display).
 
  Can anyone let me know if it's worth me trying to optimise this or 
  whether hardware limitations will mean that realistically I am expecting 
  too much.
 
  thanks!