Tooltip rendering behaviour has changed in ExeOutput 2018


#1

Hello guys,
I’ve finally upgraded from XP to Win7 64 (yeah I know, I deserve a medal - I might even go as far as Win10 one day :wink: ) so I can finally begin using PHP7 but have noticed a major showstopper in Exeoutput 2018. (or rather an issue in all versions of CEF beyond version 56 used in ExeOutput 2)

It’s a bit tricky to explain, but the way mouseover tooltips render in the browser has made the app I’m building a bit of a nightmare to use. I’ll try to explain, but the best way is for you to see for yourself.

If you have an older pre 57 version of chrome installed you can use that and compare to a later version, if not, then Grab the CEF client test apps from here: http://opensource.spotify.com/cefbuilds/index.html

Or use the direct links here:

Chrome 56: http://opensource.spotify.com/cefbuilds/cef_binary_3.2924.1572.g178f101_windows64_client.tar.bz2 (tooltip rendering fine on this - the version used in Exeoutput v2)

Chrome 57:
http://opensource.spotify.com/cefbuilds/cef_binary_3.2987.1590.g1f1b268_windows64_client.tar.bz2 (tooltip rendering is slow on this and all versions beyond 57 including the one used in ExeOutput 2018)

Once downloaded and extracted, run the test client (cefclient.exe) and use it to browse to this link: https://www.grc.com/x/ne.dll?bh0bkyd2 (Shields Up firewall test) Click the Proceed button, then click the button to do an “All Service Ports” firewall test.

You will see a grid appear on the screen showing the security status of each main port on your computer - this is where you can mouseover each cell in the grid to see exactly what I mean about tooltip rendering.

In Chrome 56, the first tooltip appears within a few seconds of hovering and you can then scan the mouse over each cell in the grid and subsequent tooltips will appear IMMEDIATELY - this is very useful for this kind of grid with literally hundreds of tooltips which is exactly the way I need them to work in my app.

In Chrome 57 and beyond, the first tooltip appears within a few seconds of hovering over a cell in the grid, but when you move over subsequent cells there is another long delay between each new tooltip appearing - this makes quickly scanning the grid for stats in the tooltips a nightmare - and in my case, renders my own app pretty much useless.

So my question is this, should I stick with ExeOutput v2 with CEF 56, or is it possible to downgrade the version of CEF used in ExeOutput 2018 so I can get the old tooltip behavior back? Or is there another hack or chrome flag I can use to fix the tooltip rendering issue in the version of CEF used in EO 2018?

I’d love to use ExeOut 2018, particularly for the exec fix and PHP 7.2 among other things, but so far it looks like I’m not going to be able to take advantage of it with the tooltip issues.

Also, are there any other major stability issues that would make sticking with EO V2 problematic? Are there any essential fixes that have not been added to V2 that would affect the stability of apps created in that version vs the newer 2018 one? and would there any way to update PHP7 in V2 to the latest version or maybe even PHP7.2?

NOTE: Using alternative JS/CSS tooltips is not an option as none of them are anywhere near as responsive as the native tooltip when used in such large amounts. The native tooltip is perfect for the job, why on earth did the Chromium team have to break it?? So frustrating!

What could you suggest??

Many thanks in advance!


#2

No, you can’t downgrade the version of CEF, otherwise we would have given the possibility.

Could you try to tick the following option if it helps?


#3

Sorry for the delay - I’ve been crazy busy upgrading my dev environment and app to work with PHP7 to get to the point where I could test in both versions of ExeOutput.

I already use the No Skinnable Window and Do Not Use Skins for System Dialogs options, but sadly it doesn’t make any difference to the tooltip behaviour in EOut 2018. In v2.2 they work fine - it’s definitely a CEF issue affecting all versions beyond 56.

Is there really no way on earth that CEF could be downgraded in EO 2018 ? - or v2.2 be updated to include the most important fixes from 2018 - I’d happily pay you extra to do it!! (or are many of the fixes reliant on the new CEF version?)

During testing in v.2.2 I also ran into an issue with a class library that used an autoloader (PHPExcel) but managed to fix it by downloading the dll you posted here: Dos Exeoutput support composer?

Is it safe to continue using that dll instead of the one shipped in EO v2.2 - can I assume it’s a slightly later version with more fixes than the one in the main v2.2 download? What other fixes does it contain in comparision to EO 2018 - does exec work? (not had time to test exec yet)

Ideally I’d love to use v2018 because the exec function has been fixed among other things, but the tooltip issue is quite major - so I really need to stick with a version that uses CEF 56.

There are a couple more issues I’ve had while testing both v2.2 & 2018, but probably best to post them on separate threads.

Anyway, thanks for all your help so far, overall ExeOut is a brilliant tool & I really appreciate all the effort you guys put into it - just gets a little frustrating having to hack my way round annoying issues after each update. I know it’s generally not your fault and more down to how the Chromium/CEF team like to make snap decisions and dictate to us devs what we should and shouldn’t use/need features for based on how they want the web to be used.

That may be all very well for certain aspects of the web itself, for example tooltips are as good as useless on mobile devices with touchscreens, but don’t they realise their browser engine is used for building desktop apps too? grrr!!


#4

Before the end of this month, ExeOutput 2018.2 will be published with updated Chromium engine. Hopefully, it will fix your tip problem. Sure, you can still use that DLL for Exo 2.2. However, don’t use it for more recent versions.


#5

Just to quickly update on this… sadly the latest versions still haven’t fixed it. It is a little bit better, but still nowhere near as fast as it was when using CEF 56. Am I right in thinking it’s just something I’m going to have to put up with? - I sense it’s a just CEF issue - or just the behaviour they’ve decided to settle with for some reason - really annoying, but such is life.

Not sure if you use a custom compiled version of CEF for exeoutput, but maybe it could be hacked to use the old behaviour - or maybe not?

There was another issue from a long time ago where they limited the number of characters allowed in tooltips - they restricted it to 1024 for some reason, but I do know that could be changed - there’s a parameter in CEFs code called kMaxTooltipLength, so if you do use a custom compiled versioon of CEF for exeoutput, it would be awesome if it could be set back to 2048! (yeah, I know that’s a lot of characters for a tooltip, but for my use case it would be very useful)

You can see it mentioned here: https://www.google.com/search?complete=0&pws=0&hl=en&gl=GB&ei=LjEUXLSWJ5GH1fAP4KOm6Ac&q=kMaxTooltipLength+cef&oq=kMaxTooltipLength+cef&gs_l=psy-ab.3...9154.10767..11100...0.0..0.106.366.3j1…0…1…gws-wiz…33i160.WFmfKmiuv48

and here: https://bugs.chromium.org/p/chromium/issues/detail?id=370226


#6

Unfortunately no we use the standard CEF files; no custom build.


#7

Ah, no problem, I had a feeling that would be the case.