7 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Генератор энтропии Seeder 1.1 существенно уменьшает лаги на Android-устройствах

Генератор энтропии Seeder 1.1 существенно уменьшает лаги на Android-устройствах

Add swipe gestures to any Android, no root

One handed mode

Make your phone easier to use with one hand, no root

XDA Forum App

The best way to access XDA on your phone

XDA Labs

An app store for independent developers

Hyperion Launcher

A sweet, feature-filled launcher with a beautiful UX.

Sites we like

Swappa

XDA’s official marketplace for buying and selling tech

Pocketnow

Social

Resources

Version 2.0.0 released!

This version introduces performance tuning, power management control, and an optional MMC I/O queue extension/timing change.

For those of you who have seen reboots / black screens that seem to be caused by Seeder, I suspect it may be due to the power management implemented in previous versions. Disabling power management (by unchecking «Suspend RNG service while screen off») may help. In my testing, battery impact was negligible (less than 2% per 24h).

The performance profiles are Light, Moderate, and Aggressive, and they control how frequently rngd wakes. The default configuration (Light) is unchanged from previous versions. Moderate and Aggressive may impact battery life (slightly), but may also help on devices where the entropy pool is drained quickly and often.

Last but not least, the «Extend I/O queue» option increases the nr_requests on MMC devices to 1024, and increases the dirty page expiry time, allowing more outstanding writes to accumulate. This may allow the I/O scheduler to make better decisions and combine more writes; some users have reported an improvement under heavy I/O.

On some (older) versions of Android, the JVM (and other components) often read random data from the blocking /dev/random device. On newer builds, this problem has been solved, yet depletion of the input entropy pool still seems to slow devices.

So, I cross-compiled rngd, and used it to feed /dev/urandom into /dev/random at 1 second intervals.

Result? Significant lag reduction (for some people)!

Note — if you want to try it, you must be running a rooted device, and you only need to install one of the APKs (latest version is best). Then, just open it, and turn it on. The other files (patches / .zips) are intended for recompiling, packaging, and init.d integration. If you uninstall the app, either turn off rngd first (open, and click the on/off button), or reboot afterwards; the UI does not presently kill the daemon on uninstallation.

For more information on using the .zip flashing method, see Ryuinferno’s post here:

FAQ
Q: Do I need the .apk or the .zip?
A: The easiest method is simply installing the latest .apk, attached below. You do not need to use the patch or the .zip file.

Q: What is the patch for?
A: The patch file contains the source differences needed to recompile the Seeder version of the rngd binary. You only need it if you want to recompile rngd yourself.

Q: What is the .zip file for?
A: The .zip file contains the latest rngd binary. It is intended for ROM builders or those who want to build their own CWMR packages.

Q: Seeder keeps shutting down! Does this mean I have to restart it?
A: The Seeder UI is only used to configure and start/stop the RNG service, which runs in the background. The RNG service is not visible from Android, since it is a native Linux process. You can terminate the UI at any time, and the service will continue running.

Q: Does seeder cause excessive battery drain?
A: Seeder 1.2.7 introduced an RNG service power-saving mode. The process automatically suspends whenever the screen is off. The code is actually in the rngd native binary, so suspend/resume events happen independently of the UI; you can see it in action by attaching to the running process with strace. This means that battery drain while the screen is off is highly unlikely.

While the screen is on, the RNG service simply polls a file descriptor every second, and, when needed, injects a small amount of random data into /dev/random (and calls an ioctl). It’s unlikely that this would present enough load to trigger a CPU governor state change at 10mhz (let alone 200mhz), so it shouldn’t impact battery life. Having said that, I have received sporadic reports that it does reduce battery life on some devices. They may be coincidental (other software installed at the same time), or due to extra device use while testing. Or, they may be real. If you think your battery drain has increased, shoot me a PM!

Q: How can I see the RNG service Linux process?
A: In a terminal, type: ps | grep rngd

