CefSharp behaves slow in Revit 2021 compared to older version - cefsharp

I have been working with Revit and CefSharp since Revit 2017,
Since Revit for 2017 and 2018 did not have in-built CefSharp, I was using the latest version of CefSharp to create plugins UI.
But from Revit 2019 onwards since Revit itself loaded the CefSharp there were fixed versions that needed to be followed like (Revit 2019 supported 57 and Revit 2020 and 2021 supports 65.0.1).
But in Revit 2021, the UI and data transfer between Revit and CefSharp (UI) seems to be very slow.
The UI, c# code and CefSharp version is same for Revit 2020 and works very well for Revit 2020 but is very slow for Revit 2021.
this.browser.Address = "http://<online_path>";
this.browser.JavascriptObjectRepository.Register("revit", new BoundObject(m_externalEvents, this.browser, this), true);
The above code is used in 2020 and 2021 for Registering the object.
Can someone guide me the correct way to use CefSharp for Revit 2021 or what additional is required for Revit 2021 to improve the performance like Revit 2020.

I've noticed the same & have taken the approach outlined here:
https://thebuildingcoder.typepad.com/blog/2019/04/set-floor-level-and-use-ipc-for-disentanglement.html#5
Don't use the same CEFShap version as Revit. Run the browser in a separate process & use IPC to communicate between Revit & the browser process. This allows you to use any version of CEFSharp. I share this separate process with all versions of Revit.

Related

GNAT CE 2020 doesn't recognize -gnatt switch

see question in No GNATtest in GNAT Community Edition?
On Windows 10, using GNAT CE 2020, when I build gnattest following the guidance in the ASIS package mentioned in the link, I still get an error when trying to generate a test harness (gnattest -Pgpr-file), gnattest reports: gnat1: invalid switch: -gnatt
Anyone who knows how to proceed ?
-gnatt is the switch that dumps ASIS information, and AdaCore are moving away from ASIS (well, as far as we unsupported users are concerned, have moved).
gnattest is one of the tools supported in libadalang-tools, which depends on libadalang.
Source for both of these is available on the AdaCore Community download page, but since gnattest was only moved from work-in-progress 3 months ago and the latest versions on the download page are dated April 30 I think you’d have to bite the bullet and download from AdaCore’s Github site, and you’d need Python 3.8+ as well.
My only experience of building libadalang and -tools is on macOS, so I don’t think I can help further than that.

Is there a fix for Revit 2019 plugin to use the latest version of CefSharp?

I'd like to know if there is something new to the issue with Revit 2019 and CefSharp, thanks!
I found the next release will be in 2020. However, check this one out: https://forums.autodesk.com/t5/revit-architecture-forum/revit-2020-release-dates-and-notes/m-p/8623656#M231207
I discussed this very question and provided an alternative solution for Revit 2019 (and any other version of Revit, and any other program at all, for that matter) by using IPC for disentanglement.
Using IPC, you can implement the functionality you want (e.g., specific CefSharp access) in a separate process, and make that available to your Revit add-in without conflicting with whatever other stuff Revit itself is doing and using.

Visual Studio 2015 - Report Viewer 2015 redistributable - Getting Report Viewer "12" working

I'm running SQL 2014, and some users are having problems with the Report Viewer 11 control (Redistributable 2012), so I want to give the "Report Viewer 12" new control (Report Viewer Redistributable 2015) a spin. But this doesn't seem to be working from the steps I've tried so far, and as of the time I'm writing this there seems limited information on the newer control, and just information of workarounds for the old one.
Anyone get this new one working? Steps to Reproduce?
I'm looking into the solution, and it appears adding the feature via the installer (SQL Data tools) should help. But I'm surprised there is not Nuget Package or etc. And such little documentation covering the new version. Too Bleeding edge?
Update: I installed SQL Data Tools via 2015 installer (modified installation and choose new feature). But now I'm jumping a couple more hurdles.
Ok, so I did get this working...
I modified the VS 2015 installation to add SQL Data Tools
I uninstalled the Nuget Package for 11, because we want 12
I added a reference to Microsoft.Reporting.Web (12) which was an option thanks to step 1
I updated any left over references in my Web.config from version 11 to version 12
I created a new fresh form.aspx
I added a script manager
Via the design view I dragged a 12 report viewer control onto my page
I configured the report viewer as I regularly would
asp:ScriptManager ID="ScriptManager1" runat="server">/asp:ScriptManager>

AIHostAdapter events not working in adobe illustrator 2015?

Yesterday i updated my illustrator to 2015 then after updating, All the events from aiHostAdapter files in my extension stopped working although again i have tested extension in 2014 , it is working fine , can anyone tell how to get updated file for 2015.

How to get microsoft.xrm.client.codegeneration.dll

I am trying to set up references to the CRM 2011 sdk
Microsoft.Xrm.Sdk.dll
Microsoft.Xrm.Portal.dll
Microsoft.Xrm.Client.dll
While trying to use the CrmSvcUtil.exe to generate the early bound types for CRM, I get an error Microsoft.Xrm.Client.CodeGeneration.dll cannot be located. I could not locate the dll in any of the packages that I downloaded using Nuget PM.
Can anybody advise on the usage and how to obtain this?
Use the Early Bound Generator in the XrmToolBox Tool Store. It contains the functionality to generate code using the Xrm.Client. Or if you really just want to use the DLL and do everything by hand, it contains the DLL in the download.
Update
As of March 2020, the EBG no longer supports the deprecated Microsoft.Xrm.Client usage. Hopefully you've transitioned off of that. You can still download older versions of the EBG on NuGet if you're stuck on that client generation.

Resources