Аппаратное ускорение 2d в приложениях. Как ускорить смартфон или планшет на базе Android? Не используйте сторонние лаунчеры

12.04.2019

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

Удалите все ненужные приложения

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

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

Не используйте живые обои

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

Не используйте сторонние лаунчеры

Не используйте дополнительные виджеты

Примерно то же самое можно сказать и про виджеты, которые в изобилии можно разместить на рабочем столе. Постарайтесь оставить только те виджеты, без которых вы действительно не можете обойтись, например, часы или прогноз погоды. Другие виджеты стоит убрать с рабочего стола, поскольку они пусть и немного, но все же «съедают» память.

Отключите ненужные приложения

Есть приложения, которые работают в фоновом режиме, но необходимость в них редкая. Речь в данном случае идет о сторонних приложениях, а не о системных, отключать которые не рекомендуется, поскольку это может привести к сбою в системе.

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

Отключите GPS и геолокацию

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

Это, к слову, поможет в том числе увеличить автономность устройства.

Выполните очистку с помощью сторонних приложений

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

Используйте ускорение GPU

Зайдите в меню, найдите раздел «Для разработчиков» или «Параметры разработчиков».

Если у себя вы не наблюдаете такой раздел, его нужно включить. Найдите раздел «О телефоне», «О планшете» или «Об устройстве», зайдите в него и 7 раз нажмите по пункту «Номер сборки» (иногда нажимать нужно чуть больше раз, система скажет вам об этом).

В параметрах разработчика включите принудительную обработку GPU (аппаратное ускорение 2D в приложениях).

Заодно можете отключить анимацию. Найдите пункты вроде «Масштаб анимации окна».

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

Обновите прошивку

Иногда проблемы с работоспособностью связаны с самой прошивкой, которые решаются обновлением этой самой прошивки. Поэтому (и не только) так важно вовремя обновлять ПО своего смартфона или планшета.

У вас есть идеи, отличные от наших? Будем рады, если вы сообщите нам о них с помощью комментариев к статье.

Доброе утро, Хабр!

Обнаружил на xda-developers.com интересную для себя новость, которая является пересказом свежего поста «Разрушаем мифы о полном аппаратном ускорении в ICS» из Google+ профиля разработчика Google Дианы Hackborn. Взял на себя смелость сделать краткий перевод-пересказ по мотивам этих двух публикаций, который и привожу ниже под хабракатом. Первый вариант этой публикации уже был опубликован мной этой ночью в блоге R2-D2: Android с пользой , но тема показалась мне достойной освещения и на Хабрахабре (я надеюсь тут не нужно поднимать повторно обсуждение того факта, что раздел «Ссылки» после осеннего хабраобновления практически и фактически умер).

Разработчик из Google Диана Hackborn на своей странице в Google+ поделилась информацией касательно аппаратного ускорения интерфейса в Android 4.0 Ice Cream Sandwich. Ажиотаж который поднялся вокруг этой функции возник не просто так - слишком много упреков звучало в адрес плавности отрисовки 2D-элементов в Android в сравнении с другими мобильными ОС.

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

В отличии от отрисовки композиции окон, рендеринг изображения внутри окна традиционно осуществлялся при помощи процессора в Android 2.X и ниже. Однако, в Android 3.0 Honeycomb, эти функции могут быть переложены на графический ускоритель, но только в том случае если в манифесте приложения это прямо указано опцией android:hardwareAccelerated=”true”. Единственное отличие Android 4.0 ICS в том, что при разработке, используя последнее доступное API level 14 (и во всех будущих), эта опция для приложений включена «по умолчанию».
Казалось бы, теперь у нас есть возможность «заставить» работать все приложения в Android 4.0 ICS с включенным аппаратным ускорениям независимо от его манифеста, разве это не прекрасно? На самом деле это не совсем так. В случае, например, с видеоускорителем PowerVR драйвера, используемые в Nexus S и даже в Galaxy Nexus, «отъедают» по 8Мб оперативной памяти за каждый процесс который использует аппаратное ускорение. Вроде бы не так много? Не тут-то было, ведь такое активное потребление оперативной памяти сразу множеством процессов значительно повышает потребление памяти в целом, что сразу сказывается на скорости мультизадачности - вплоть до значительного ее замедления. В итоге, команда разработчиков Google сейчас тратит значительные усилия на тонкую настройку того, какие именно части пользовательского интерфейса действительно нуждаются в аппаратном ускорении на Nexus S.

Что же в итоге? По сравнению с Android 2.X, Ice Cream Sandwich имеет больше возможностей, в том числе благодаря более широкому использованию аппаратного ускорения. Тем не менее, кроме наличия опции включенного ускорения «по умолчанию», использование аппаратного ускорения в ICS ничуть не более «полное», чем это было ранее. И, кроме всего прочего, не стоит забывать что аппаратное ускорение это не магия и не чудо, как считают многие, но его присутствие это конечно плюс, а не минус.

Всем доброго времени дорогие друзья, знакомые, читатели и прочие личности. Сегодня посмотрим как ускорить Андроид, всякие там приложения под него и игры вроде PUBG Mobile в том числе

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