Q: How do I uninstall the .apk?
A: Launch Seeder, and stop the RNG service. Then, uninstall the app as you normally would. Alternatively, uninstall the app, and reboot.

Q: Is seeding /dev/random with /dev/urandom safe?
A: Seeding /dev/random with PRNG-derived data does reduce the quality of its random data. However, it’s worth noting that nearly all major OSes except Linux do this. Linux is one of the very few to offer a blocking RNG device. And, at least as of ICS, Dalvik doesn’t even read /dev/random, so there is little difference anyway.

Updates
There has been a lot of controversy about Seeder/rngd. In newer versions of Dalvik, nothing touches /dev/random, and yet many users (including myself) still notice a lag reduction. There are theories ranging from kernel lock contention to UI polling load when crediting the entropy pool to simply kicking the governor. And many who believe it’s all placebo. I’m trying my best to figure out what exactly is happening, and others are as well.

Someone asked how I arrived at the conclusion I did when I started the thread back in November, and I posted this; I think it might be better served here:

A while back one of the webapps I was hosting on Tomcat (server-side) was experiencing some inexplicable latency and while stracing java I saw it frequently hanging on read()’s from /dev/random. I checked the available entropy, and it was constantly under 250 or so. It was a VM, no HWRNG, so I decided to use rngd to push urandom->random.

Dropped session creation times under load from 5-10 seconds to less than a second.

It’s worth noting that Linux is one of very few OSes that have a blocking RNG device. Free/OpenBSD, Windows, etc.. essentially only provide urandom. It’s generally considered secure, even for long-term crypto keys, so long as the initial seed is big (and random) enough.

Checked on my device, and saw a few processes grabbing /dev/random. /proc/sys/kernel/random/entropy_avail reporting depleted input pool. Figured it was worth a shot, so I rebuilt rngd for arm (with a few patches, linked on first page), and tried it out. It made a significant difference. Posted it up on this thread, and had a lot of positive feedback. Wanted to get into Android development, so figured.. why not wrap a little UI around it. More positive feedback, so I threw it on the market as well.

I had no idea it would take off like this and was shocked when I saw it Thursday morning. I’m in the awkward position now of explaining why it seems to work for some people, and not for others, especially given the fact Dalvik doesn’t have references to /dev/random as of ICS. Theories abound, but it looks like it might be an issue of polling the UI for input events when the entropy pool drops (which never happens so long as rngd is running).

I’m doing this as a hobby. I’m a *nix admin by trade, and can only spend time working on this stuff on evenings and weekends, and the last few weeks have been kinda nuts.

I want to stress to everyone that:

a) It doesn’t work the way I thought it did on later Android builds, but it does reduce latency for me and many others even on these builds,
b) I’m offering (and always will offer) Seeder for free to everyone on XDA,
c) Like I say in the market description, if anyone has purchased it and it isn’t working, PLEASE email me for a refund (and let me know what device you’re on if you’re willing).

I was one of the first to root the Captivate glide (my first Android phone), and submitted the A2DP bitpool patch; I was active in the n900 community. I hope everyone understands that I’m doing my best here!

I hope the technique proves useful to people, and if there is in fact contention at the kernel level, I hope it’s solved so we all benefit.

Version 2.0.0 attached. No changes.

Version 2.0.0b1 attached. New performance profile selector, I/O queue extender, and power saving control. Improved root checking.

Version 1.4.0 attached. Major refactoring. Service control now fully asynchronous.

Version 1.3.1 attached. No changes from 1.3.1-beta.

Version 1.3.1-beta released. New root check method during ANR-sensitive code.

Version 1.3.0 attached. Proper IntentServices for process control, and notification on upgrade / loss of root / autostart failure.

Version 1.2.9 attached. Yet another update to the upgrade/autostart code.

Version 1.2.8 attached. Asynchronous startup of rngd during boot; this should solve the remaining autostart problems some users have reported.

Version 1.2.7 released. This version introduces a much more efficient suspend-on-sleep mode for rngd.

