Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. The Lounge
  3. Remote Desktop

Remote Desktop

Scheduled Pinned Locked Moved The Lounge
sysadminquestionphpcomperformance
9 Posts 6 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    Sarath C
    wrote on last edited by
    #1

    Hi All, once I was assigned in a project which is concerned with some streaming to the clients connected. anyway I have implemented a single server - multi client system which can be used for stream video from the server to the number of clients connected. Initially the clients were showing the video very slowly (even if there's only one client connected) in an 100 mbps network. the frames are send in compressed jpg format (around 70%). Now I have came out from that project. now some other person working on that for the performance improvement of server client system. ( when I was there, this feature was in not included in the first phase so I escaped :)) that story over. When I worked with remote deskop of Windows XP, I really get impressed because of the peformance hit I had in my system. anybody can give some inputs to make sure that, the network transfer is optimum and how to improves the streaming across? ( i donno this is a programming category question... but i'm sure I'm not mentioned about any specific langauge or technology :)) SaRath.
    _"Where I am from, there is no plan B. So, take advantage of today becuase tomorrow is not promised. - 50 Cent"


    My Blog | Understanding State Patte_

    R M S 3 Replies Last reply
    0
    • S Sarath C

      Hi All, once I was assigned in a project which is concerned with some streaming to the clients connected. anyway I have implemented a single server - multi client system which can be used for stream video from the server to the number of clients connected. Initially the clients were showing the video very slowly (even if there's only one client connected) in an 100 mbps network. the frames are send in compressed jpg format (around 70%). Now I have came out from that project. now some other person working on that for the performance improvement of server client system. ( when I was there, this feature was in not included in the first phase so I escaped :)) that story over. When I worked with remote deskop of Windows XP, I really get impressed because of the peformance hit I had in my system. anybody can give some inputs to make sure that, the network transfer is optimum and how to improves the streaming across? ( i donno this is a programming category question... but i'm sure I'm not mentioned about any specific langauge or technology :)) SaRath.
      _"Where I am from, there is no plan B. So, take advantage of today becuase tomorrow is not promised. - 50 Cent"


      My Blog | Understanding State Patte_

      R Offline
      R Offline
      Ryan Roberts
      wrote on last edited by
      #2

      I think the main optisation comes from good use of clipping regions. Only sending the area that changes over the wire. Its not really directly applicable for general video (unless you are sending screenshots of course..). Ryan

      "Michael Moore and Mel Gibson are the same person, except for a few sit-ups. Moore thought his cheesy political blooper reel was going to tell people how to vote. Mel thought that his little gay SM movie about his imaginary friend was going to help him get to heaven." - Penn Jillette

      S 1 Reply Last reply
      0
      • S Sarath C

        Hi All, once I was assigned in a project which is concerned with some streaming to the clients connected. anyway I have implemented a single server - multi client system which can be used for stream video from the server to the number of clients connected. Initially the clients were showing the video very slowly (even if there's only one client connected) in an 100 mbps network. the frames are send in compressed jpg format (around 70%). Now I have came out from that project. now some other person working on that for the performance improvement of server client system. ( when I was there, this feature was in not included in the first phase so I escaped :)) that story over. When I worked with remote deskop of Windows XP, I really get impressed because of the peformance hit I had in my system. anybody can give some inputs to make sure that, the network transfer is optimum and how to improves the streaming across? ( i donno this is a programming category question... but i'm sure I'm not mentioned about any specific langauge or technology :)) SaRath.
        _"Where I am from, there is no plan B. So, take advantage of today becuase tomorrow is not promised. - 50 Cent"


        My Blog | Understanding State Patte_

        M Offline
        M Offline
        Mike Dimmick
        wrote on last edited by
        #3

        Remote Desktop/Terminal Services is integrated at a pretty low level in the OS - below GDI - so it actually sends GDI commands across the network. As most drawing commands are effectively vectors it's a very compact representation. The bulky bit is bitmaps, but often you'll find that the same bitmaps are used repeatedly, so they're sent once - often with the colour depth reduced to match the target - and cached on the viewing computer. This is how Remote Desktop is often a lot quicker than VNC, which only sees the result of all the drawing commands and has to send the whole area that's changed. If you need to send motion video from a server, you should look at using a codec that uses prediction and frame differencing, like MPEG-2, MPEG-4, WMV. MPEG-2 typically only sends a whole frame every 15 or more frames, with prediction algorithms used to generate the intermediate frames locally with only a small amount of data needed from the server to correct the predictions. See Wikipedia's description of MPEG-2 video encoding[^]. Stability. What an interesting concept. -- Chris Maunder

        S K 2 Replies Last reply
        0
        • R Ryan Roberts

          I think the main optisation comes from good use of clipping regions. Only sending the area that changes over the wire. Its not really directly applicable for general video (unless you are sending screenshots of course..). Ryan

          "Michael Moore and Mel Gibson are the same person, except for a few sit-ups. Moore thought his cheesy political blooper reel was going to tell people how to vote. Mel thought that his little gay SM movie about his imaginary friend was going to help him get to heaven." - Penn Jillette

          S Offline
          S Offline
          Sarath C
          wrote on last edited by
          #4

          I'm wondering about the mouse moves in that application. The mouse movement happening in our system, not at remote location. else it will be a great headache to change the mouse positions. (it will cause alot of change in each movement). it would be nice to if you can let me know how to detect the changes in a specific area and invalidating 'hem. If your reply may break the lounge's rule, Use "Email" option. SaRath.
          _"Where I am from, there is no plan B. So, take advantage of today becuase tomorrow is not promised. - 50 Cent"


          My Blog | Understanding State Patte -- modified at 7:12 Thursday 6th July, 2006_

          V 1 Reply Last reply
          0
          • M Mike Dimmick

            Remote Desktop/Terminal Services is integrated at a pretty low level in the OS - below GDI - so it actually sends GDI commands across the network. As most drawing commands are effectively vectors it's a very compact representation. The bulky bit is bitmaps, but often you'll find that the same bitmaps are used repeatedly, so they're sent once - often with the colour depth reduced to match the target - and cached on the viewing computer. This is how Remote Desktop is often a lot quicker than VNC, which only sees the result of all the drawing commands and has to send the whole area that's changed. If you need to send motion video from a server, you should look at using a codec that uses prediction and frame differencing, like MPEG-2, MPEG-4, WMV. MPEG-2 typically only sends a whole frame every 15 or more frames, with prediction algorithms used to generate the intermediate frames locally with only a small amount of data needed from the server to correct the predictions. See Wikipedia's description of MPEG-2 video encoding[^]. Stability. What an interesting concept. -- Chris Maunder

            S Offline
            S Offline
            Sarath C
            wrote on last edited by
            #5

            thanks alot for your detailed reply. SaRath.
            _"Where I am from, there is no plan B. So, take advantage of today becuase tomorrow is not promised. - 50 Cent"


            My Blog | Understanding State Patte_

            1 Reply Last reply
            0
            • S Sarath C

              I'm wondering about the mouse moves in that application. The mouse movement happening in our system, not at remote location. else it will be a great headache to change the mouse positions. (it will cause alot of change in each movement). it would be nice to if you can let me know how to detect the changes in a specific area and invalidating 'hem. If your reply may break the lounge's rule, Use "Email" option. SaRath.
              _"Where I am from, there is no plan B. So, take advantage of today becuase tomorrow is not promised. - 50 Cent"


              My Blog | Understanding State Patte -- modified at 7:12 Thursday 6th July, 2006_

              V Offline
              V Offline
              Vikram A Punathambekar
              wrote on last edited by
              #6

              It's your call, of course, but could you please remove the BLINK tag in your sig? :) š Cheers, Vikram.


              "I am not Jesus and will never be. The fact is I was a piece of cr*p till I found Him." - Paul Selormey.

              S 1 Reply Last reply
              0
              • V Vikram A Punathambekar

                It's your call, of course, but could you please remove the BLINK tag in your sig? :) š Cheers, Vikram.


                "I am not Jesus and will never be. The fact is I was a piece of cr*p till I found Him." - Paul Selormey.

                S Offline
                S Offline
                Sarath C
                wrote on last edited by
                #7

                What happened? SaRath.
                _"Where I am from, there is no plan B. So, take advantage of today becuase tomorrow is not promised. - 50 Cent"


                My Blog | Understanding State Patte_

                1 Reply Last reply
                0
                • M Mike Dimmick

                  Remote Desktop/Terminal Services is integrated at a pretty low level in the OS - below GDI - so it actually sends GDI commands across the network. As most drawing commands are effectively vectors it's a very compact representation. The bulky bit is bitmaps, but often you'll find that the same bitmaps are used repeatedly, so they're sent once - often with the colour depth reduced to match the target - and cached on the viewing computer. This is how Remote Desktop is often a lot quicker than VNC, which only sees the result of all the drawing commands and has to send the whole area that's changed. If you need to send motion video from a server, you should look at using a codec that uses prediction and frame differencing, like MPEG-2, MPEG-4, WMV. MPEG-2 typically only sends a whole frame every 15 or more frames, with prediction algorithms used to generate the intermediate frames locally with only a small amount of data needed from the server to correct the predictions. See Wikipedia's description of MPEG-2 video encoding[^]. Stability. What an interesting concept. -- Chris Maunder

                  K Offline
                  K Offline
                  kennster
                  wrote on last edited by
                  #8

                  Wow, nice reply. I have always been impressed with RDP ever since Windows NT Server 4.0 Terminal Server Edition, which I used to run as my desktop operating system since it came out as beta 2. I remember running network captures on the stream, and being able to read window titles and the like in the packets, very cool. My question is, does anybody know of an enhanced RDP client for Windows Mobile? I am thinking I saw a .NET based RDP client on Codeproject somewhere? In any event, I have an Axim X51v which has a beautiful VGA display and I typically run it at VGA resolution. The thing is, I can only connect on RDP default port and only at the default color depth of 256 colors. Since I have only one public IP Address, I change the default port of RDP and use my router to forward packets to each of my workstations ... which means I can connect to only one of my machines directly from outside on it. Anyway, thanks again for the great explanation and video tips!

                  1 Reply Last reply
                  0
                  • S Sarath C

                    Hi All, once I was assigned in a project which is concerned with some streaming to the clients connected. anyway I have implemented a single server - multi client system which can be used for stream video from the server to the number of clients connected. Initially the clients were showing the video very slowly (even if there's only one client connected) in an 100 mbps network. the frames are send in compressed jpg format (around 70%). Now I have came out from that project. now some other person working on that for the performance improvement of server client system. ( when I was there, this feature was in not included in the first phase so I escaped :)) that story over. When I worked with remote deskop of Windows XP, I really get impressed because of the peformance hit I had in my system. anybody can give some inputs to make sure that, the network transfer is optimum and how to improves the streaming across? ( i donno this is a programming category question... but i'm sure I'm not mentioned about any specific langauge or technology :)) SaRath.
                    _"Where I am from, there is no plan B. So, take advantage of today becuase tomorrow is not promised. - 50 Cent"


                    My Blog | Understanding State Patte_

                    S Offline
                    S Offline
                    shadrach_india
                    wrote on last edited by
                    #9

                    Hi This can be done. I have done it 50%. Now I dropped the work. Only u have to do. 1. Capture the screen (first screen) 2. Capture the second screen (next to first) 3. compare the bits value (don use GetPixel() ) 4. Use Direct access to bit map ( See the CXImage Project in CP) 5. U will get differentiated Bits value 6. Convert to GIF format (it is very low bit size) 7. Write an application for displaying differentiated bits value to real Image Hi , it is little to difficult to explain all flow the work. But it can be done. For doing this u should have knowledge of Bitmap File structure. The CXImage is very useful to u I used this project for recording the desktop movement remote machine, and running the shots as videos

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • World
                    • Users
                    • Groups