Сейчас мы наблюдаем занимательную историю, когда развитие железной компьютерной индустрии достигло некоего своего логического (и не очень) пика и все технологии (в том числе программные) ринулись в сферу мобильных устройств.

Вот о последних сегодня и поговорим.

Вводная

Все наверное слышали про всякие там режимы разработчика в Android, которые позволяют что-то такое там хитрое нашаманить в настройках.

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

Тем не менее, - ведь попытка не пытка. Во-первых, телефон можно сделать быстрее, во-вторых и в трехмерных играх всё будет бегать побыстрее (с выходом PUBG Mobile ) все прямо помешались на этой идее), да и вообще, - интересно и приятно.

Что касается возможных побочных эффектов, - тут всё просто. В некоторых случаях всё конечно идет здорово, весело и всячески на пользу. Производительность растёт, ускорение присутствует, PUBG летает, лаунчер телефона счастлив безмерно, а Вы, как его владелец, - пишите хорошие комментарии под этой статьёй, рассказываете о ней друзьям и всё такое прочее-разное.

Во всех остальных же случаях, стоит понимать, что многое зависит от железа в Вашем Android-телефоне, планшете или на чём Вы там планируете всё это запускать и использовать, - так тут вопрос техники.

И да, стоит понимать, что производительность может снизиться, а расход батареи увеличится. Как это исправить? Вернуть всё назад, настройки отключить.

Как ускорить Андроид и запустить настройки разработчика

Итого нам требуется "Многопроцессорный WebView ", - это один из крайне важных пунктов, который ускорит систему вцелом, хотя и может негавтивно сказаться на времени работы от батареи.

Как ускорить Андроид еще сильнее? И визуально понятно? Тоже самое касается пункта "оптимизация SD карты ", если конечно она у Вас вообще есть (карта) и пункт вообще).

Дальше, если Вы не любитель всяческих там анимаций, то крайне рационально будет отключить анимацию окон, переходов и убрать длительность анимации. Это на порядок сэкономит ресурсы, а визуально (субъективно и по ощущениям) у Вас телефон прямо начнет летать вообще.

Еще больше ускорения и оптимизации

Что касается аппаратного ускорения и GPU для компоновки экрана, - считается этот пункт актуален только на быстрых графических ядрах и только для 2D -приложений.

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

Ну, и если памяти или мощностей у Вас не очень, а поиграть на любимом телефоне хочется, то есть смысл таки подрезать число фоновых процессов. Это конечно скажется на некоторых уведомлениях (например, почты), но зато повысит скорость работы в общем и целом, да и в трёхмерных приложениях в частности.

Послесловие

На сим всё, теперь Вы знаете как ускорить Андроид. Традиционно, - это не моветон и нюансов может быть много. У кого-то сие возымеет эффект, а у кого-то начнет кушать батарею. Кто-то вообще не заметить разницы и не поймет зачем оно вообще нужно.

Многое зависит от способа использования Вашей железки на Андроиде, её конфигурации, версии системы, процессора, памяти, места, игр в которые играете и многого другого.

Такие дела. Если интересно, - пишите в комментариях, - мы разовьем тему и расскажем как тем же Kernel Auditor "ом реально ускорить любой девайс, исходя из глубокого настройка ядра любого телефона.

Как и всегда, если есть какие-то мысли, вопросы, дополнения и всё такое прочее, то добро пожаловать в комментарии к этому материалу.

Я знаю приличное количество С++, и теперь я хотел исследовать создание игры. Мне было интересно, какой лучший подход будет в плане написания аппаратной ускоренной игры, которая по-прежнему кросс-платформенная (Windows/OSX/Linux). Это будет игра 2d, но достаточно интенсивная, чтобы рендеринг CPU, вероятно, не сократил бы ее.

Наконец, я видел такие библиотеки, как http://www.sfml-dev.org/ , которые, возможно, упростили, следует ли мне спуститься по этому маршруту?

Еще раз спасибо.

6 ответов

Это нонсенс ребята

OpenGL IS кросс-платформенный. Нет необходимости в Qt или такой. Необходимо адаптировать только несколько частей: API окон и API ввода, которые являются единственными функциями, зависящими от подпрограмм, специфичных для ОС.

У вас есть несколько возможностей:

Перекрестная платформа с аппаратным ускорением 2d С++ app?

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

SDL_Init(SDL_INIT_VIDEO); SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 0);//disable vsync if (SDL_SetVideoMode(scrWidth, scrHeight, 32, SDL_OPENGL) == 0){ fprintf(stderr, "couldn"t set mode %dx%d!\n", 640, 480); SDL_Quit(); return -1; } glewInit();//if you use glew, shaders, extensions. while(gameIsRunning()){//game loop glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); //OpenGL rendering here glFlush(); SDL_GL_SwapBuffers(); } SDL_Quit();

Подробнее см. в документации по sdl.

Использование SDL также возможно, но я боюсь, что игра может не работать, если я ее использую. Это обязательно верно?

