Вход стандарта сброса Bash перед чтением

Косвенный рендеринг означает, что протокол GLX будет использоваться для передачи команд OpenGL, и X.org сделает реальный рисунок.

Прямой рендеринг означает, что приложение может получить доступ к аппаратным средствам непосредственно без связи с X.org сначала через мезаструктуру.

Прямой рендеринг быстрее, поскольку он не требует изменения контекста в процесс X.org.

Разъяснение: В обоих случаях рендеринг сделан GPU (или технически - может быть сделан GPU). Однако в косвенном рендеринге процесса похож:

  1. Программа называет команду (команды)
  2. Команда (команды), is/are отправленный в X.org протоколом GLX
  3. X.org называет аппаратные средства (т.е. GPU) для рисования

В прямом рендеринге

  1. Программа называет команду (команды)
  2. Команда (команды), is/are отправленный в GPU

Обратите внимание на то, что, потому что OpenGL был разработан таким способом, который может работать по сети, косвенный рендеринг быстрее, затем был бы наивная реализация архитектуры т.е. позволяет отправлять буч команд сразу. Однако существуют немного служебные с точки зрения процессорного времени, проведенного для протокола обработки и контекстных переключений.

6
10.02.2011, 22:35
2 ответа

Этот поток при неблокировании ввода-вывода в ударе мог бы помочь.

Это предлагает использовать stty и dd.

Или Вы могли использовать bash read встроенный с -t 0 опция.

# do your stuff

# discard rest of input before exiting
while read -t 0 notused; do
   read input
   echo "ignoring $input"
done

Если Вы только хотите сделать это, если пользователь на терминале, попробуйте это:

# if we are at a terminal, discard rest of input before exiting
if test -t 0; then
    while read -t 0 notused; do
       read input
       echo "ignoring $input"
    done
fi
3
27.01.2020, 20:30
  • 1
    я закончил тем, что шел с командой как это. while read -e -t 1; do : ; done. Это, казалось, было достаточно для того, в чем я нуждался. –  Zoredache 11.02.2011, 09:42

Это тот -лайнер, на котором я остановился, похожий на те, что здесь:

while read -t 1 discard; do echo "ignoring input..."; done # Flush input
0
08.09.2021, 21:30

Теги

Похожие вопросы