Version 1.2.6 released. This version reverts the suspend-on-sleep rngd change which may have been contributing to new latency. I’m sorting out a better way of implementing it.

Version 1.2.5 released. This version should fix the autostart failure some users have seen.

Version 1.2.4 released. This version implements a progress bar displaying your currently available entropy, as well as automatic rngd restart on upgrade.

Version 1.2 released. This version implements rngd suspend-on-sleep, and contains minor user interface updates, more robust process and superuser checks, and a new icon (thanks Nathanel!)

Version 1.1 released. This version uses the release signature, so you will need to uninstall the old XDA version first!

This version fixes the issue some users were seeing on later Jellybean ROMs, where the UI would misreport the RNG service status.

Caveats

  • There is a (theoretical) security risk, in that seeding /dev/random with /dev/urandom decreases the quality of the random data. In practice, the odds of this being cryptographically exploited are far lower than the odds of someone attacking the OS itself (a much simpler challenge). It’s worth noting that as of ICS, Dalvik uses /dev/urandom exclusively, anyway, and that Linux is one of very few modern operating systems that even offer a blocking RNG device to begin with.
  • Support for rngd suspend-on-sleep was added to Seeder 1.2. It should no longer impact battery life while the device is asleep.
  • There has been a large amount of speculation on why/if this actually improves performance on ICS+ devices. I’m continuing to investigate and will post updates to this thread.

If you try it, let me know how it goes.

ROM builders — feel free to integrate this into your ROMs (either the .apk / application, or just the rngd binary called from init.d)!

If anyone’s interested, I’ve launched a paid app on the Play store for non-xda users. As I add features I’ll post the new versions here as a thanks to you guys (and xda community at large for being such a great resource). But if anyone’s interested in the market’s auto-update feature, just thought I’d mention it.

Cheers!

Убираем лаги в играх на Нексус 7 с помощью Seeder Entropy Generator

Несмотря на достаточно хорошие технические характеристики планшета Нексус 7, в некоторых играх все же могут иметь место те или иные проблемы. В Интернете можно найти специальные моды, с помощью которых исправляются проблемы с подтормаживанием, так как в большинстве таких случаев суть в том, что процессор устройства не работает на полную мощность. Для Нексус 7 появились новые исправления, которые способны убрать лаги во время игр.

По словам пользователя lambgx02 сообщества «XDA», однажды он столкнулся с сильными лагами, с которыми решил попытаться разобраться. После тщательного анализа проблемы, отладки и трассировки на протяжении нескольких часов, было выяснено, что в 90 процентов лагов системы Андроид, причина одна. Одним словом, речь идет об энтропии или ее отсутствии.

Google JVM, также как и Sun, считывает некоторые данные из /dev/random. Все это так называемая «рандомная» информация. При этом /dev/random использует достаточно ограниченное количество энтропии. Как правило, эта часть памяти используется для самых разных операций – сеансовых ключей, генерации UUID, SSL и так далее. Когда от энтропии идет уход, то процессы блокируются. Именно в результате этого появляются лаги.

Процесс не будет продолжаться до тех пор, пока ядро не сгенерирует большее число случайных данных. Пользователю lambgx02 удалось откомпилировать rngd и использовать вместо /dev/random команду /dev/urandom с интервалом в 1 секунду. Таким образом, игры начали работать с большим количеством fps и заметно быстрее.

Установка патча достаточно проста. Все что нужно, так это просто установить специальный zip-файл в рекавери.

Если вы решились на такую установку, то сначала стоит еще раз задуматься. Дело в том, что данный способ автоматически снижает срок службы батареи, а также создает риск для безопасности всей системы. По этому поводу «lambgx02» сказал, что теоретически имеет место риск для безопасности всей системы, поскольку одновременное использование /dev/random и /dev/urandom снижает качество случайных данных. На срок службы батареи это может повлиять отрицательно, так как Нексус 7 просыпается каждую секунду. «В ближайшее будущее будет добавлен специальный код по блокировке, который должен выполнять действие только в то время, когда экран включен», — отметил lambgx02.

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

