[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [platform-swt-dev] SWT browser
- From: Scott Kovatch <skovatch.swt@xxxxxxxxx>
- Date: Fri, 18 Feb 2011 12:18:59 -0800
- Delivered-to: email@example.com
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:x-priority:in-reply-to:date :content-transfer-encoding:message-id:references:to:x-mailer; b=urJkHUGFHP+bWM4GTMcf+nPriJ2OqxocYB0uf6AHTHsB3dixh9A7VL6zk2BZ3QYAuO Nd5RQy7DYlHnh/atrt0Vpfgbacz6dT0czzMLfb9uPk5uaq55wj1qzPcLslRLQOwe/vCS 5fnjh8KyXJnxqhjk36TVBPkurq45i524qzJvY=
On Feb 18, 2011, at 9:29 AM, Dermot Doherty wrote:
> Applet performance is sluggish, which is not a SWT issue. Quick explanation: To get applets and other heavy weight components to blend better and integrate/overlap light-weight component in the surrounding web-page, Apple changed the way that plugins are drawn. Java Plugin2 on Mac now forces all rendering to an offscreen buffer and then draws it through the CoreGraphics api, which is a great idea actually, but affects the performance of the applet. It causes an unacceptable delay when scrolling in an applet and a slight delay when typing in an applet. From what I am reading it also breaks the frame rate on OpenGL Applets (JOGL & LWJGL) - http://lwjgl.org/forum/index.php?topic=3341.0. Also, mouse over events are not delivered to the applet.... clicks are.
The mouse event problem may be related to a bug I fixed recently. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=337499 ... Plugin2 reparents the applet into a new window and we weren't re-registering with the new window for events.
And diverting a bit off topic here.... the new drawing architecture likely explains another problem I was looking at with Chris Deckers. If you try to display a page with Flash content (Flash 10.1 or later) in the Browser widget inside an applet the Flash content only draws when the applet is dragged out of the web page. This is because Flash is using CALayers for its drawing. I haven't found a way to compensate for this in SWT, or see if there even is a way to do it.
Recent Mac Java builds will let you obtain a CALayer instead of an NSView, which is how we normally parent the embedded shell. Using that to back the NSView might be a possible solution.
-- Scott K.