위쪽/아래쪽 화살표 키를 사용하여 다양한 앱에서 위쪽 또는 아래쪽으로 스크롤할 때 키를 누른 상태에서 놓으면 일반적으로 꽤 오랫동안 앱이 계속 스크롤되는 것을 자주 볼 수 있습니다. 키를 누르고 있으면 키보드 버퍼가 키 누름으로 채워지고 스크롤이 중지되기 전에 모두 처리되어야 하는 것 같습니다. 이것을 예방할 수 있습니까? IOW, 키에서 손가락을 떼면 스크롤을 멈추고 싶습니다. 이 문제가 어느 수준에서 발생하는지 잘 모르겠습니다. 즉 Xfce의 잘못인지, Debian의 잘못인지, Linux의 잘못인지 잘 모르겠습니다. 하지만 일부 앱에서는 이런 문제가 전혀 발생하지 않으므로 누구를 비난해야 할지 모르겠습니다.
답변1
Unix 계열 시스템(DOS와 비교)의 경우 이는 시스템이 아닌 응용 프로그램 수준에서 수행됩니다. 시스템은 큰 입력 버퍼를 제공하므로 이를 채우는 데 어려움을 겪게 됩니다.
애플리케이션 수준에서 대부분의 프로그램은 자신이 뒤쳐지고 있고 입력 버퍼가 가득 차 있다는 사실을 인식할 만큼 똑똑하지 않습니다. 그들은 할 수 없습니다바라보다입력 버퍼. 그들을볼 수 있다화면이 업데이트되는 데 걸리는 시간과 업데이트에 소요되는 시간의 비율을 측정합니다.
curses 애플리케이션은 업데이트를 완료하기 전에 입력 문자를 인식하여 일부 최적화를 수행할 수 있습니다. 이것미리 입력하세요함수는curs 라이브러리가 (다음 업데이트를 위해) 업데이트를 포기할지 여부를 제어합니다. 다른 Linux 터미널 애플리케이션(스마트한 경우)은 입력 버퍼 폐기를 사용할 수 있습니다.플러시(표준 입력)- 휴대용이 아닙니다.
일부 X 응용 프로그램은 이러한 유형의 최적화(성능 문제에 대한 응답으로 입력 데이터 또는 출력 업데이트 폐기)도 수행합니다.
하지만전체 시스템이에 접근합니다. DOS와 달리 Linux(및 Unix) 운영 체제는 여러 동시 프로세스를 지원하며 시스템은 이러한 프로세스에 리소스를 제공하려고 시도합니다.
추가 자료:
- fpurge, __fpurge - 스트림 제거, 눈치 챘다
입력 버퍼를 삭제하려는 것은 일반적으로 실수입니다.
- fflush - 스트림 플러시,설명하다
표준은 입력 스트림의 동작을 지정하지 않습니다. 대부분의 다른 구현은 Linux와 동일하게 동작합니다.