Если vsync отключен, вы можете получить от нескольких сотен до тысячи кадров в секунду. Точная производительность зависит от сложности вашего оборудования и сложности сцены. У меня было 300 кадров в секунду для простого 3D-искателя подземелий, в котором использовался "RAW" opengl без отображения списков/объектов буфера вершин. Кроме того, если вы используете механизм с фиксированной частотой кадров или таймером, вы не будете получать больше кадров в секунду, чем вы просили.

SDL использовался для переноса Unreal 2004 на Linux. Он также использовался в порту Linux Doom 3/Quake 4. Поэтому он тщательно протестирован и хорошо известен.

Для меня вопрос не в том, следует ли вам использовать библиотеки или нет. Это библиотека, которую вы должны использовать. Если вы хотите написать игру, найдите библиотеки, которые будут решать большинство проблем с переносимостью для вас. Это позволит вам сосредоточиться на том, что важно больше всего: самой игре. Другие дали больше предложений библиотеки, которые я мог бы вам дать.

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

// separate files class LowLevelGraphicStuff { // abstract }; class LowLevelGraphicStuff_SFML: public LowLevelGraphicsStuff { // actual SFML implementation }; class LowLevelGraphicsStuff_OGL: public LowLevelGraphicsStuff { // actual OpenGL implementation }; // main // Run the game with the SFML implementation. gameLoop(new LowLevelGraphicsStuff_SFML()); // Run the game with the OpenGL implementation. gameLoop(new LowLevelGraphicsStuff_OGL());

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

1. Отключение системных служб и приложений

Заходим в настройки - диспетчер приложений. Проводим пальцем справа налево, чтобы открыть все приложения.

Перейдя во все приложения мы увидим список всех приложений, которые установлены на вашем планшете.

В самом низу списка отображены все отключенные приложения. Я отключил на своем планшете просмотр улиц, синтезатор речи Google, яндекс киноафиша, яндекс новости, яндекс пробки, яндекс такси.

Также я отключил диспетчер приложений, карты, мировое время, мобильная печать, настройка Google Partner, обмен данными через Wi-Fi Direct.

Отключил Play игры, Play музыка, Polaris Office 5, S Voice, Samsung apps, Samsung print Service.

Отключены на моем планшете также Google play книги, Google play фильмы, Google play поиск, Google+, Hangouts.

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

Вы также можете отключить у себя на планшете приложения, которыми вы не пользуетесь.

Чтобы отключить приложение нажимаем на него в списке приложений. И здесь видим кнопку Остановить, нажав на которую приложение остановит свою работу, но не отключится. При перезагрузке планшета оно вновь начнет свою работу.

Не все системные приложения в планшете можно отключить, некоторые можно только остановить.

Покажу как отключить встроенное приложение на примере приложения сообщения.

Например приложение сообщения, которые позволяет отправлять и принимать смс с планшета можно остановить и отключить, если вы не посылаете и не принимаете смс со своего планшета.

Нажимаем остановить.

Выдается уведомление: Принудительно остановить. Принудительная остановка приложения может привести к ошибкам. То есть приложение сообщение в данный момент работает. Нажимаем да.

Приложение сообщения остановлено. Теперь отключаем приложение сообщения. Нажимаем отключить.

Выходит предупреждающий вопрос: Отключить встроенное приложение?

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

Нажимаем да.

Теперь приложение сообщение отключено.

В списке приложений можно видеть, что оно отключено.

Если отключенное встроенное приложение вам вновь понадобится, то его можно включить. Открываем отключенное приложение в списке приложений и нажимаем включить.

Встроенное приложение сообщение вновь работает.

2. Остановка работающих приложений

Заходим в настройки - диспетчер приложений. Проводим пальцем справа налево, чтобы открыть список «выполняется», в этом списке отображены те приложения, которые работают в данный момент.

Допустим остановим работающее приложение на планшете детский диктофон (это приложение позволяет записывать звуки и голос, когда в детском режиме оно запущено).

Нажимаем остановить, чтобы остановить работу приложения, чтобы выгрузить приложение из оперативной памяти (оно занимает 2,5 Мб. оперативной памяти) и остановить его фоновую работу, которая также нагружает иногда процессор.

3. Включение параметров разработчика

Заходим в настройки - параметры разработчика.

Если у вас нет пункта параметры разработчика, то его можно включить.

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

У меня параметры разработчика на планшете уже есть, поэтому, когда я нажимаю на номер сборки мне пишется уведомление: не требуется, режим разработчика уже включен.

4. Отключение анимации

Заходим в настройки - параметры разработчика, находим пункт масштаб анимации окна и нажимаем на этот пункт.

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

Также отключаем масштаб анимации перехода, шкала длительности аниматора.

Также включаем принудительная обработка GPU, чтобы использовать аппаратное ускорение в 2D приложениях. Таком образом видеоускоритель возьмет на себя обработку графики в 2D приложениях и освободит немного процессор от этой задачи.

5. Запретить фоновые процессы.

Заходим в настройки - параметры разработчика. Находим пункт фоновые процессы, по умолчанию стоит стандартное ограничение.

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

Таким образом будет работать только то приложение, которое запущено в данный момент и на экране и ничто не будет фоново «съедать» ресурсы планшета.

Вот видео урок на тему как ускорить Android.