I foresee two strategies for maintaining native system performance:
- configuration options that determine whenever the cache shouldn't be frozen
- a time-window after the screen is locked which allows for the some user interaction to prevent cache freezing
The time-window approach could be something like a count-down which starts right when the screen is locked (and the user might be still in front of the computer). Clicking on the "don't freeze the cache" button during the countdown would prevent the key protection - while ignoring it would lead to the desired protection (thus addressing the case the computer auto-locks the screen, it would only add a small window of additional exposure for the encryption key).