#61690 replaced call to OOP with faster, in-proc check. The check is still async and may cause UI delays. We can improve upon this further and ideally make the check synchronous and not using Solution snapshot at all.
Now that we determined that skipping change application during break state is sound, we can perform much faster check (heuristic) that only inspect readily available in-proc solution state. Ideally, we would avoid using solution snapshot entirely for this implementation, but that turns out to be tricky. We could, for example, track changes to open files that belong to Roslyn and ignore changes that were made outside of VS. However, determining whether a file belongs to Roslyn (i.e. can affect compilation) is not straightforward as it depends on data coming from the project system (especially for additional files, which can have arbitrary extension). In future we might want to investigate this approach further.
#61690 replaced call to OOP with faster, in-proc check. The check is still async and may cause UI delays. We can improve upon this further and ideally make the check synchronous and not using Solution snapshot at all.