Генератор энтропии Seeder 1.1 существенно уменьшает лаги на Android-устройствах

ты клацал его с третьей прошивкой. это мегателефон

ты себе хотя бы 3г можешь позволить? не говоря о 3гс, который стоит как всё железо в моей комнате

эээ. Рост, причём здесь кол-во информации к типу ввода? в нокиях хреновый сенсор, кинетический скрол (пальцем вниз с разгону) ужасный, на спике тоже часто случаются случайные нажатия. На ифоне же как я не старался — никуда случайно не нажал.

я типа по софту думал потрещать, но у нас народ голодный на форуме готов флудить сутками)

но ушёл и это факт, далее всё зависит лишь от цены сенсора, есть куча тестов экранов, где ифон рвёт всех в хламище

мультитач это как твитер — все про него говорят, а что это такое и нахер оно реально надо никто не знает. серьёзно, во-первых, я не знаю что можно делать мультитачем на телефоне, кроме как увеличивать фотки, во-вторых, я выбирал телефон с большим сенсорным экраном и исключительно, чтобы хватало для управления одной руки. Чтобы можно было достать, быстро написать смс и положить в карман. Поэтому меня мультитачи не волновали. Но опять же ифон 2г (2200грн) — мультитач

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

в целом — да, но во-первых, я осознал это уже после покупки а во-вторых, ну толстые для меня телефоны со слайдерной кверти-клавой, толстые!

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

во-первых, это лечится элементарно и за 1 минуту прогой))) во-вторых, в официальной германской (уже вышедшей) прошивке 2.1 для спики блютус починили

ты знаешь, я и в сторону МСИ не хотел смотреть, и в сторону Самсунга но тел очень хорош. да и например ближайший конкурент в лице Тату с ещё большими недостатками, а стоит у нас почему-то дороже спики, хотя везде уже типа дешевле, хотя лишь на 200-300грн в эквиваленте

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

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

Добавлено спустя 1 минуту 29 секунд:
DaKaR
ты аргументами оперируй! я тебе дал конкретные (поверхностные!) примеры! если нечего сказать, то нечего тут спамить!

ну, касание то необходимо, а касание без нажатия (пусть и очень слабого) невозможно.

Как фанат Нокии кину пару кирпичей в ее огород.
Все устройства на базе S60 являются очень даже функциональными. Эта платформа опередила свое время. Но у нее есть один существенный недостаток — интерфейс перерисовывается со скоростью 15 кадров в секунду. По сравнению с 60 кадрами андроида, такое слайдшоу выглядит жалко. Именно поэтому большинство моделей сенсорников Nokia, в том числе и X6 — для меня бесперспективны. Когда эту оплошность исправят — то операционки вполне смогут конкурировать в плане своих возможностей, это я гарантирую.

ну значит раз тут так всё переплетается, то надо уточнять) а нам, в Запорожье, 3Г не грозит по нормальным ценам))) да и Ютел какой-то стрёмный, имхо, но не буду ничего говорить, так как не юзал.

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

ну блин) не придирайся к словам, я имел ввиду, что на силу нажатия ёмкостнику плевать иначе можно было бы нажимать и стилусом, а так только пальцем (кстати, ищу что-то типа стилуса для своего экрана, а то в некоторые игры тяжело играть )

на ифоне разве что) на моём например очень даже возможно) да и вообще эти два понятия это синонимы по-большому счёту.

ну мне например плевать))) я вижу две нормальные оси: ифон и андроид. Но это ИМХО. а то набежит ща стервятников.

В целом я не защищаю спику, как может показалось, я просто типа отзыв написал о ней. Ей бы норм сенсор и вообще отличный телефон. Экран, кстати, днём на 25-30% включаю и всё отлично видно, правда бликует местами.

Почему тормозят эмуляторы в Windows (например, BlueStacks для Андроид)

Вопрос от пользователя

