РЕГУЛИРОВКА ЗАДЕРЖКИ УСТРОЙСТВ ПОЛЬЗОВАТЕЛЬСКОГО ВВОДА

1. Устройство, содержащее:
один или более компьютерно-читаемых носителей информации;
систему обработки, функционально соединенную с одним или более компьютерно-читаемыми носителями информации; и
интерфейс пользовательского ввода, содержащий программные инструкции, сохраненные на одном или более компьютерно-читаемых носителях информации, которые, на основе их считывания и исполнения системой обработки, инструктируют системе обработки, по меньшей мере:
идентифицировать целевой темп для доставки состояния пользовательского ввода приложению;
определять, на основе, по меньшей мере, целевого темпа, один или более параметров синхронизации для передачи состояния пользовательского ввода от устройства пользовательского ввода; и
указывать эти один или более параметров синхронизации устройству пользовательского ввода, при этом устройство пользовательского ввода в ответ передает состояние пользовательского ввода согласно упомянутым одному или более параметрам синхронизации.
2. Интерфейс пользовательского ввода по п.1, при этом упомянутые один или более параметров синхронизации содержат смещение передачи и интервал передачи для регулирования передачи последующего состояния пользовательского ввода от устройства пользовательского ввода, при этом смещение передачи основывается, по меньшей мере, отчасти на запаздывании между передачей состояния пользовательского ввода устройством пользовательского ввода и приемом состояния пользовательского ввода интерфейсом пользовательского ввода.
3. Интерфейс пользовательского ввода по п.1, содержащий дополнительные программные инструкции, которые, на основе их исполнения системой обработки, инструктируют системе обработки, по меньшей мере:
принимать указание целевого темпа от приложения;
при этом указание целевого темпа содержит указание рекуррентного события в хост-системе, исполняющей приложение, и смещение синхронизации от рекуррентного события; и
при этом рекуррентное событие содержит по меньшей мере одно из указателя обновления отображения, указателя кадровой синхронизации дисплея и характеристики синхронизации частоты графических кадров графического процесса хост-системы.
4. Интерфейс пользовательского ввода по п.1, содержащий дополнительные программные инструкции, которые, на основе их исполнения системой обработки, инструктируют системе обработки, по меньшей мере:
принимать указатель синхронизации, передаваемый устройством пользовательского ввода, который соответствует времени, когда устройство пользовательского ввода передает состояние пользовательского ввода;
определять запаздывание между передачей состояния пользовательского ввода устройством пользовательского ввода и приемом состояния пользовательского ввода интерфейсом пользовательского ввода; и
определять, на основе целевого темпа и запаздывания, упомянутые один или более параметров синхронизации.
5. Интерфейс пользовательского ввода по п.4, при этом указатель синхронизации содержит монотонно изменяющееся значение счетчика, формируемое устройством пользовательского ввода и включенное в сообщения, содержащие состояние пользовательского ввода, передаваемые устройством пользовательского ввода.
6. Интерфейс пользовательского ввода по п.1, содержащий дополнительные программные инструкции, которые, на основе их исполнения системой обработки, инструктируют системе обработки, по меньшей мере:
наблюдать за синхронизацией, ассоциированной с одним или более запросами от приложения для состояния пользовательского ввода; и
на основе, по меньшей мере, синхронизации, ассоциированной с одним или более запросами, определять целевой темп, при этом целевой темп содержит, по меньшей мере, смещение синхронизации от рекуррентного события в хост-системе, исполняющей приложение.
7. Интерфейс пользовательского ввода по п.1, при этом устройство пользовательского ввода содержит, по меньшей мере, одно из игрового контроллера, клавиатуры, мыши, сенсорной панели, адаптивного контроллера, контроллера виртуальной реальности, контроллера дополненной реальности и сенсорного экрана.
8. Способ работы интерфейса пользовательского ввода в хост-системе, содержащий этапы, на которых:
идентифицируют целевой темп для доставки состояния пользовательского ввода приложению;
определяют, на основе, по меньшей мере, целевого темпа, один или более параметров синхронизации для передачи состояния пользовательского ввода от устройства пользовательского ввода; и
указывают эти один или более параметров синхронизации устройству пользовательского ввода, при этом устройство пользовательского ввода в ответ передает состояние пользовательского ввода согласно упомянутым одному или более параметрам синхронизации.
9. Способ по п.8, в котором упомянутые один или более параметров синхронизации содержат смещение передачи и интервал передачи для регулирования передачи последующего состояния пользовательского ввода от устройства пользовательского ввода, при этом смещение передачи основывается, по меньшей мере, отчасти на запаздывании между передачей состояния пользовательского ввода устройством пользовательского ввода и приемом состояния пользовательского ввода интерфейсом пользовательского ввода.
10. Способ по п.8, дополнительно содержащий этапы, на которых:
принимают указание целевого темпа от приложения;
при этом указание целевого темпа содержит указание рекуррентного события в хост-системе, исполняющей приложение, и смещение синхронизации от рекуррентного события; и
при этом рекуррентное событие содержит по меньшей мере одно из указателя обновления отображения, указателя кадровой синхронизации дисплея и характеристики синхронизации частоты графических кадров графического процесса хост-системы.
11. Способ по п.8, дополнительно содержащий этапы, на которых:
принимают указатель синхронизации, передаваемый устройством пользовательского ввода, который соответствует времени, когда устройство пользовательского ввода передает состояние пользовательского ввода;
определяют запаздывание между передачей состояния пользовательского ввода устройством пользовательского ввода и приемом состояния пользовательского ввода интерфейсом пользовательского ввода; и
определяют, на основе целевого темпа и запаздывания, упомянутые один или более параметров синхронизации.
12. Способ по п.11, в котором указатель синхронизации содержит монотонно изменяющееся значение счетчика, формируемое устройством пользовательского ввода и включенное в сообщения, содержащие состояние пользовательского ввода, передаваемые устройством пользовательского ввода.
13. Способ по п.8, дополнительно содержащий этапы, на которых:
наблюдают за синхронизацией, ассоциированной с одним или более запросами от приложения для состояния пользовательского ввода; и
на основе, по меньшей мере, синхронизации, ассоциированной с одним или более запросами, определят целевой темп, при этом целевой темп соответствует, по меньшей мере, рекуррентному событию в хост-системе, исполняющей приложение, и смещению синхронизации от рекуррентного события.
14. Система пользовательского интерфейса, содержащая:
прикладной интерфейс, выполненный с возможностью идентифицировать предпочтительную синхронизацию доставки состояния пользовательского ввода приложению, при этом предпочтительная синхронизация доставки соответствует, по меньшей мере, рекуррентному событию в хост-системе, исполняющей приложение, и смещению синхронизации от рекуррентного события;
систему регулирования синхронизации, выполненную с возможностью определять, на основе, по меньшей мере, предпочтительной синхронизации доставки, один или более параметров синхронизации для передачи состояния пользовательского ввода от устройства пользовательского ввода; и
интерфейс ввода, чтобы указывать эти один или более параметров синхронизации устройству пользовательского ввода, при этом устройство пользовательского ввода в ответ передает состояние пользовательского ввода согласно упомянутым одному или более параметрам синхронизации.
15. Система пользовательского интерфейса по п.14, причем система пользовательского интерфейса выполнена с возможностью:
определять запаздывание между передачей состояния пользовательского ввода устройством пользовательского ввода и приемом состояния пользовательского ввода системой пользовательского ввода; и
определять, на основе запаздывания и предпочтительного момента доставки, упомянутые один или более параметров синхронизации, содержащих смещение передачи и интервал передачи для регулирования передачи последующего состояния пользовательского ввода от устройства пользовательского ввода.