DEVICE PERFORMANCE

Performance & Limits

How Zefer detects your device capabilities and how to optimize your browser for maximum encryption performance.

Your device

Detecting your device capabilities…

How is the limit calculated?

heapLimit = performance.memory.jsHeapSizeLimit

available = heapLimit × 50%

maxFile = (available ÷ 3) × 80%

The limit is tiered by the RAM the browser reports and the CPU core count. The JavaScript heap is capped at ~4 GB on any machine (which is why it is not used as the reference), but file data lives outside that heap: with 16 MB chunked encryption, peak memory is ~1.2× the file size (~2.2× with compression). A workstation (20+ threads or 64+ GB RAM) reaches 10 GB per file; mid-range machines, 2–8 GB; mobile devices, 256 MB–1.5 GB.

Data sources

APIBrowsersData obtained
performance.memoryChrome, EdgeJS heap limit (most accurate)
navigator.deviceMemoryChrome, Edge, OperaTotal device RAM (rounded)
navigator.hardwareConcurrencyAllNumber of CPU cores
WEBGL_debug_renderer_infoMostGPU model (via WebGL)
crypto.subtle.deriveBitsAllActual PBKDF2 speed on the device

How to optimize your browser?

Chrome / Edge

  • Close unnecessary tabs and extensions to free memory
  • Open chrome://flags and search for 'Experimental Web Platform features' to enable advanced APIs
  • Use the 64-bit version to access more than 4 GB of heap
  • Launch Chrome with --max-old-space-size=8192 to increase V8 heap

Firefox

  • Firefox does not expose performance.memory or navigator.deviceMemory for privacy
  • The limit is estimated from the number of CPU cores
  • Open about:config and adjust dom.ipc.processCount for more processes
  • Close unnecessary tabs: Firefox uses separate processes per tab

Safari

  • Safari does not expose browser memory APIs
  • The limit is estimated from the number of cores and platform
  • Safari on macOS has a generous heap (up to ~4 GB on devices with 8+ GB RAM)
  • On iOS the heap is more limited (~1.4 GB on modern iPhones)

General recommendations

  • Use a Chromium-based browser (Chrome, Edge, Brave) for better hardware detection
  • Close other heavy applications before encrypting large files
  • Use the 64-bit version of your browser
  • Make sure you have enough disk space for the .zefer file download
  • Disable browser extensions that consume a lot of memory

Why do some values show as 'N/A'?

Some browsers (Firefox, Safari) do not expose memory APIs for privacy reasons. In those cases, Zefer estimates the limit from the number of CPU cores and the platform. For the most accurate detection, use Chrome or Edge, which expose performance.memory and navigator.deviceMemory.