Подскажите, почему могут тормозить эмуляторы на ноутбуке? Я пробовал разные версии: BlueStacks и MEmu (для Андроид), Kega (это для Sega), Remix OS и т.д. Просто они все как будто замедлены, всё равно что поставить воспроизведение видео на 20-40% медленнее.

(PS На другом ПК у меня все ОК, нормально работает)

Если характеристики вашего ноутбука удовлетворяют рекомендуемым тех. требованиям для работы этих эмуляторов — то скорее всего проблема связана с отключенной виртуализацией в BIOS/UEFI компьютера (AMD-v или Intel VT-x) .

Включить ее не так уж и сложно (даже если вы не разу не заходили в BIOS). Рассмотрим все на примере.

Причины проблем с эмуляторами

Отключена виртуализация

Виртуализация (например, Intel Virtual Technology) — спец. технология, позволяющая запускать на одном физическом компьютере одновременно несколько ОС (активно используется при работе эмуляторов, виртуальных машин и т.д.).

Так вот, эта самая виртуализация очень сильно влияет на работу эмуляторов (если она выключена — они могут либо вообще не запускаться, либо сильно тормозить и фризить).

Включить или выключить ее можно в настройках BIOS (UEFI). Обычно, в ноутбуках этот раздел помечается как «System Configuration» (или просто «Configuration»).

Кратко, что нужно сделать:

  1. зайти в настройки BIOS (как правило, после включения устройства — нужно несколько раз нажать на кнопку «Del» или «F2») ;
  2. открыть раздел «System Configuration» (используйте стрелочки и клавишу Enter/Esc) ;
  3. параметр «. Virtualization. » перевести в режим «Enabled» (это означает включено) ;
  4. сохранить настройки и перезагрузить устройство (обычно, нужно нажать на F10 — «Save and Exit») .

Настройки BIOS — включаем виртуализацию / Кликабельно

Intel Virtual Technology — Disabled (означает выключено)!

Важно!

Также обратите внимание на работу антивируса (если он у вас установлен). Например, AVAST может блокировать нормальную работу виртуализации.

Низкие характеристики у ПК/ноутбука

Следующее, на что рекомендую обратить внимание — это характеристики вашего ноутбука или ПК. Дело в том, что подавляющая часть эмуляторов (и виртуальных машин) очень требовательны к ресурсам ОЗУ и ЦП (оперативной памяти и процессору) .

Сегодня, для более-менее сносной работы того же BlueStacks требуется не менее 8 ГБ ОЗУ!

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

Тех. требования эмулятора BlueStacks 4

Кстати, если вы «запамятовали» характеристики своего компьютера — рекомендую воспользоваться спец. утилитами для просмотра его характеристик (например, Speccy или AIDA).

См. скриншот ниже со Speccy: указывается и модель ЦП, и количество ОЗУ, и температуры, в общем, всё, что нужно. 👌

Проблема с видеодрайвером

Чаще всего проблема заключается в том, что драйвер не обновлен (либо установлен «не родной» драйвер с сайта производителя. Особенно часто это касается ноутбуков). В результате нередко наблюдаются ошибки и подвисания в играх, эмуляторах и т.д.

Кстати, чтобы узнать есть ли драйвер на видеокарту — воспользуйтесь диспетчером устройств. Если драйвер на видеокарту установлен — во вкладке «Видеоадаптеры» вы увидите ее модель (без воскл. знаков) . Если с драйвером какая-то проблема — будет отображаться желтый треугольник с воскл. знаком, или стоять статус «Стандартный VGA-адаптер» .

Драйвер на видеокарту установлен (слева), драйвера нет (справа)

Кстати, если диспетчер устройств показывает, что драйвер присутствует в системе — это не всегда говорит о том, что он обновлен до последней версии (для перепроверки удобно пользоваться утилитой Driver Booster).

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

👉 В помощь!

Как обновить драйвер на видеокарту AMD, nVidia и Intel HD: от А до Я — https://ocomp.info/kak-obnovit-drayver-na-videokartu.html

