Performance Optimization: Getting the Best Streaming Experience with AppAnywhere
AppAnywhere uses WebRTC — the same technology behind Google Meet and modern cloud gaming platforms — to deliver low-latency desktop streaming directly to your browser. Under ideal conditions, the experience is nearly indistinguishable from sitting in front of the remote PC.
But network conditions, hardware configurations, and browser settings all influence the experience. This guide walks through practical optimizations at every layer of the stack, so you can get the best possible performance regardless of your environment.
Understanding What Affects Performance
Before tuning anything, it helps to understand the key variables:
| Factor | Impact |
|---|---|
| Network latency (ping) | How “snappy” mouse/keyboard feel |
| Bandwidth (upload on host) | Maximum achievable video quality |
| GPU on host PC | Encoding speed and efficiency |
| Browser version | WebRTC codec support (AV1, H.264, VP9) |
| Connection type (P2P vs relay) | Latency added by TURN relays |
A common misconception: you don’t need huge bandwidth on the viewer side. AppAnywhere streams a compressed video, so even a 5 Mbps connection on your laptop is usually sufficient. What matters more is the upload speed on the host PC and the latency between you and the host.
Host PC Optimizations
The host machine does the heavy lifting — it encodes the video stream and sends it to you. These settings have the biggest impact on overall quality.
Enable Hardware Acceleration
AppAnywhere supports GPU-accelerated encoding (H.264/HEVC), which is dramatically faster and more efficient than software encoding.
- Open the AppAnywhere Agent on the host PC
- Go to Settings → Streaming
- Enable Hardware Acceleration
- Select your GPU encoder:
- NVENC — NVIDIA GPUs (GeForce, Quadro, RTX)
- QuickSync — Intel integrated and Arc GPUs
- AMF — AMD Radeon GPUs
Tip: If you have a dedicated GPU, always prefer NVENC/AMF over QuickSync, even on systems with Intel CPUs. Dedicated GPU encoders produce better quality at lower CPU load.
Set Windows Power Plan to High Performance
Power-saving modes throttle the CPU and GPU, which directly degrades encoding performance.
# Set High Performance power plan
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
Or via UI: Control Panel → Power Options → High Performance
Keep the GPU Driver Updated
Outdated GPU drivers can cause encoding glitches, black frames, or session crashes. Check for updates:
- NVIDIA: nvidia.com/drivers
- AMD: amd.com/support
- Intel: Windows Update or intel.com/download-center
Configure Display Resolution
Streaming at 4K is bandwidth-intensive. Unless your users specifically need it, set the host display to 1920×1080 (1080p) for the best balance of quality and performance.
# Check current resolution
Get-CimInstance -ClassName Win32_VideoController | Select CurrentHorizontalResolution, CurrentVerticalResolution
Close Background Applications
Applications running in the background consume CPU and RAM, reducing what’s available for encoding. Before a streaming session:
- Close Chrome, Firefox, Teams, or other heavy apps not being used
- Disable Windows Search indexing during active hours
- Pause OneDrive or Dropbox syncing
Network Optimizations
Use Wired Ethernet on the Host PC
Wi-Fi introduces variable latency (jitter), which manifests as stuttering video. The host PC — which is typically stationary — should always be connected via Ethernet.
A wired connection on the host typically reduces jitter by 5-15ms, which makes a noticeable difference in session smoothness.
Check Host Upload Speed
Run a speed test on the host PC at fast.com or speedtest.net. For reference:
| Upload Speed | Max Streaming Quality |
|---|---|
| 3 Mbps | 720p @ 30fps |
| 8 Mbps | 1080p @ 30fps |
| 15 Mbps | 1080p @ 60fps |
| 30 Mbps | 1440p @ 60fps |
If your upload is below 3 Mbps, the stream will automatically reduce quality to stay within bandwidth. You can also manually cap the bitrate in agent settings.
QoS (Quality of Service) on Your Router
If multiple people share the host PC’s internet connection, configure your router to prioritize AppAnywhere traffic.
Most modern routers support QoS under Advanced Settings → QoS. Add a rule to prioritize: - Protocol: UDP - Port: 443 and 3478 (STUN/TURN) - Priority: High
Port Forwarding for Direct P2P Connections
AppAnywhere uses STUN servers to establish direct peer-to-peer connections. If your router is behind a strict NAT (common in office environments), it may fall back to a TURN relay, adding 20-80ms of latency.
To enable direct P2P:
- Open UDP ports 49152–65535 outbound on the host’s firewall
- Ensure the router does not block UDP traffic
You can verify whether a connection is direct or relayed in the Session Info panel (click the ⓘ icon during a session).
Browser-Side Optimizations
Use Chrome or Edge (Recommended)
AppAnywhere’s WebRTC implementation is tested and optimized for Google Chrome and Microsoft Edge. Both support the latest codecs (H.264, VP9, AV1) and have the most mature WebRTC stacks.
Firefox is supported but may show slightly higher latency in some network configurations. Safari on iOS/macOS works but does not support all advanced codec options.
Enable Hardware Acceleration in the Browser
On the viewer’s machine, ensure the browser uses GPU acceleration for video decoding:
Chrome: chrome://settings/system → Enable “Use graphics acceleration when available”
Edge: edge://settings/system → Enable “Use graphics acceleration when available”
Keep Browser Updated
An outdated browser may lack support for newer, more efficient codecs. Enable automatic updates:
Chrome: chrome://settings/help → Update automatically
Disable Unnecessary Extensions
Some browser extensions intercept WebRTC traffic for privacy reasons (VPNs, ad blockers, WebRTC leak preventers). These can degrade connection quality or even block the stream.
Try connecting in a private/incognito window (which disables most extensions) to check if an extension is causing issues.
In-Session Quality Controls
AppAnywhere provides real-time quality controls you can adjust without disconnecting.
Click the ⚙️ Settings icon in the session toolbar:
Video Quality Presets
| Preset | Bitrate | Frame Rate | Best For |
|---|---|---|---|
| Auto | Adaptive | Adaptive | Most situations |
| Ultra | 20 Mbps | 60 fps | Fast local networks |
| High | 10 Mbps | 60 fps | Good broadband |
| Medium | 5 Mbps | 30 fps | Standard connections |
| Low | 2 Mbps | 30 fps | Mobile/slow connections |
| Minimal | 0.8 Mbps | 15 fps | Very slow connections |
Adaptive Bitrate
With Auto mode enabled, AppAnywhere continuously monitors network conditions and adjusts quality in real time. This is the recommended setting for users on variable connections (Wi-Fi, 4G, VPN).
Color Mode
If you are working with text-heavy applications (code editors, spreadsheets), try switching to Text Optimization mode:
Settings → Display → Optimize for: Text/Documents
This uses a lossless encoding mode for static UI elements, reducing blurriness on text at the cost of slightly lower frame rates.
Diagnosing Performance Issues
Use the Session Statistics Overlay
During an active session, press Ctrl + Alt + I (or click ⓘ in the toolbar) to open the Statistics Overlay. You will see:
Latency: 24ms
Bitrate: 8.4 Mbps
Frame Rate: 60 fps
Packet Loss: 0.0%
Connection: Direct P2P (STUN)
Codec: H.264 (Hardware)
Resolution: 1920 × 1080
- Latency > 100ms: Network routing issue — check if a TURN relay is being used
- Packet Loss > 1%: Unstable network — switch to wired connection
- Frame Rate < 30fps: Encoding bottleneck — enable hardware acceleration on host
- Codec: Software: Hardware encoding not active — check GPU driver and agent settings
Check Agent Logs
On the host PC, agent logs are located at:
C:\ProgramData\AppAnywhere\Logs\agent.log
Look for lines containing WARN or ERROR around encoding or network events.
Quick Reference Checklist
Use this checklist before important sessions:
Host PC - [ ] Hardware acceleration enabled in agent settings - [ ] GPU driver is up to date - [ ] Power plan set to High Performance - [ ] Connected via Ethernet (not Wi-Fi) - [ ] Background apps closed
Network - [ ] Upload speed > 8 Mbps on host - [ ] Firewall allows UDP on relevant ports - [ ] QoS configured if on shared network
Browser (Viewer) - [ ] Chrome or Edge, latest version - [ ] Hardware acceleration enabled in browser - [ ] No WebRTC-blocking extensions active
Next Steps
- How to Add Applications — Publish apps to your team
- Team & Multi-User Setup — Share access with colleagues
- Example Setup: Home Office — See a complete real-world configuration
Still experiencing issues? Send your session statistics (Ctrl+Alt+I screenshot) and agent logs to support@desklia.com. Our team can diagnose most issues within 24 hours.
More Articles
How to Add Applications to AppAnywhere: A Step-by-Step Guide
Learn how to add, configure, and publish Windows applications in AppAnywhere so your team can access them from any browser — no VPN or client software needed.
How to Run Legacy Windows Apps in Any Browser Without Installation
What is AppAnywhere? The Modern Virtual Desktop Alternative
Discover what AppAnywhere is, how it enables seamless virtual desktop environments, and why it's a powerful and modern alternative to complex legacy VDI solutions.