Video Performance

Discussion in 'Parallels Desktop for Mac' started by JakePratt, May 1, 2006.

  1. JakePratt

    JakePratt Bit Poster

    I am loving parallels and using it from windows development but I have noticed that the video performance isn't quite what I am used to with Virtual PC in Windows. It's not bad but when doing GDI+ work, it really drags.

    - Can anyone comment on if this is because I am using a Mac mini which has sub par video? I have 2GB of ram 1GB allocated to Guest

    - Would upgrading to a Macbook achieve better performance?

    - Are there plans to speed up the 2D performance pre-GA?

    BTW - I am driving a monitor at 1920x1200
  2. bcjenkins


    I can tell you that on my MBP (1.83Ghz, 2GB RAM (512 to VM)) It is too slow for video editing or streaming video over the internet. It is definitely non-accelerated.

  3. rjgebis

    rjgebis Kilo Poster

    I also did asked about htis multiple of times. So far no answer from devel team. Could someone please say somthing about it? I also use it for GDI+/WinForms devel and it is tooooo sloow
  4. nhand42


    Perhaps Your IntelVT is Disabled

    Try reducing the resolution (large resolutions are known to be slower). Also it's not accelerated video - it's VESA, it's a dumb framebuffer, and Parallels has to copy the framebuffer to your real videoscreen several times a second to "emulate" the video - so it's not going to be fast anyway.

    Also Parallels uses IntelVT (a standard feature on the latest chips from Intel) to get very high speed virtualisation. If your CPU has IntelVT disabled it will fallback to emulation which is about 1/5th the speed. I recall somebody said something about the minis needed a firmware upgrade before IntelVT was available!?
  5. tacit_one

    tacit_one Kilo Poster

    We will try to make it faster, but you must take into consideration that indeed we need to * copy * all of the screen contensts in the current version from the emulated vesa buffer. Anyway, we will investigate this problem.
  6. bigman


    Will this change before GA? Or will there be only a better copy implementation?
  7. JakePratt

    JakePratt Bit Poster

    Thanks, any performance enhancement that can be done for Video would be great. I don't expect full accellerated speed but something closer to what I get in VPC seems doable.

    BTW- I do have VT-x enabled and working. CPU performance is great.
  8. Siker


    Why not just create a special graphics driver for Windows XP which allows Windows to write straight into an OS X frame buffer? And then open source the driver for the benefit of Linux users.
  9. drtimhill


    This keeps coming up...

    Any VM solution must, by definition, present the virtual guest OS with a software emulation of a video card. It cannot simply map-through or borrow the real video hardware since this would conflict with its use by the host operating system. There are state-switching techniques to "swap" control of real video hardware between host and guest OS, but the switching overhead is *horrendous*, and the last time this was tried was Windows 95 (yuck!) and that was only with simple 2D cards.

    So, video in a VM is always going to suffer from a software implementation overhead, and its *never* going to get close to the performance of real hardware. This is not the fault of PW, since its true in VMware on the PC and every other emulator out there.:(

    If you absolutely must have high performance graphics (2D, 3D, DirectX or video), use Boot Camp.

    Incidentally, this is true of all of the devices in a VM. The reason it affects video rather more than (say) disk i/o is that the software emulation of the video feature set is vastly more expensive than the rather simple task of mapping low-level disk i/o into the host OS file system.

  10. wesley


    Supposedly, hardware virtualization support in future (Intel) CPUs may have a more wider range of I/O virtualization, and even the video subsystem can be virtualized like the CPU is at the current stage. If this happens we'll get what we need.
  11. drtimhill


    Don't hold your breath. The new additions to VT don't address anything that would help much with video; they are really designed to assist in asynchronous i/o to avoid unnecessary copy overhead (into and out of the VM).

    This is not really an Intel problem; it's a GPU problem. Until/unless a GPU can maintain distinct contexts for each VM we will never get effective VM hardware graphics assist.

  12. bmoeskau


    Would more RAM help?

    I'm using a MB Pro 15" w/ 1Gb RAM, XP guest. In general, video performance has been fine. Until today -- I finally splurged and got a 30" Cinema Display. Man... how did I ever live before this thing? BUT.... my XP guest (as expected?) is now dog slow.

    I think I understand the basic issue -- I'm now running the host at 2560x1600 and the guest at 2048x1280, so copying entire screen frames will be slower. But even if I lower the guest back down to 1440x900 (like before) it is still much slower running under the Cinema Display host resolution.

    My question is that the only variable I can see that I can change is my memory -- I was planning on upgrading to 2Gb anyway -- would this (along with boosting the guest memory) help with the video performance at all? I realize this is not the same as video memory, but I assume that the frame buffering occurs in virtual memory, i.e., the hard drive? If I have a larger swap file available, will the graphics system be able to utilize more of it for better speed? I hope I'm not just out of luck...

    EDIT: Playing around with different guest resolutions, I'm finding that if I stick to about 1600x1200 or below, the latency for typing, dragging windows, etc. is acceptable. Anything more than that and it becomes a noticeable issue (esp. with typing). 1600x1200 is OK (better than 1440x900) but it's still sort of defeating the purpose of having a 30" screen :(

    BTW -- I noticed in XP under Display > Settings > Advanced > Adapter that the video adapter (Parallels Video Driver) has a memory size of 8MB. That seems pretty small -- my guess is that since it is all virtual anyway, that number doesn't matter, but since I really don't know, I thought I'd ask. Is that something that I can increase somewhere or is it irrelevant?
    Last edited: Jun 17, 2006
  13. Andrew @ Parallels

    Andrew @ Parallels Parallels Developers

    Try to configure 32bpp mode resolution - it is fastest in Parallels because it goes directly from guest video memory without conversion.
  14. pdkline


    I am on a iMac 20" and mac mini CD 1.6. both stations are fast enough for VS2005 development. GDI+ Lags slightly, but not enough to really notice.

    video performance is fine. i can play movies, divx, Xvid fine in a vm.

  15. andreground


    Try to...

    Hi all,
    I love this software!

    I was experiencing some troubles with video streaming under Windows XP then I tried to disable hardware accelleration on Video graphic card under Xp control panel and...wuh! What a difference! :D

    Try'll improve your XPrience with videos/straming under Xp.

    Anyway any possible improvement of the graphic emulation will bring the software to the next world :D

    Keep going on!
  16. zoobazz


    Nice tip on the hardware acceleration. I found the cursor to be jumpy though. So, I just disabled all the WinXP eye-candy affects. That helped a bunch, especially when your dragging around windows (when you notice lag the most). I figure the eye-candy OS is the other one, why bother with it in a VM.

    Great work so far.. using it for the first day as a daily machine. I'm thinking Parallels will have my money soon. :)

Share This Page