Некорректные настройки самого эмулятора

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

В BlueStacks, например, для выполнения вышесказанного — необходимо перейти в настройки эмулятора и открыть раздел «Экран» .

Далее передвинуть ползунок в режим наименьшего разрешения (DPI — также рекомендуется уменьшить до макс. возможного) . Благодаря этому изображение на экране станет «чуть хуже» (на глаз иногда вообще не заметно) — зато нагрузка на ваше устройство значительно уменьшится (а значит и тормоза могут пропасть).

BlueStacks — настройки экрана

Кроме этого, рекомендую также зайти в раздел «Движок» и попробовать изменить режим графики, например, с DirectX на OpenLG (или наоборот). В зависимости от конфигурации ПК/ноутбука — эмулятор может начать работать значительно быстрее и лучше (или медленнее и хуже ☝). Определяется только экспериментально.

Блокировка антивирусом

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

Чтобы исправить это, нужно открыть настройки антивируса раздел «Устранение неисправностей» и снять галочку с пункта «Включить виртуализацию с аппаратной поддержкой» (после, перезагрузить компьютер!).

Выбираем твикеры для android-устройств: Root Booster, Kernel Toolkit и Andromizer (страница 3)

Страницы материала

Kernel Toolkit

Знакомство

Не обошлось и без «губернаторов», I/O-планировщика, настройки Intelliplug и контроля напряжения процессора, а также управления загрузчиком. В общем, покопаться есть где.

Основные функции:

  • Мониторинг системы в реальном времени;
  • Работа с CPU governor;
  • I/O-планировщик;
  • Настройки Intelliplug;
  • Контроль напряжения стол.

Что нового в версии 3.5.40 от 04 февраля 2016 г:

  • Исправлены сбои программы при запуске на некоторых устройствах.

реклама

Фото/мультимедиа/файлы:

  • Изменение/удаление данных на USB-накопителе;
  • Просмотр данных на USB-накопителе.

Память:

  • Изменение/удаление данных на USB-накопителе;
  • Просмотр данных на USB-накопителе.

Другое

  • Запуск при включении устройства;
  • Управление функцией вибросигнала.

Первое впечатление

реклама

Не обошлось и без левого сайдбара, где можно переключаться между инструментами. Так, предусмотрено управление частотой процессора, I/O-планировщик, настройка питания, прочие настройки и профили. Последняя опция как нельзя кстати, так как вы можете самостоятельно настроить «автомат», как это было у Root Booster, например, создать профиль «Высокая производительность» или «Экономия энергии». Из особенностей – переключение интерфейса в ночной режим. Мелочь, а приятно.

Однако не все здесь бесплатно. Так pro-версия Kernel Toolkit (176.30 рублей) позволяет осуществлять многоядерное сохранение энергии, применять TCP-алгоритм, оптимизировать ОЗУ, настраивать цветность экрана и работать с менеджером профилей. В общем, без платной версии никак не обойтись, если вы хотите в полной мере поколдовать над своим устройством.

Таким образом, перед нами расширенная версия Root Booster, но от другого разработчика. Жаль, что только большинство интересных функций платные. По мне так проще обратиться к любому решению 3C, где возможно сделать куда больше, но бесплатно. Однако не стоит забывать, что перед нами твикер, а неполноценный оптимизатор, а значит, «ручки мараем» меньше.

Тестирование

В состоянии покоя Kernel Toolkit кушает всего 37.2 Мбайт ОЗУ при нулевой нагрузке на процессор и занимает в системе ничтожные 4.85 Мбайт. Однако приложение совместимо только с четвертым Android, а его функциональность напрямую зависит от установленного ядра, то есть на «стоке» вряд ли можно будет изменить напряжение CPU, по крайне мере на моем устройстве. Что касается разрешений, то тут ничего криминального. Также программа радует отсутствие рекламы.

