Splashtop configuration to achieve best connection!

This is for discussion and development of non-commercial open source VR/AR projects (e.g. Kickstarter applicable, etc). Contact MTBS admins at customerservice@mtbs3d.com if you are unsure if your efforts qualify.
Post Reply
User avatar
Jarvis
One Eyed Hopeful
Posts: 25
Joined: Sun Sep 02, 2012 12:21 am

Splashtop configuration to achieve best connection!

Post by Jarvis »

I didn't find a very informative thread on optimizing streamer HMD's utilizing tablet and phone hardware for apps like Splashtop, Kainy, LogMeIn, Team View etc.

*This will be more tailored to Nvidia type gpu's as splashtop streamer is my choice for quality and latency related remote desktop sessions.*

I'll post some software that I found useful to get the best experience and access to pc related internal processes/configurations.

Please feel free to add your experience with different settings, software, hardware!

System Gpu tools and hardware monitors

NvidiaInspector
This has a vast array of settings related to your Nvidia gpu with the
capability to set profile configurations to load when game or software is
started. (What you find in Manage 3D settings with many more options)
Nvidia Performance
Can be found on nvidia's website (adds performance tab to Nvidia control panel)
this enables modification of gpu clock's to overclock/underclock in a simple manor.
*Caution as it is suggested to find what setting's work best for your gpu*
{Every GPU is different in what it can handle and I extremely suggest versing yourself in the science of what the stock default and potential stable clock frequencies you can safely achieve}

CPU-Z
Very simple hardware monitor that can accurately tell you your current clock freq as
well as other motherboard specifications.
HardwareMonitor
Found this useful for temperature readings when running applications.
*Has a average, minimum, and max temperature log so you can tell what your
gpu/cpu was getting to during heavy use cycle*


There is more than likely better software to use yet I found this simple and lightweight.
My gpu (gtx 260m in asus g71gx) had issues with underclocking due to power settings so its good to check with CPU-Z what your current clock is: Fixed this with PowerMizer Switch as the default windows power settings throttled my performance during certain conditions.

Achieving best possible connection for highest data transfer/lowest latency.

When first using splashtop I was displeased with the performance as my image was badly macro-blocked/pixelated and the fps were on the lower end with very noticable lag.
My connection type was a ethernet-to-router then phone connected with routers WiFi.

Next I tried Virtual Router software called Connectify to create a WiFi hot spot with my pc's internal WiFi adapter and phone then connected directly to the laptop. This netted me a much better connection and instantly the macro-blocking (example: http://www.hifi-writer.com/blog/graphic ... ocking.jpg) was gone and latency much better but not the best.

(My phone = Htc One X)
The next method is to Tether your phone to the Pc with usb cable and enabling within the phone settings (Settings - Wireless & Networks - More - Mobile network sharing - USB Network Settings - Internet pass-through) it should automatically connect within internet device adapters. After that you should be getting much better performance with the splashtop app, for me there is a 1:1 fps desktop and video playback, games have little lag which is only really noticeable with the HMD in-front of the PC screen and the image quality is much better.

There are a few optimizations that you can change within the registry for splashtop client optimization such as: https://support-splashtop2.splashtop.co ... lashtop-2-

Specifically this:

HINT: If you run Splashtop Streamer on a computer that is not very powerful (i.e. Core-2-Duo) and don't want to consume much CPU so that you can run more applications, you can reduce the streaming frame rate by importing the registry file attached to this article.

For Windows:
Download the attached file to your local drive (fps.txt). The frame rate default in this file is 5 (DWORD in Hex is 00000005). You can modify the value to be '3' if you want the CPU to consume less. Or higher for better FPS.
Rename the file to be fps.reg.
Double-click on it to import it to your system. This may trigger a system warning message; if so, please agree to proceed.
Close the Streamer and manually launch it again to make it take effect, or simply restart the computer.
Try to connect again to see if it works better in your environment. Adjust this value up or down to fit your personal case (in Hex).
NOTE: This hidden feature conflicts with Smooth mode. Therefore, please keep video mode in Sharp mode when you enable this feature.

One last thing I tried was a tether app called EasyTether but I could not connect to the splashtop streamer from phone app. Oddly my connection speed under status in internet adapters showed 1 gbps with a usb 2.0 port, does anyone know how or why? my guess is windows is not very good at detecting connection speeds.

The reason this method provides better performance is because WiFi with a typical router has a theoretical connection speed of 300mbs and USB 2.0/3.0 has a theoretical connection speed of 480mbs-1.0gbps. Although this is not the actual speed you can see that usb tethering is slightly faster and handles the stream more stably *also note that for some reason the connection speed shown in phones WiFi settings could only get up to 65mbs*.
User avatar
Jarvis
One Eyed Hopeful
Posts: 25
Joined: Sun Sep 02, 2012 12:21 am

Re: Splashtop configuration to achieve best connection!

Post by Jarvis »

Something to think about with a similar hardware application the nvidia shield should give a good idea of requirements needed for a good VR experience with your setup.

The basic requirements are a Wi-Fi router and a modern gaming PC with a GeForce GTX 650 or higher desktop GPU. The detailed requirements are:

WHAT ARE THE SYSTEM REQUIREMENTS FOR STREAMING PC GAMES TO SHIELD?
GPU: GeForce GTX 650 or higher desktop GPU (Notebook GPUs are not supported at this time)
CPU: Intel Core i3-2100 3.1GHz or AMD Athlon II X4 630 2.8GHz or higher
System Memory: 4GB or higher
OS: Windows 8 or Windows 7
Software: GeForce Experience application and latest GeForce drivers
Routers: 802.11a/g router (minimum). 802.11n dual band router (recommended). A list of recommended routers will be provided at launch.
*Usb transport would give performance here and I get a smooth experience*
Ziggurat
Cross Eyed!
Posts: 189
Joined: Fri May 03, 2013 12:48 am

Re: Splashtop configuration to achieve best connection!

Post by Ziggurat »

What games give a good experience in Splashtop?
One of the few I tried was SimCity 5, but it was not pleasant.
I imagine gaming on Splashtop is great for lots of games :)
shent1080
Cross Eyed!
Posts: 101
Joined: Wed Dec 26, 2012 7:10 am

Re: Splashtop configuration to achieve best connection!

Post by shent1080 »

TBH when I tried splashtop I wasn't too impressed, if found Kainy to be much more responsive and the difference in lag between the 2 programs was very noticeable, Kainy came out on top.
User avatar
Jarvis
One Eyed Hopeful
Posts: 25
Joined: Sun Sep 02, 2012 12:21 am

Re: Splashtop configuration to achieve best connection!

Post by Jarvis »

I haven't yet had a chance to try kainy but with splashtop so far I've tested:
Sanctum 2
Left 4 dead 2
Flight simulator X
Skyrim
Mirrors edge

I'd have to say overall Sanctum 2 runs the best and as far as, was really easy to set up, and gives a good feeling of being in the game itself not to mention its an interesting concept of a First person/RTS style tower defense.
I find it hard to get into a game so I'd say I'm more interested in Simulators and FSX is pretty cool with the added VR aspect!
shent1080
Cross Eyed!
Posts: 101
Joined: Wed Dec 26, 2012 7:10 am

Re: Splashtop configuration to achieve best connection!

Post by shent1080 »

I'm the same, I struggle to get into most games, but when I like a game I rave about it for ages, see if you can get kainy free or cheap, trust me you won't regret it, I have both installed on my tablet, try piratebay to test it and if you like it get it.

it's worth a punt.
User avatar
Jarvis
One Eyed Hopeful
Posts: 25
Joined: Sun Sep 02, 2012 12:21 am

Re: Splashtop configuration to achieve best connection!

Post by Jarvis »

Okay so they had kainy for .99 on fathers day and I got it.. latency as far as fps is better than splash but image quality is very poor with the whole image pixelated/macro blocked and connecting takes a good minute. What are you guy's experience with it? Splashtop's image quality is great with little loss if any, usb tethered.
User avatar
Jarvis
One Eyed Hopeful
Posts: 25
Joined: Sun Sep 02, 2012 12:21 am

Re: Splashtop configuration to achieve best connection!

Post by Jarvis »

Here's a bit of an update!

Recently I tried getting better results by utilizing ramdisk (the amd 4g version of the software) as a buffer to get faster transfer speeds across usb and it seems to work!/
All I really did was create a ramdisk of 2gb and installed kainy and splashtop and they both seem to run much faster and with better quality output so if your experiencing a few problems give that a try and play around with the settings to see what you can achieve. If you find something interesting come back and let us know!
User avatar
Jarvis
One Eyed Hopeful
Posts: 25
Joined: Sun Sep 02, 2012 12:21 am

Re: Splashtop configuration to achieve best connection!

Post by Jarvis »

If you don't know what ramdisk is here is a video explaining the basic operation (similar software has been around since the 80's):

http://www.youtube.com/watch?v=vAdRsQJBEBE

Idea of speed: Image
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: Splashtop configuration to achieve best connection!

Post by cybereality »

Interesting idea, I hadn't thought about that.

Can you quantify the types of gains you are seeing in the streaming? Is it twice as good?
Hormel
One Eyed Hopeful
Posts: 1
Joined: Thu Dec 05, 2013 7:57 pm

Re: Splashtop configuration to achieve best connection!

Post by Hormel »

Hey there. I am using Splashtop to play games with a stereoscopic viewer on my iphone. The latency is not bad, playable actually, but still perceptible. It seems that android people have a whole wide world of USB Tethering options but absolutely nothing for ipod/iphone devices. There is a lot of info/products out there for "tethering" a phone in order to make a mobile wi-fi hotspot, but obviously I am trying to connect my phone via usb for better connectivity in order to stream my display faster. Anyway, does anyone have any idea for how to improve latency with Splashtop (or similar program) with iphone/ipod devices. It is killing me that I can't find a solution. I am trying to avoid buying an android, obviously.
jangomoose
One Eyed Hopeful
Posts: 4
Joined: Fri Feb 07, 2014 5:33 pm

Re: Splashtop configuration to achieve best connection!

Post by jangomoose »

For what it is worth I found Kainy and Splashtop way too slow to be useful 'till I turned off QoS (quality of Service)in the router. Kainy itself went from 10 fps to 50/60 fps.
Worth a try if nothing else.

Reading a comment above about image quality, you can change the image quality in the Kainy menu. The default is set quite low. I have had no frame rate hit setting it to the highest quality.
The router has 2.4 and 5g bands but I haven't noticed any difference in the frame rates between the two.
Also, I have the computer directly connected to the router, not wireless.


Galaxy S3, Netgear WNDR 3800 router.
Also works well on the Nexus 7-2. (lovely screen)
User avatar
Jarvis
One Eyed Hopeful
Posts: 25
Joined: Sun Sep 02, 2012 12:21 am

Re: Splashtop configuration to achieve best connection!

Post by Jarvis »

cybereality wrote:Interesting idea, I hadn't thought about that.

Can you quantify the types of gains you are seeing in the streaming? Is it twice as good?
I noticed that depending on the type of usb port connection used as in 2.0 vs 3.0 it didn't make much of a difference with 2.0, which I think is bottlenecked by the actual speed of the connection vs the throughput of ramdisk but when I tried this with a usb 3.0 tether and ramdisk the connection time was much fast starting remote desktop and seemed to have less hiccups. Also there was noticeably less macroblocking (which has always been a problem) and it seemed to get a good 5-10fps increase depending on the game, this is an average overall. I should be getting a Nexus 7 (2013 1080p) soon to make a new prototype! I've been busy trying to finish my physics degree so I haven't had much time to post but I should soon when I build the new mount for the Nexus 7, come back with more data on using ramdisk/remote desktop software. I wish someone could just create a basic software with drivers to support a type of video interface that could run the display of whatever device similar to hdmi yet using usb protocol.
User avatar
Jarvis
One Eyed Hopeful
Posts: 25
Joined: Sun Sep 02, 2012 12:21 am

Re: Splashtop configuration to achieve best connection!

Post by Jarvis »

I should mention that If you know of any good software to test the fps and data packet transfer rate on either the device (andriod etc.) or pc please let me know so I can more accurately detail what I find.
Moerf
One Eyed Hopeful
Posts: 7
Joined: Wed Oct 09, 2013 1:22 pm

Re: Splashtop configuration to achieve best connection!

Post by Moerf »

For what its worth, here are my findings regarding splashtop and streaming to my Nexus 5:
As this is taken from another forum post of mine from here (http://www.durovis.com/board/viewtopic. ... 2&start=10) it my sound confusing at some point ;) BTW: Try Limelight if you have an NVidia card, it is really smooth now.

OK now to Splashtop:
You can have a look at the SPlog.txt inside the Program Files(x86)/Splashtop Remote/Server/ directory to see some of what the registry values are changing for the stream.


So I turned back to Splashtop and analyzed it the same way (via Wireshark and Process Monitor from Sysinternals).

2. Splashtop out of the box over USB 2.0 tethering:
Low lag
Stable, less smooth frame rate
Gigantic strain on the CPU (i have an i5, clocked to 3.8 GHz) even with hardware encoder enabled it shows 100% in nearly every title and some games feel kind of not-smooth once in every 10 seconds
No fullscreen or fullscreen is hard to achieve
1080p looks like 720p or less
Bandwidth is limited to around 15 Megabit/s in USB 2.0 use. Thus the problems with 1080p.
Minor color banding, lots of compression artifacts.

OK now to the process explorer. It seems that Splashtop is accessing the registry to get some of its encoding and connection settings. It tries to read some settings and if they cannot be found just uses a default value. This can be used to alter - inside some limits - image quality and bandwidth use. The list of settings can be found at the bottom, as it is quite large.
Important to note, the quality of the stream can be influenced by the user! For me those settings in the registry worked easily:
x264UseRegSettings - 1
x264RFConst - 0 to 40 see here for information on this parameter: http://slhck.info/crf.html , https://trac.handbrake.fr/wiki/ConstantQuality
ForceFPS - 15 to 30

3. Splashtop with kind of smooth RFConst setting (currently 25-30, have to do further work on it) USB 2.0 tethering:
Low lag
Stable, no smooth frame rate
Same gigantic strain on the CPU (i have an i5, clocked to 3.8 GHz) even with hardware encoder enabled it shows 100% in nearly every title and some games feel kind of not-smooth once in every 10 seconds
No fullscreen or fullscreen is hard to achieve
1080p looks like 1080p or less
Bandwidth is limited to around 25 Megabit/s in USB 2.0 use. Nearly enough for 1080p/30fps.
Minor color banding, nearly no compression artifacts.

Now to test what is possible concerning image quality.
4. Splashtop with min RFConst setting of 0 used other PC to test bandwidth:
Low lag
Stable, smooth frame rate
Same gigantic strain on the CPU (i have an i5, clocked to 3.8 GHz) even with hardware encoder enabled it shows 100% in nearly every title and some games feel kind of not-smooth once in every 10 seconds
No fullscreen or fullscreen is hard to achieve
1080p looks like 1080p original
Bandwidth is around 100 Megabit/s in 100MBit LAN. Enough for 1080p/30fps.
No color banding, no compression artifacts.

OK, I hope that helps and "inspires" some of you and I will return when I know more!
-----------
Compendium of current Splashtop Registry Values:
HKCU\Software\Splashtop Inc.\Splashtop Remote Server\

ReqPassword - Request oder Require Password ?
SharpFPS - Desired Capture FPS in sharp mode
SmoothFPS - Desired Capture FPS in smooth mode
ForceFPS - overwrite both of the above ? - Tested, works
ForceCapBlt - ???
EnableClipboard - Self explanatory
NoAudioToClient - Self explanatory
AutoMute - ???
LockKBMS - Lock Keyboard and Mouse ???
AutoPopKBMode - Auto Open Keyboard Mode ???
AutoFoldKB - Auto Close Keyboard ???
SRServerMode - ???
DisableScreenFixedRation - Self explanatory
AudioResampling - Self explanatory
EnableWindowedMode - Self explanatory
HookAtStart - ???
AeroEnable - Self explanatory
ReqPasswort - Requires Passwort ???
Port - Self explanatory
CloudUserAccount - Self explanatory
CloudUserPWD - Self explanatory
CloudComputerName - Self explanatory
FirstSPLogin - ???
AbwLogLevel - ???
EnableFeedback - Self explanatory
HideBubbleWnd - Hide Bubble Window ???
TouchOffsetX - Self explanatory
TouchOffsetY - Self explanatory
TouchOffsetX_neg - Self explanatory
TouchOffsetY_neg - Self explanatory
AutoStart - Self explanatory
ScreenLock - Self explanatory
EnableOverlappingAcks - ???
EnableVideoPreCompare - ???
EnableGesture - Self explanatory
XDisplayDirection - Self explanatory
ForceUsingVD - ???
BlankScreen - ???



Different Capture Methods (Probably):
EnableIQSV - Enable Intel Quick Sync V… ???
EnableD3D9 - ???
EnableD3D9Ex - ???
EnableNvFBC - Enable Nvidia Front Buffer Copy ??? - Tested, works, heavy CPU load
EnableNvEnc - Enable Nvidia Encoder, NvEnc is the same abbreviation as the new Nvidia hardware x264/opus encoder used in the shield/stem streaming module, would use nearly no CPU - Tested, does not work
EnableCuda - Self explanatory - Tested, does not work
EnableSTVD - ???
EnableDXGI - ???
EnabeDXGIEx - ???
EnableADEM - ???
EnableSCEX - ???
EnableMMReset - ???

NVFbcToSysFlag - ???


Streaming / Codec Settings:

x264UseRegSettings - The most important one to tweak the stream
x264RFConst - Set Constant Picture Quality, 0 - lossless, 22 - BluRay, 20 - DVD http://slhck.info/crf.html , https://trac.handbrake.fr/wiki/ConstantQuality - Tested, works as it should! 1:1 image from pc display achievable with around 100Mbit/s used (tested with other PC as splashtop client)
x264VBVBitrate - Set Variable Bitrate if not RFConst - just from 200?? to 1200 Kbit possible ???, Tested, works within limits
x264VBVBufSize - Set Variable Bitrate Buffer Size if not RFConst - change from 0 to 200 or so ???, Tested, works within limits
x264IntraRefresh - http://x264dev.multimedia.cx/archives/249
x264Deblocking - ???
x264BitrateLow - Streaming bitrate for slow (ping over ping limit) connections ?
x264BitrateHigh - Streaming bitrate for fast (ping under ping limit) connections ?
1stFrameEnable - ???
1stFrameThresholdFPS - ???
1stFrameThresholdInterval ???
SmallPkgPingAvgInterval - If ping higher than this average, small packages are used --> x264BitRateLow is active
SmallPkgPingEnableThreshold - If ping higher than this, small packages are used --> x264BitRateLow is active
SmallPkgPingDisableThreshold If ping lower than this, big packages are used --> x264BitRateHigh is active
DumpBitstream - Starts Video Streaming ???



HKCU\Software\Splashtop Inc.\Splashtop Remote Server\ClientInfo\

DeviceName - Self explanatory
DeviceID - Self explanatory
UDID - ???
Update - ???
BundleID - ???
UserAccount - Self explanatory
OEMID - ???
ExtraID - ???
UpsellInfo - ???
AppVersion - Self explanatory
AbwMode - ???
AbwConnType - ???

AbwProfiles - ???
metronome
Cross Eyed!
Posts: 114
Joined: Sat Mar 16, 2013 12:42 pm

Re: Splashtop configuration to achieve best connection!

Post by metronome »

interesting ideas using the ram disk, however why would you want to use splashtop when using a USB Connection? :S

Thought the whole point was to be able to use your computer else where like in the garden or at work etc....
User avatar
loxai
One Eyed Hopeful
Posts: 17
Joined: Sun Aug 03, 2014 12:00 pm
Location: UK
Contact:

Re: Splashtop configuration to achieve best connection!

Post by loxai »

Hi Jarvis,

Just wanted to point out an alternative that just came out: Android Rift.
It is currently in beta, and performance is probably not as good as Kainy or Splashtop (haven't tested those for a while now, so can't really compare).
The cool thing about Android Rift, aside from being coded by me ;) is that it delivers head tracking info for OpenTrack.

Here's a link with details if you fancy trying: http://oddsheepgames.com/?page_id=134

Cheers
metronome
Cross Eyed!
Posts: 114
Joined: Sat Mar 16, 2013 12:42 pm

Re: Splashtop configuration to achieve best connection!

Post by metronome »

Kainy is really good, almost lagless, however does open track support Vuzix?
User avatar
loxai
One Eyed Hopeful
Posts: 17
Joined: Sun Aug 03, 2014 12:00 pm
Location: UK
Contact:

Re: Splashtop configuration to achieve best connection!

Post by loxai »

I know very little about commercial headsets and have no idea what protocol Vuzix uses to send tracking data. OpenTrack can take FreeTrack, FlightGear and some other sources (like UDP packets, which is what Android Rift uses) and deliver that into another format (so it is basically a convertor).
Creator of TrinusVR, a software solution to play PC VR using your smartphone
Try it for free!
http://trinusvr.com
Bluedeath
One Eyed Hopeful
Posts: 49
Joined: Mon Feb 10, 2014 4:48 am

Re: Splashtop configuration to achieve best connection!

Post by Bluedeath »

Can somone tell me how to optimize kainy using the ramdisk on w7 64bit thanks in advance
Post Reply

Return to “VR/AR Research & Development”