OS X içinden WPF uygulamaları geliştirmek için en iyi VM nedir?


5

Tüm makinelerim Mac'lerdir (Mac Pro, MacBook Pro, MacBook Air ve Mac Mini (ve Apple TV 2.0 da! :)), ancak günlük işlerim için .NET / WPF uygulamaları geliştiriyorum. Normalde Boot Camp'e önyüklerim ve bu şekilde geliştiririm, elbette ki harika çalışır, ama eşzamanlı olarak denklemin Mac tarafındaki şeylere eşzamanlı olarak ulaşmam gereken zamanlar oluyor, bu yüzden hem VMware 3.1 hem de Parallels 6 satın aldım. Ancak her ikisi de daha iyi video kartlarına (NVidia 8600'ler sanırım ATI kartlarına karşı) ATP kartlarına yükseltme yapmak için para ödediğim Mac Pro'mda bile çalışıyor!

Şimdi bu beni şaşırtıyor, çünkü her ikisi de sadece donanım hızlandırmalı OpenGL 2.1'i değil, aynı zamanda donanım hızlandırmalı DirectX 9'u (VMware'in DirectX 10'u bile desteklediği iddia ediliyor! bir pencere. Ancak, karo zeminine sahip bir WPF penceresini yeniden boyutlandırma eylemi bile bazı GİZLİ boyama ve yeniden boyutlandırma davranışlarına neden olur. Yalnızca yazılım geliştiriciden bağımsız olarak RDP'den beklediğiniz şeye çok daha yakındır (hızlandırılmış donanımı tamamen unutun!)

Öyleyse ... lütfen biri bana WTF'in WPF'nin farklı yaptığını söyleyebilir mi? Daha da önemlisi, WPF performansını nasıl hızlandırabilirim? DirectX desteği de bulunan VirtualBox'a mı geçmeliyim? Yoksa sadece mermiyi bayt etmek zorunda kalacağım mı (üzgünüm ... zorundayım. Bu yüzden pankartları severim! Teşekkürler Jon Stewart!) Ve Boot Camp'i kullanmaya devam edecek miyim?


1
VirtualBox kullanmayı deneyin ve performansın nasıl olduğunu görün.
Rafe Kettler

4
WPF, VM'lerin yaygın olarak desteklemediği veya sanallaştırmadığı en iyi performans için donanım hızlandırmaya ihtiyaç duyduğundan DirectX'i kullanır.
BoltClock

Her neyse, sadece Boot Camp'i kullan. Farklı bir işletim sisteminde bir işletim sistemini sanallaştırma konusunda hiç büyük bir hayran olmadım.
BoltClock

Fantezi efektler yapmaya çalışırken sanal makinelerde WPF performansı ile ilgili her zaman sorun yaşıyorum. Ve VirtualBox kullanarak çift çekirdekli i7, 8GB bellek ve 120GB SSD çalışıyor.

Yukarıda belirttiğimiz gibi ağır VMware ve paralellikler ikisi tarafından duyurulan @BoltClock, ve onlar do DirectX desteği. Eğer Boot Camp'i kullanacak olsaydım, soruyu sormazdım. Dediğim gibi, OS X’i aynı anda kullanmam gerekiyor.
MarqueIV

Yanıtlar:


1

VMWare'in performansı artırmak için yükleyebileceğiniz bazı uzantıları veya sürücüleri olduğunu biliyorum; bunları dene. Çok sayıda VM kullanıcısı olarak, performansları yerel hızlarla eşleşemez; Sadece buna alış. VM'lerde programlamayı denedim, bundan bıktım ve başka bir bilgisayarı aldım, biri Windows için, biri Linux için.


VM'nin sürücülerine atıfta bulunduğuna inanıyorum. Bu, herhangi bir modern VM için geçerlidir. Anlamadığım 3D uygulamalar bu sürücüleri kullanarak gayet iyi çalışıyor, ancak basit WPF uygulamaları oldukça dalgalı. Daha MS'in WPF renderleme işleminin müşteriden veya çalışan sürücülerden daha fazla uygulanmasının korkunç olduğunu anlamaya başladım. WPF Deep Dive makalesi, gerçekte ne kadar karmaşa olduğunu gösteriyor.
MarqueIV

1
Bunu söylemekten nefret ettiğim kadarıyla, en iyi çözüm üstünde pencere bulunan bir bilgisayar bulmak. Aksi halde, işyerindeki kutunuza RDP girebilirseniz, bu başka bir fantastik çözüm olacaktır.
Alec

RDP'nin performansı WPF ile iğrenç. Ve başka bir makineye sahip olmak harika olsa da, çalışmak zorunda olduğum en iyi sanal çözümün ne olduğunu (yani ürün ve ayarlar) soruyorum. Yine de teşekkürler.
MarqueIV

Ne yazık ki, Boot
Camp'i

Boot Camp aynı zamanda Mac’e aynı anda yüklenmem gerektiği için bir seçenek değil, bu yüzden burada bir VM hakkında ilan vermek. Yine de teşekkürler.
MarqueIV

0

Bunu dene !!

Sanal makinenize en son PC oyunlarından birini (Call of duty, NFS, vb.) Kurun ve oynayın, çünkü neredeyse tüm PC oyunları DirectX'i kullanır. Bu oyunlar, donanımınız ve altında yatan yazılım için de mükemmel bir testtir.

Oyun deneyimi iyi değilse, VMWare / donanım ile ilgili bir sorun olmalı. Eğer değilse, o zaman WPF'in kendisiyle ilgili bir problem olabilir. Bir yerde WPF'nin Citrix ortamında az bilinen bir performans sorunu yaşadığını okuduğumu hatırlıyorum. Bu nedenle, karşılaştığınız sorunun bununla da ilişkili olabileceği ihtimali vardır.


@PrinceCoder, oyuncu olmadığım için kurabileceğim herhangi bir PC oyunum yok. AMA ... bu 16GB RAM ve 2 üst seviye NVidia kartlı (hisse senedi ATI'lerinden çok daha iyi performans) 8 çekirdekli bir Mac Pro ve her şey (ya da bunu 2 yıl önce aldığımda) hattın en üstünde . Boot Camp'te başladığımda, dörtlü monitörlerde bile cam kadar pürüzsüz. Mac tarafı da cam gibi pürüzsüz ... VM'de çalışan Windows dışında. En son VMware ve Parallels sürücülerine sahibim, o yüzden ben de öyle olmadığını biliyorum. Ne olduğundan emin değilim, ama bu sorunun olması konusunda yalnız değilim ve ısırıyor gibi görünüyor.
MarqueIV

1
@MarqueIV Bazı son (ish) oyunlar, örneğin Amerika Ordusu, bedava.
Daniel Beck

0

VM teknolojisinin burada temel bir yanlış anlaşılma olduğunu düşünüyorum. Bir VM, hiçbir zaman bir katman olmadan bilgileri tamamen fiziksel donanıma geçiremez. DX uygulamalarını 'çalıştırdığınızda', sanal bir ekran kartına koşuyorlar, eğer şanslıysanız çıktısının donanım tarafından hızlandırılması (yani doğrudan X -> sanal ekran kartı -> opengl-> gerçek ekran kartı) veya şanssızsanız, yazılım taklit edilir (bu durumda her şey CPU üzerinde çalışır, bu doğal olarak bu tür işlerde mükemmel değildir - aksi halde grafik kartlarına ihtiyacımız olmaz).

Kısacası, fantezi donanımınız VM’de olanlar ile ilgili hiçbir şey yapmıyor.


Re: "Kısacası, fantezi donanımınız Sanal Makinede ne olduğuna ilişkin hiçbir şey yapmıyor" - Doğru olsaydı (ki bunlar açıkça donanıma takılan donanım ivmesi gibi değildi), o zaman 3D oyunlar yüzlerinde düştü. Sadece yazılım olarak uygulanabilecek bir uygulama onları tamamen boğacaktır. Onlar yüzünden Yine de özellikle hatta bir pencerede, iyi bir oyun olan donanım hızlandırmalı. Yine, performans sorunlarına neden olan sadece WPF. Tahminime göre, WPF sadece saf DX'ten farklı bir şey yapıyor ya da çalışması gerekiyor.
MarqueIV

Sanırım sorunun ne olduğunu buldum ... görünüşe göre WPF hala işlemciyle ilgili çok fazla şey yapıyor, bu yüzden sanallaştırılmış halde, 3D bölümleri hızlandırılmış donanıma geçirilmiş olmasına rağmen, CPU ile GPU arasındaki kilitleme ve senkronizasyon, sanallaştırıldığında, sadece performansı kes. Kısacası, WPF'i 'düzeltene kadar' bir çözüm olacak gibi görünmüyor. jeremiahmorrill.com/2011/02/14/…
MarqueIV

0

27 yıldır yazılım geliştiricisiyim. (Evet, sadece metin ve renkli ascii karakterleri olduğunda ...)

Bugün Windows / Web / Mac için bir Sr. geliştiricisiyim ve birincil kodlamamı bir MacBook pro'da yapıyorum (iki harici monitör - DVI ve USB ile).

WINDOWS kodlamamın% 95'ini (.NET) Windows 7 üzerinden Fusion'da (VMWare) yapıyorum. BootCamp ile hala 100 GB'lık bir bölümüm var.

BootCamp tarafından? Nedenini zaten biliyorsunuz çünkü bir VM / emülatör aracılığıyla tam video performansı elde edemiyorsunuz.

Oh ve BÜYÜK İPUCU --- Yapabileceğiniz söylese de, Windows 7 BootCamp'ınızı Fusion ile başlatmayın. Aslında Windows 7 lisansından çıkacak ve Microsoft'a tekrar kaydolması için çağrı yapacaksınız (çünkü bunun yasa dışı bir Windows kopyası olduğunu söyleyecektir ...)


Win7 64-bit Boot Camp bölümümü düzenli olarak VMware veya Parallels ile kullanıyorum. Evet, Windows'u yeniden kaydettirmeniz gerekir, ancak bunu yalnızca bir kez yapmanız yeterlidir ve MS sorunu sorunsuzca etkinleştirir. Ayrıca, evet, sanal olarak tam video performansı elde edemiyorsanız , DirectX 3D oyunlarıyla gerçekten iyi bir kare hızına sahip olabilirsiniz , böylece kayan bir liste veya WPF'deki bir slayt animasyonunun kiri ısırması kadar basit bir şey olamaz. zor. Bu sadece kötü bir uygulama.
MarqueIV
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.