В бесплатной версии особо не разгонишься, но поколдовать над частотой процессора можно. Так, предусмотрено несколько стандартный говерноров (hotplug, powersave, performance и userspace), то есть отключение ядер при простое, экономия энергии, увеличение производительности и пользовательский режим.

При этом каждое ядро доступно настраивать по отдельности, но только в режимах hotplug и userspace. Powerspace и performance – это фиксированные говерноры, где в первом случае задействуются все ядра на максимальной частоте, во втором – равномерно распределяется нагрузка на все ядра, например, по 2000 Мгц на четыре ядра.

Что касается ручной настройки, то здесь стоит быть аккуратным и лучше погуглить твики, если вы чего-то не понимаете. Так, можно ограничить число процессорных ядер, используемых программами, или установить значение от 1% до 100% загрузки CPU, то есть когда наступает указанная загрузка процессора, governor повышает значение частоты CPU. В общем происходит классическая настройка SetCPU. Энтузиасту такой подход понравится, но, а другим будет достаточно переключаться между режимом экономии энергии и высокой производительностью. Благо, при переключениях перезагрузка устройства не требуется.

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

реклама

Зато можно поколдовать над скоростью вывода/ввода ядра, изменив предустановки планировщика или настроив твики вручную.

Так предусмотрено три режима: noop, deadline и cfq. Noop – самый безопасный и простой планировщик, так, как только объединяет запросы, но не сортирует, cfq – объединяет задачи в цели и по кругу их обходит. Сбалансированный и производительный вариант для Android. Но, а deadline хранит отсортированную очередь на запись, новые запросы сортируются и перемещаются в конец очереди. В общем лучше всего остановиться на cfq, хотя здесь все зависит от предпочтений. В любом случае скрипты и твики каждого из режимов можно параметризировать, например, изменить back_seek_max или quantum. Не обошлось и без изменения буфера чтения. В моем случае его можно увеличить до 5120 Кбайт.

реклама

Как бы там ни было, Kernel Toolkit немного, но напрягает систему. Так ОЗУ увеличилось до 38.6 Мбайт, процессор до 0.1%. Однако этот показатель снят скорее ради галочки, ведь сама программа позволяет свести потребление ресурсов программами к минимуму. Главное – не использовать метод тыка, а воспользоваться предустановками, если ничего не смыслите в твиках и скриптах.

Выводы

Kernel Toolkit – это второй этап в познании Android после Root Booster, если «полный автомат» вас уже не устраивает, и вы хотите опробовать «механику». В любом случае здесь можно довериться предустановкам, разогнав процессор до максимума или включив щадящий режим.

Форум MyArena.ru

Оптимизация SPIGOT — убираем лаги, стабили.

  • Нравится
  • Не нравится

temoon 28 ноя 2015

1. PaperSpigot & paper.yml
PaperSpigot представляет собой набор патчей для ядра Spigot которые существенно оптимизирует сервер и добавляет дополнительные настройки с помощью файла paper.yml.

Вы можете скачать PaperTools, который является эквивалентом BuildTools по данной ссылке:

  • spigot.yml
  • paper.yml
  • bukkit.yml

Используя эти файлы мы и будем вести настройку.

Для начала откройте paper.y ml:

Следует снизить параметр despawn-ranges, если у вас слишком много мобов (в противном случае оставьте это по умолчанию).

Измените значение на true следующих параметров:

use-async-lighting
optimize-draining

Это позволит оптимизировать параметры потока жидкости и обрабатывать освещение асинхронно.

Примечание: Некоторые из этих параметров были вырезаны в paperspigot, в более поздних версиях и больше не настраиваются в конфигурационном файле (как они всегда активированы).

Если у вас на сервере совершается много действий с redstone схемами, воронками, вагонетками. еtс , снижение параметра tick-next-tick-list-cap может помочь в повышении производительности.

2. Spigot.yml & Bukkit.yml

Spigot.yml & bukkit.yml являются файлами, которые генерирует сервер Bukkit/Spigot умолчанию. Они позволяют нам настроить такие параметры как: лимит сущностей( entity) , кол-во сущностей( entity) за тик, обработку мира и другое.

