Advertisement

05.29.2003 at 01:37PM PDT, ID: 20630652
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

Desktop Sharing

Tags: desktop, sharing
We are doing a project in VC++ called desktop sharing application. We are facing the problem in speed of the application. Here we used Win32 API s. What we do , We are capturing a desktop image as BMP and storing it as byte array of bits in the host system. Then the byte array is sent through a socket connection to the client machine. There we read the BMP from the byte array and display it on the client. Before storing it into the byte array portions of the screen that are similar in color are zipped and stored thereafter. This is done using Huffman coding algorithm.

Here the application is slow, we need to make it fast. Is there any way?

Thanks
Start your free trial to view this solution
Question Stats
Zone: Programming
Question Asked By: aceintellect
Solution Provided By: oliverlizotte
Participating Experts: 6
Solution Grade: A
Views: 0
Translate:
Loading Advertisement...
05.29.2003 at 02:19PM PDT, ID: 8609199

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.29.2003 at 07:43PM PDT, ID: 8610906

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.30.2003 at 07:11AM PDT, ID: 8614315

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
08.15.2003 at 07:28AM PDT, ID: 9158939

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
09.30.2003 at 09:54PM PDT, ID: 9463811

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
01.22.2004 at 01:57PM PST, ID: 10178875

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
01.22.2004 at 02:08PM PST, ID: 10178990

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
04.09.2004 at 12:32PM PDT, ID: 10793789

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
04.13.2004 at 03:01PM PDT, ID: 10818050

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • Automotive
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Displays / Monitors
  • Handhelds / PDAs
  • Components
  • Peripherals
  • Laptops/Notebooks
  • Servers
  • Misc
  • Apple
  • Embedded Hardware
  • Networking Hardware
  • Storage
  • Desktops
  • New Users
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMware
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Virtualization
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • Web Computing
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Consulting
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMware
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Automation
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Web Services
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Web Computing
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Lounge
  • Business Travel
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
  • Automotive
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
05.29.2003 at 02:19PM PDT, ID: 8609199
When you say your application is slow, do you know what is the cause (network speed, screen refresh, Zipping the file....)?

I could suggest to encode the bitmap in a Jpeg file, that would be faster over the network. For that, you could use a highly optimized graphic library (you could also use one to display the image).

Also, when you are capturing a desktop image, there is a lot of memory copied, and this is time consuming (especially with a High resolution). If not already done, you need to synchronize the two machines so that while the "server" is capturing the image and compressing it, the client is decompressing the last one and showing it. And you need to ensure that the server will not gain speed over the client.

That's about all I can Suggest...I'm not sure its gonna help you though.

Oliver
Accepted Solution
 
05.29.2003 at 07:43PM PDT, ID: 8610906
I assume you are capturing the image via GetDIBits or something; instead, create a memory device context that is a decent size (like 640x480 or 800x600) at 8 bits per pixel  StretchBlt the desktop window into that memory device context.  RLE encode that data then shoot it across the network.  Decode it on the other end and StretchBlt it into the user's window.  The StretchBlt is fast and the transmission should be < 100k.  Your server should just do this at a fixed rate (let's say 20hz) and your client should just do this everytime it gets a message.  Give it a shot, let us know if you need some code ;)
Assisted Solution
 
05.30.2003 at 07:11AM PDT, ID: 8614315
Look at WinVNC (realvnc) and take it as a great reference.
 
08.15.2003 at 07:28AM PDT, ID: 9158939
I have actually done this before. This is your problem.. The Bitmap IS HUGE...... What you need to do is convert the image to a JPEG and unless you need a good image you can change the image resolution. This is the fastest way to process and pass the image.
 
09.30.2003 at 09:54PM PDT, ID: 9463811
I am also in the process of developing the same. Wanted to know if you are just showing a static image of the remote desktop or providing a facility of operating the remote desktop from the client machine...............
 
01.22.2004 at 01:57PM PST, ID: 10178875
There are lots of ways to compress the data, but I would discourage JPEG.
JPEG is best for data with smooth color transitions rather than sharp color
changes that you see on the desktop.  If the image comes from a digital
camera or is scanned in, then JPEG may be appropriate, but otherwise
its compression efficiency and lossy appearance do not work well.
Some appropriate methods for desktop images (some already suggested) are:
   Run length encoding (RLE)
   Zipping
   Gif image compression
   Png image compression
   LZH compression
Assisted Solution
 
01.22.2004 at 02:08PM PST, ID: 10178990
True, but my point was that the BMP is HUGE and takes to long to pass through the connection. He need to use a different format and/or use compression. Any of the formats you suggested are acceptable, I recommended the JPEG because it is easy to convert to without any third party controls.

Pegasus has a great control that supports conversion to all formats and can be easily used to pass data back and forth as bye arrays.

www.jpg.com
Assisted Solution
 
04.09.2004 at 12:32PM PDT, ID: 10793789
No comment has been added to this question in more than 21 days, so it is now classified as abandoned.

I will leave the following recommendation for this question in the Cleanup topic area:
   Split: oliverlizotte {http:#8609199} & splat {http:#8610906} & bjornsone {http:#10178875} & rehand {http:#10178990}

Any objections should be posted here in the next 4 days. After that time, the question will be closed.

Venabili
EE Cleanup Volunteer
 
04.13.2004 at 03:01PM PDT, ID: 10818050
Forced accept

Computer101
E-E Admin
 
 
20080236-EE-VQP-29