Skip to content

Производительность и сравнение ​

Замеры на одном телефоне: vivo PD2536, Android 16, Wi-Fi, одна подписка Remnawave, локация «Автовыбор» (XRAY_JSON), 26.10.2026.

RVC 1.0.6INCY 3.7.9Happ 4.8.0
Размер APK (arm64)16,4 МБ26,1 МБ64,6 МБ
Холодный запуск (среднее из 3)203 мс694 мс354 мс
Память с подключённым VPN (PSS)96 МБ136 МБ222 МБ
Процессы / потоки1 / 651 / 1023 / 184
Кадров за 10 с на главном экране при подключении38917918
CPU на 100 МБ трафика (тест скорости Cloudflare в Chrome)2,5 с2,7 с2,6 с
CPU в фоне, простой (медиана из 3 по 60 с)0,8 % ядра1,9 % ядра1,2 % ядра

Скорость через туннель у всех одинаковая — около 77–82 Мбит/с на загрузку и 52–57 на отдачу: она упирается в сервер, а не в клиент.

Что изменилось в 1.0.6 ​

Профиль процессора (simpleperf) под нагрузкой показал, что около 77 % времени RVC уходит не на шифрование и не на TCP-стек, а на системные вызовы: каждый пакет через TUN — отдельный read или write. Число пакетов определяет MTU туннеля. Замер на том же телефоне, скачивание через туннель:

MTUCPU на 100 МБ
15002,5–2,8 с
40001,6–1,9 с
85001,2–1,4 с

С 1.0.6 MTU по умолчанию — 8500, как у Happ и v2rayNG. Старые установки переходят на него сами; выбранное вручную значение не меняется. Вернуть 1500 можно в «Настройки» → MTU, провайдер может задать своё заголовком xray-tun-mtu.

На тесте скорости, где половина времени — отдача, выигрыш меньше (3,2 → 2,5 с), на скачивании — вдвое.

Почему не hev-socks5-tunnel ​

INCY и Happ передают пакеты через hev-socks5-tunnel и локальный SOCKS-порт. RVC так не делает: на 127.0.0.1 не должно быть портов, через которые другие приложения могли бы найти прокси и узнать IP сервера (см. Безопасность). Связать hev с ядром через unix-сокет нельзя без потери UDP — SOCKS требует для него UDP-порт на localhost. А профиль показал, что время уходит на системные вызовы, которые hev делает так же — на каждый пакет.

Интерфейс ​

Главный экран рисует кадры только когда на нём что-то меняется — таймер и скорость раз в секунду. У INCY и Happ открытый главный экран перерисовывается около 90 раз в секунду. Живой фон растрируется один раз в текстуру; при прокрутке средний кадр — около 6 мс при бюджете 8,3 мс на 120 Гц.

Как мерили ​

  • CPU — сумма utime+stime всех процессов приложения из /proc/<pid>/stat;
  • память — dumpsys meminfo, кадры — dumpsys gfxinfo, запуск — am start -W;
  • профиль — simpleperf record --app на profileable-сборке.

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