wjywbs / javacef

Embed Chromium browser in Java SWT. (Previously code.google.com/p/javacef)
107 stars 39 forks source link

Improper painting with 2526 branch #34

Open suneel-tokuri opened 8 years ago

suneel-tokuri commented 8 years ago

Hi,

With javacef 2526 branch painting of big images is not smooth on Mac Retina display(os x 10.11.5), resulting in flickering and unpainted boxes/rectangles appear on the browser. The fps is not crossing 20 fps

We can see the issue on SampleSWT browser window with this url, https://www.flickr.com/photos/28841566@N05/27512174980/in/explore-2016-06-20/ Try zoom the image.

Please let us know any swt settings that would improve the fps with javacef

suneel-tokuri commented 8 years ago

Probably the low fps is due to disable-gpu-compositing flag

suneel-tokuri commented 7 years ago

We have observed that disabling gpu compositing, keeps the max gpu memory to 128 MB. This seems to be the reason for low fps.

Given gpu compositing is disabled, 'force-gpu-mem-available-mb' flag is not working. The relevant memory policy to max at 128 MB must be with chrome.

It would be nice if you can investigate why gpu rendering isn't working after 3.1750 branch

suneel-tokuri commented 7 years ago

Hi Jingyi, my employer is active looking for a fix to get gpu rendering working on the newer branch 2526. In the lines of this issue, our app is also facing rendering issues on Mac Retina display and blocking us to upgrade the app to newer chrome.

Please let us know the possibility of investing your effort on fixing this, associated cost factors and expectation in terms of monetary benefit.

nedtwigg commented 7 years ago

Just FYI, the eclipse foundation has raised money to build an officially-supported SWT Browser based on embedded Chromium. It is taking bids on the project from qualified developers (Jingyi is as-qualified as possible for this effort, I believe). If Jingyi is not able to find time, however, you can make a directed donation to the eclipse foundation which will go towards reviving the SWT Browser with a modern embedded Chromium. It's called FEEP (Friends of Eclipse Enhancement Program).

Bids for this cycle are required by December 23, 2016.

wjywbs commented 7 years ago

My plan is to update cef version again and see if the gpu issue is fixed in newer release. I'm not sure when I will have some free time recently.

(Adding SWT.EMBEDDED_CHROMIUM will be a much larger effort.)

nedtwigg commented 7 years ago

If money is capable of buying your time, I hope you'll take @suneel331 up on their offer to help you :)

If you are able to update your code to a newer CEF3 version, I think I could automate its build and do a decent chunk of the work required to make it a drop-in SWT Browser through SWT.EMBEDDED_CHROMIUM. If you want @suneel331's money and FEEP's money, I'd be happy to put in a co-bid with you for FEEP. But I think only you know the code well enough to migrate to newer CEF3. For others (such as myself), I think we're better off starting from scratch, which is quite a large project, as you know better than anyone :)

wjywbs commented 7 years ago

I had a try last weekend about gpu, and it was more complicated than I expected. I estimate to need 1-2 weeks full time to fix it.

Since cef updates every month, it would take me at least 1 week full time for each update (2 days for each of the 3 platforms, if there are no breaking changes or crashes). I don't think I would have 1-2 weeks for every month for this project.

nedtwigg commented 7 years ago

If you spent the 1-2 weeks to bring it up to latest CEF3, I can do the monthly maintenance using the shims over at swt-chromium. But I think that only you can do the initial CEF3 upgrade - if I were doing it, I think I'd be better off starting from scratch (just too much API surface for a new contributor). @suneel331, think you have budget for 1-2 weeks of @wjywbs's time?

suneel-tokuri commented 7 years ago

@wjywbs thanks for evaluating the effort required to fix gpu issue. I think it would be nice to get javacef onto latest CEF3. We would like to know the cost/budget to 1-2 weeks of your effort.

@nedtwigg thanks for keeping us posted. In case, we get embedded chrome available as drop-in SWT browser, then we need cef_query and execute javascript functionality on the widget. We were relying on these two.

edgross144 commented 7 years ago

@nedtwigg & @wjywbs - I am the product owner here and @suneel331 works on my team - we have budget for this and this is an urgent issue. Can we touch base offline please to get this resolved - I am available any time for a conf call.

nedtwigg commented 7 years ago

I'm available anytime as well. My email is in my profile. What is your contact info @edgross144 and @suneel331 ?

wjywbs commented 7 years ago

My email is my user name at gmail.com, thanks.

suneel-tokuri commented 7 years ago

Mine is my username at yahoo.com