You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@pivot.apache.org by Mike Smorul <ms...@gmail.com> on 2010/11/16 21:19:55 UTC

Remote X11 performance

I've been trying to run a pivot app forwarded over SSH/X11 and the
performance makes it almost unusable. Screen redraws take several
seconds and mouse events are delayed enough that double-clicks almost
never register. A similar swing app performing similar actions (file
browsing) responds as if it's running locally.

The two machines are connected via a gig link w/ .3ms latency. One
major difference I've noticed betwee the swing and pivot app is the
amount of network traffic. During redraws, the pivot app will push
almost 2MB/s while the swing app hardly ever pushes over 100KB/s. I've
tried the usual java2d trick of '-Dsun.java2d.pmoffscreen=false', but
this had little effect.

Any ideas?

Thanks,
 -Mike

Re: Remote X11 performance

Posted by Mike Smorul <ms...@gmail.com>.
I'll setup a build tomorrow and see how it performs.

-Mike

On Tue, Nov 16, 2010 at 4:26 PM, Greg Brown <gk...@mac.com> wrote:
> Are you able to build Pivot from source? If so, can you try commenting out the calls to paintVolatileBuffered() and paintBuffered() in ApplicationContext.DisplayHost#paint()? That should tell us if the double buffering is the problem.
>
> On Nov 16, 2010, at 4:12 PM, Mike Smorul wrote:
>
>> I spoke a little too soon about using -Dsun.java2d.pmoffscreen=false,
>> it was a webstart test, so I needed to specify
>> -J-Dsun.java2d.pmoffscreen=false. Interactive performance improved,
>> however bandwidth requirements were just as severe.
>>
>> I'm not sure if java has a clean to detect if its running remotely way
>> other than checking the DISPLAY environment variable.
>>
>> -Mike
>>
>> On Tue, Nov 16, 2010 at 3:37 PM, Greg Brown <gk...@mac.com> wrote:
>>> It's probably because all drawing in Pivot is double-buffered, so bitmaps are being sent over the wire rather than graphics primitives.
>>>
>>> We could potentially provide a way to turn this off - or maybe there is a way to detect a remote X display and automatically turn it off?
>>>
>>> On Nov 16, 2010, at 3:19 PM, Mike Smorul wrote:
>>>
>>>> I've been trying to run a pivot app forwarded over SSH/X11 and the
>>>> performance makes it almost unusable. Screen redraws take several
>>>> seconds and mouse events are delayed enough that double-clicks almost
>>>> never register. A similar swing app performing similar actions (file
>>>> browsing) responds as if it's running locally.
>>>>
>>>> The two machines are connected via a gig link w/ .3ms latency. One
>>>> major difference I've noticed betwee the swing and pivot app is the
>>>> amount of network traffic. During redraws, the pivot app will push
>>>> almost 2MB/s while the swing app hardly ever pushes over 100KB/s. I've
>>>> tried the usual java2d trick of '-Dsun.java2d.pmoffscreen=false', but
>>>> this had little effect.
>>>>
>>>> Any ideas?
>>>>
>>>> Thanks,
>>>> -Mike
>>>
>>>
>
>

Re: Remote X11 performance

Posted by Greg Brown <gk...@mac.com>.
Are you able to build Pivot from source? If so, can you try commenting out the calls to paintVolatileBuffered() and paintBuffered() in ApplicationContext.DisplayHost#paint()? That should tell us if the double buffering is the problem.

On Nov 16, 2010, at 4:12 PM, Mike Smorul wrote:

