Feature Request Tracker item #3415112, was opened at 2011-09-28 14:47 Message generated for change (Comment added) made by dcommander You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1126849&aid=3415112&group_id=254363
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Kriston Rehberg (kriston) Assigned to: Nobody/Anonymous (nobody) Summary: Use lossless encoding on text Initial Comment: Use lossless encoding on text so that fonts that have smoothing do not appear blurry. Essentially, everything on the screen would have JPEG encoding applied to them except for text which would use a lossless encoding. I'm creating this feature request now but I will update it since I am still searching for the remote desktop system that has this feature (I believe it is one of the VNCs). ---------------------------------------------------------------------- >Comment By: D. R. Commander (dcommander) Date: 2011-09-29 11:33 Message: Note also that, even if Xvnc knows where the text regions are initially, there would be significant complexity in tracking those regions as, for instance, the window is moved. Basically, what would happen is that the text would only be guaranteed to be rendered losslessly the first time it is drawn. Subsequent updates containing the text region might not be rendered losslessly, if they are triggered by a window move or a client request. Personally, I find the text to be quite readable even at JPEG Quality Level 0 (which, in TigerVNC, is equivalent to JPEG Quality 15 with 4:2:0 subsampling.) ---------------------------------------------------------------------- Comment By: D. R. Commander (dcommander) Date: 2011-09-29 11:26 Message: In TigerVNC, framebuffer updates are typically triggered by X11 operations, but they can also be triggered by a client request (for instance, if a client window is obscured, it can request that the obscured pixels be re-sent whenever the window becomes visible again.) For each framebuffer update, the Tight encoder analyzes it to determine if there are significant subrectangles that contain only one color. If so, it separates and sends those rectangles first. It then divides the remainder of the update into subrectangles no more than 64 kpixels in size and sends each separately. For each subrectangle, JPEG encoding is only used if the rectangle contains > 24 colors. Otherwise, indexed color encoding (which is lossless) is used. We do hook into the text and glyph drawing functions, so assuming the text is drawn using those functions, it may be possible to add an additional property to the update that says "don't use JPEG". However, my understanding is that a lot of modern software uses the RENDER extension to do anti-aliased font rendering (correct me if I'm wrong), and so by the time Xvnc receives the image output from the RENDER extension, it really has no idea that there is text enclosed in the image. Personally, I think a better approach is lossless refresh and auto-lossless refresh, whereby the VNC server can be asked to re-send the lossy regions using either high-quality JPEG or mathematically lossless encoding whenever the session is idle. That is what TurboVNC currently does, and I'm looking into implementing it in TigerVNC as well. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1126849&aid=3415112&group_id=254363 ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 _______________________________________________ Tigervnc-devel mailing list Tigervnc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tigervnc-devel