jmuehlner commented on PR #894:
URL: https://github.com/apache/guacamole-client/pull/894#issuecomment-1608570066

   > * If possible, visibly distinguish between typed characters and 
non-printable keys.
   > * If possible, visibly distinguish between characters that have been 
typed, are being typed, and will be typed.
   
   Ok, I've visually distinguished these by bolding the non-printable keys and 
control characters, and changing the color of future keypresses to a slightly 
lighter gray.
   <img width="835" alt="image" 
src="https://github.com/apache/guacamole-client/assets/4633119/dcb51827-4a57-409e-979a-78297f5edd73";>
   
   Currently, every single key event has its own DOM element, so you can watch 
the characters flipping from gray to black (which is pretty fun TBH).
   
   With my test recordings, the performance seemed just the same as before. I 
also tried doing an SSH recording where I held down keys on the keyboard for 20 
minutes straight, resulting in 23499 DOM elements being rendered for the 
individual characters.
   
   I tested this recording on Firefox and Chrome, and it performed about the 
same in both. Seeking around was pretty slow, but that seemed to be mostly 
rendering. The initial video processing was pretty smooth, taking ~10 seconds 
or so. When playing back the recording, the browser did use quite a bit of CPU, 
but never crashed or had major usability issues.
   
   I'd be curious to know people's thoughts on this approach. If this is too 
performance-heavy, I could also somewhat streamline things by combining 
sequential similarly-styled key events into a single DOM element, though we'd 
lose granularity as far as which events occurred before or after the current 
recording playback position.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to