> I spoke a little too soon about using -Dsun.java2d.pmoffscreen=false,
> it was a webstart test, so I needed to specify
> -J-Dsun.java2d.pmoffscreen=false. Interactive performance improved,
> however bandwidth requirements were just as severe.
> 
> I'm not sure if java has a clean to detect if its running remotely way
> other than checking the DISPLAY environment variable.
> 
> -Mike
> 
> On Tue, Nov 16, 2010 at 3:37 PM, Greg Brown <gk...@mac.com> wrote:
>> It's probably because all drawing in Pivot is double-buffered, so bitmaps are being sent over the wire rather than graphics primitives.
>> 
>> We could potentially provide a way to turn this off - or maybe there is a way to detect a remote X display and automatically turn it off?
>> 
>> On Nov 16, 2010, at 3:19 PM, Mike Smorul wrote:
>> 
>>> I've been trying to run a pivot app forwarded over SSH/X11 and the
>>> performance makes it almost unusable. Screen redraws take several
>>> seconds and mouse events are delayed enough that double-clicks almost
>>> never register. A similar swing app performing similar actions (file
>>> browsing) responds as if it's running locally.
>>> 
>>> The two machines are connected via a gig link w/ .3ms latency. One
>>> major difference I've noticed betwee the swing and pivot app is the
>>> amount of network traffic. During redraws, the pivot app will push
>>> almost 2MB/s while the swing app hardly ever pushes over 100KB/s. I've
>>> tried the usual java2d trick of '-Dsun.java2d.pmoffscreen=false', but
>>> this had little effect.
>>> 
>>> Any ideas?
>>> 
>>> Thanks,
>>> -Mike
>> 
>> 


Re: Remote X11 performance

Posted by Mike Smorul <ms...@gmail.com>.
I spoke a little too soon about using -Dsun.java2d.pmoffscreen=false,
it was a webstart test, so I needed to specify
-J-Dsun.java2d.pmoffscreen=false. Interactive performance improved,
however bandwidth requirements were just as severe.

I'm not sure if java has a clean to detect if its running remotely way
other than checking the DISPLAY environment variable.

-Mike

On Tue, Nov 16, 2010 at 3:37 PM, Greg Brown <gk...@mac.com> wrote:
> It's probably because all drawing in Pivot is double-buffered, so bitmaps are being sent over the wire rather than graphics primitives.
>
> We could potentially provide a way to turn this off - or maybe there is a way to detect a remote X display and automatically turn it off?
>
> On Nov 16, 2010, at 3:19 PM, Mike Smorul wrote:
>
>> I've been trying to run a pivot app forwarded over SSH/X11 and the
>> performance makes it almost unusable. Screen redraws take several
>> seconds and mouse events are delayed enough that double-clicks almost
>> never register. A similar swing app performing similar actions (file
>> browsing) responds as if it's running locally.
>>
>> The two machines are connected via a gig link w/ .3ms latency. One
>> major difference I've noticed betwee the swing and pivot app is the
>> amount of network traffic. During redraws, the pivot app will push
>> almost 2MB/s while the swing app hardly ever pushes over 100KB/s. I've
>> tried the usual java2d trick of '-Dsun.java2d.pmoffscreen=false', but
>> this had little effect.
>>
>> Any ideas?
>>
>> Thanks,
>> -Mike
>
>

Re: Remote X11 performance

Posted by Greg Brown <gk...@mac.com>.
It's probably because all drawing in Pivot is double-buffered, so bitmaps are being sent over the wire rather than graphics primitives.

We could potentially provide a way to turn this off - or maybe there is a way to detect a remote X display and automatically turn it off?

On Nov 16, 2010, at 3:19 PM, Mike Smorul wrote:

> I've been trying to run a pivot app forwarded over SSH/X11 and the
> performance makes it almost unusable. Screen redraws take several
> seconds and mouse events are delayed enough that double-clicks almost
> never register. A similar swing app performing similar actions (file
> browsing) responds as if it's running locally.
> 
> The two machines are connected via a gig link w/ .3ms latency. One
> major difference I've noticed betwee the swing and pivot app is the
> amount of network traffic. During redraws, the pivot app will push
> almost 2MB/s while the swing app hardly ever pushes over 100KB/s. I've
> tried the usual java2d trick of '-Dsun.java2d.pmoffscreen=false', but
> this had little effect.
> 
> Any ideas?
> 
> Thanks,
> -Mike