We use IExportContext interface to export models from Revit. We don't have any performance issues on standard desktop machines, but as we have moved to work from home with the pandemic, we are seeing some performance issues when we log into a remote machine.
It appears as there is some correlation between the performance if someone is connected to the remote machine through Remote Desktop Connection and if the connection is closed. The performance difference is pretty significant (10X - 20X slower) and it also seems like Revit usually crashes at some point during the process.
I remember reading somewhere that IExportContext is essentially based on the graphics pipeline that delivers the graphics to the monitor, is it possible that Revit goes into some sort of 'Power Saver' mode and slows down the export process significantly? My other theory is that it's not directly a Revit issue, but maybe a more low level Windows optimization that is having a side effect on Revit? We have done some logging and it seems like there are major drops in the performance everytime we hit OnLinkeBegin and OnInstanceBegin.The question is, is this really the case? And if it is, is there a way to get around it?
Another question, does the graphics card has any impact on the performance of the IExportContext? We were not expecting any correlation since the user is not interacting with the model during the export process (rotating, mapping, etc) and thus the graphics card is not involved in the process, but we have no visibility into the underlying implementation.