Как улучшить отзывчивость сенсорного экрана телефона Android




Все современные устройства, которые выходят на рынок с последних шести до семи лет, основаны на сенсорном экране. В то время как большинство устройств Android, особенно бюджет и Android-телефоны начального уровня, начинают испытывать то, что известно как отставание, когда проходят годы. Одной из наиболее распространенных проблем, с которыми сталкивается лицо этого пользователя, является отзывчивость сенсорного экрана, становится медленной по мере прохождения месяцев, что приводит к задержке. Многие разработчики создают приложения, которые обещают повысить производительность сенсорного экрана Android.

Но не все эти приложения работают в реальных условиях, потому что, если процессор слишком занят выполнением других задач и не может обрабатывать какие-либо операции ввода-вывода, в этом случае сенсорный ввод предоставляется вашему устройству Android. S o, когда он не может не отставать от ввода-вывода, также известного как операции прерываний, которые являются сенсорными входами, вы видите задержки в общем пользовательском интерфейсе.

Но есть некоторые способы преодолеть эту проблему в этом посте, мы обсудим один такой метод, который работает и может улучшить отзывчивость сенсорного экрана, по крайней мере, от 10% до 15%, что лучше, чем ничего или один или два процента, которые вы можете увидеть в некоторых приложениях.


Требования


Прежде чем погрузиться в этот метод, ваше Android-устройство должно быть рутировано. И вам также нужно ознакомиться с некоторыми техническими терминами, которые мы будем использовать, чтобы объяснить следующую процедуру, чтобы понять эти термины, и, соответственно, для будущего внесения изменений.

Может показаться сложным, но есть всего два-три шага, которые вам нужно соблюдать и понимать их технические аспекты и как они повлияют на отзывчивость ваших смартфонов.


Аппаратные прерывания на вашем CPU


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

Например, в компьютере и операции ввода-вывода вводятся данные с клавиатуры или при установке внешнего диска на ваш компьютер генерирует вход ввода-вывода, который процессор должен обрабатывать, останавливая все, что он делал в настоящее время. Когда он сталкивается с поисковыми аппаратными прерываниями, он выполняет предопределенный код в операционной системе, который в случае компьютера перемещает позицию указателя, а в случае вашего устройства Android, которое касается ввода, который вы предоставляете, берется здесь, чтобы взаимодействовать с пользовательским интерфейсом Android.


Таким образом, когда вы предоставляете несколько сенсорных входов, и ваше устройство перестает отвечать на запросы, это означает, что он не в состоянии справиться с этими аппаратными прерываниями.



Контроллер прерываний


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

Балансировка прерываний на вашем CPU

Ядро операционной системы по умолчанию разрешает аппаратные прерывания или другие операции ввода-вывода только для первого ЦП, но, как вы знаете, один процессорный ядро ​​может выполнять определенное количество определенного количества операций за данный отрезок времени. Таким образом, если мы сможем изменить природу процессора для обработки этих прерываний, назначив этим службам прерываний другому ядру ЦП.

Как улучшить отзывчивость сенсорного экрана телефона Android


Шаг 1: Как мы обсуждали выше, прерывания - это те, которые, если они поступают в больших количествах, могут и если ЦП не может справиться с ними или не отставать от темпа, может возникнуть отставание. Теперь, чтобы исправить это, мы назначим первое, чтобы идентифицировать прерывание, и поскольку это для смартфонов Android, операция ввода-вывода или прерывание здесь - Touch, это означает сенсорный драйвер.

Загрузите и установите приложение эмулятора терминала Android на свой смартфон, откройте в нем новое окно и выполните следующую команду: 

cat/proc/interrupts



Изображение показывает, что эмулятор терминала, работающий на Android, отображает все прерывания.

После того, как вы наберете указанную выше команду упоминания, которая показывает нам список контроллеров прерываний, проходящих через CPU, как показано на изображении выше. Теперь нам нужно найти Touch Interrupt в этом огромном списке, это утомительная задача, но это необходимо.

Шаг 2: Как только вы найдете этот сенсорный драйвер, вы должны проверить их на номер прерывания и запомнить его, как это необходимо для дальнейшей работы. Запишите это и введите следующую команду. Как показано на рисунке ниже.



В приведенном выше случае конкретный номер прерывания для драйвера Touch и его службы был найден в 240 (ваш будет отличаться в зависимости от устройства), помните этот номер, потому что теперь основная часть, где мы меняем сродство к процессору для обработки этих перебивает.

Шаг 3: В Linux мы можем изменить близость процессора через файловую систему /proc, и для этого вам потребуется номер прерывания, который мы искали выше. Теперь запустите следующую команду в терминале.

echo 1 > /proc/irq/240/smp_affinity_list

Теперь после этого позвольте ему выполнить, а затем закрыть терминал и помните, не перезагружайтесь, так как эти изменения не будут действовать после перезагрузки. Итак, если вы хотите, чтобы эти изменения остались, чтобы не перезагружайте устройство. 
Как улучшить отзывчивость сенсорного экрана телефона Android Как улучшить отзывчивость сенсорного экрана телефона Android Reviewed by Admin on августа 24, 2018 Rating: 5

Комментариев нет: