Skip to content

May 22, 2013


Dynamic PCoIP in View 5.2

Those of you who attended VMware Partner Exchange 2013 and came to my session on Dynamic PCoIP will be somewhat versed in this topic, and if you’ve stopped by the excellent and read Andre’s post on View 5.2 you may have seen my comment there and will also be up to speed.

But for those who have managed to miss out on both of those things, I wanted to recap some items here.

 What Changed?

“PCoIP GPO settings take effect immediately when changed (host side only)”

This was announced with the launch of View 5.2 as a new PCoIP feature. But there are a few problems with this, and a lot of confusion around it (even internally to VMware).

To briefly recap the information I left in the comment at

This feature allows a limited number of PCoIP settings to be applied to the registry (via whatever method) and to take effect immediately within a currently running PCoIP session.  So, specifically for something like tuning, you would be able to change parameters and it would not require a disconnect/reconnect sequence for those settings to take effect.  This is pretty awesome!

So what’s wrong?

Well, the press releases just generically say “PCoIP GPO settings take effect immediately” – but do nothing to specify WHICH settings.  Further, some issues were introduced between the early 5.2 beta and the RTM code for View 5.2 that caused this feature to only “work” for a really small subset of parameters.  In my opinion, this basically renders a potentially awesome feature mostly useless.

So, in a perfect world, what options should take effect immediately?  As far as I know, the following were planned for in the original drop:

  • Disable Build-to-Lossless
  • Max session bandwidth
  • Session Floor
  • Max initial image quality
  • Minimum image quality
  • Max FPS
  • Audio bandwidth limit
  • Logging level

What options actually work in the 5.2 GA release (based upon my experience)?

  • Max FPS
  • Audio bandwidth limit

Slightly less useful right?  So the feature is in there, but it’s not really implemented across enough options to make it terribly viable.

 Why does this matter?

Having this feature added to PCoIP has been a long-standing request of mine. I’ve been building tools (sporadically, I admit) for PCoIP for the past 3 years now, and I’ve always maintained a “vision” of being able to control the protocol in real-time for both users and admins and then building new tools around that.

One tool I had started work on, but have put on hold is a real-time tuner:

PCoIP Realtime Tuner

So close, yet so far

This tool allows you to view content and tune at the same time; to see the subjective impact of tuning at the same time as the objective impact on bandwidth, loss, and latency. I’ve been wanting to write this tool for 2+ years! And I did, mostly, but you know what?  It’s of absolutely no use to anyone right now, so I didn’t finish, and I won’t be releasing it yet.

PCoIP Realtime Tuner Transparent

The real-time tuner app supports transparency to allow adjustments without altering bandwidth utilization by “masking” pixel changes behind it

I also have several ideas on how to improve the PCoIP Configuration Utility.  With this feature fully implemented, I can create a version of it that not only stores and applies profiles, but that could do so in response to contextual data from the client.  Connecting via a mobile device?  Automatically apply this profile.  Connecting across the WAN?  Automatically apply the WAN profile.  This could be keyed off IP, MAC, User, Domain – whatever!  If it’s a piece of information that can be read on the desktop, it can be used as a condition to apply dynamic tuning.

That would be cool wouldn’t it?

That’s a wrap

So, to wrap this up, I’m pushing hard internally to get the initially planned set of dynamic parameters fully implemented.  I am hoping to see it in the next release of View, but I can’t say if that will happen with any certainty, probably, it won’t.  Still, membership has it’s privileges, so I have access to “working” code for these changes and I wanted to share a video I had intended to show at PEX 2013 but which a last minute computer failure forced me to abort.  I hope it gives you a taste of what’s to come once these features are fully implemented.

I have embedded the video here for ease of access, but since youtube is only aware of video in 16:9 format you can’t view the content at 1:1 which means it’s far harder to see the visual artifacts when aggressively tuning the session.  Because of that I am also going to include a download link for the source MP4 video to allow for true 1:1 playback and better subjective visual inspection.

Also, there’s a slight jerkiness to the video at times, I want to be clear that this is an artifact caused by the software-based capture method I am using and is NOT present when interacting with the View session natively in the View Client.  As soon as a DVI frame-grabber capable of high-resolution capture at 30+ FPS goes on sale for less than a few grand, I will get one and this artifacting will go away, until then – sorry :-/

Direct download:  Dynamic PCoIP Tuning Video

Thanks, and sorry for the lack of content recently, I am hoping to get some blog and software updates out the door in the coming weeks.

Read more from PCoIP, VDI, View, VMware
3 Comments Post a comment
  1. Aug 6 2013

    We use you PCoIPConfig tool and as well as your Log Viewer. We find them invaluable!! I love the tuning on your new one and find the UI perfectly done. I do hope that you release it soon and not wait for VMware to put in the options.


    Larry B


Trackbacks & Pingbacks

  1. Dynamic PCoIP Tuning in Horizon View 5.2 »
  2. Dynamic PCoIP in View 5.3 | MindFlux Inc.

Share your thoughts, post a comment.


Note: HTML is allowed. Your email address will never be published.

Subscribe to comments