Производительность и сравнение
Замеры на одном телефоне: vivo PD2536, Android 16, Wi-Fi, одна подписка Remnawave, локация «Автовыбор» (XRAY_JSON), 26.10.2026.
| RVC 1.0.6 | INCY 3.7.9 | Happ 4.8.0 | |
|---|---|---|---|
| Размер APK (arm64) | 16,4 МБ | 26,1 МБ | 64,6 МБ |
| Холодный запуск (среднее из 3) | 203 мс | 694 мс | 354 мс |
| Память с подключённым VPN (PSS) | 96 МБ | 136 МБ | 222 МБ |
| Процессы / потоки | 1 / 65 | 1 / 102 | 3 / 184 |
| Кадров за 10 с на главном экране при подключении | 38 | 917 | 918 |
| 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 туннеля. Замер на том же телефоне, скачивание через туннель:
| MTU | CPU на 100 МБ |
|---|---|
| 1500 | 2,5–2,8 с |
| 4000 | 1,6–1,9 с |
| 8500 | 1,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 не все приложения, поэтому его фоновый трафик был меньше.