Откройте spigot.yml. Здесь мы сможем выжать максимум производительности из сервера. Найдите раздел «world-settings».

Misc регулирует радиус элементов рам, картин, выброшенных предметов, шаров опыта и табличек. Я установил этому параметру значение «2», для предотвращения их движения по воде. Параметры animals: 8 monsters: 10 не означают что мобы будут выгружены, они будут активны(за один тик), но с более низким рейтом (читаем подробнее, что такое тик).

entity-tracking-range
Стандартные значения: (players: 48, animals: 48, monsters: 48, misc: 32, other: 64 )

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

Стандартное значение: 8
Описание: Период времени в 1 тик, между тем как воронка активируется и перетянет вещи в сундук. При стандартном значении воронка активируется и перетаскивает в сундук предметы раз в 8 тиков.

↳ hopper-check (Удалено в версии 1.8.3 March, 8th 2015)
Стандартное значение: 8
Описание: Период времени в 1 тик, — за который воронка анализирует кол-во предметов вокруг нее. К примеру при значении 8, воронка будет проверять инвентарь сундука и наличие предметов вокруг нее раз в восемь тиков.

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

Я советую установить вот такие значения:

max-entity-collisions
Стандартное значение: 8
Описание: Данный параметр устанавливает лимит сущностей в одной точке, я предлагаю установить значение 2 или даже 1.

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

При стандартном значении предметы будут исчезать через 6000_20=300 секунд. Данный параметр регулируется индивидуально для каждого сервера.

↳ exp
Стандартное значение: 3.0
Описание: Устанавливает радиус в блоках, когда шарики опыта будут объединены в один стак.

↳ item
Стандартное значение: 2.5
Описание: Устанавливает радиус в блоках, когда предметы одной группы будут объединены в один стак.

Предлагаю вот такие параметры:

view-distance
Стандартное значение: 10
Описание: Контролирует количество блоков, которые будут загружены вокруг каждого игрока. Это значение не может быть выше , чем 15 или ниже , чем 1. Понижение это может снизить нагрузку на сервер , если у вас есть большое количество игроков онлайн.

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

Стандартное значение: 650
Описание: Контролирует количество чанков, которые будут обновлены для роста культур(фермерам на заметку) за один тик . Снижение этого параметра уменьшает нагрузку на сервер и замедляет рост культур соответственно. Я предлагаю установить значение «80» что примерно в восемь раз ниже.

где x это = cactus, melon, pumpkin, sapling, cane, mushroom, wheat

При снижении параметра chunks-per-tick в восемь раз до 80, мы увеличим значения роста каждой культуры до «800» ( восемь раз соответственно) что даст нам стандартную скорость роста, при этом сократив кол-во обновленных чанков.

Устанавливаем параметры на:

Помните, что параметры chunks-per-tick и growth взаимосвязаны и если вы уменьшили кол-во обновленных чанков, при этом оставив без изменения параметр growth(100) то вы снизите скорость роста в восемь раз и наоборот.

Переходим к файлу bukkit.yml

Параметр spawn-limits . Отвечает за общее кол-во мобов, которые будут отспаунены для одного игрока. Я предлагаю такие значения:

Я снизил параметр ambient: 4, тк. Кол-во летучишь мышей никак не влияет на геймплей.
Чем больше игроков играют на сервере, тем ниже можно опускать данные значения повышая при этом производительность сервера.

Также рекомендую установить значения параметра ticks-per :

В частности, я изменил monster-spawns с 1 до 3. Это интервал между событием mobSpawn , который будет определять места и порождать монстров . Если mobSpawn собирает много циклов в ваших таймингах советую увеличить данные значения!

chunk-gc это небольшая функция spigot которая отключена по умолчанию. Для включения, установите параметры:

Читать еще:  Телефон с хорошим приемом сигнала: обзор, модели, характеристики и отзывы
Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector