Illustrator arka planda neden% 2 hıza indiriliyor?


8

Adobe Illustrator'da düzenli olarak belirli bir biçimde bir sürü dosyayı kaydeden bir .jsx komut dosyası çalıştırıyorum.

  • Illustrator etkin uygulama iken, komut dosyasını 5 dosyada çalıştırmak 23 saniye sürer .

  • Illustrator en önde gelen uygulama olmadığında, komut dosyasını 5 dosyada çalıştırmak 5 dakikadan fazla sürer .

  • Etkinlik Monitörüne göre , Illustrator ön planda iken CPU'nun yaklaşık % 75'ini kullanıyor ancak arka plandayken% 2'den daha az bir kısma indiriliyor .

  • Etkinlik İzleyicisi'ne göre, Uygulama Uykusu kullanılmıyor .

Bu neden oluyor ve bunu değiştirmenin bir yolu var mı?

Illustrator'ı beklerken başka işler yapabilmek istiyorum. Durduğu gibi, Illustrator'ı ön planda tutmak zorundayım.

Denediğim bazı şeyler : Bunu biliyordum

sudo sysctl debug.lowpri_throttle_enabled=0

Time Machine yedeklemelerini hızlandırmak için çalıştı, bu yüzden bu durumda yardımcı olabilir. Etkisi yoktu .

Ayrıca App Nap'ı devre dışı bırakmayı denedim:

defaults write NSGlobalDomain NSAppSleepDisabled -bool YES

Etkisi yoktu .

TinkerTool'u denedim , ancak lowpri_throttle_enabled ayarını değiştirmenin sadece bir GUI olduğuna inanıyorum . Etkisi yoktu .

Yanıtlar:


6

Bu bir Adobe sorunu gibi görünüyor; özellikle, AI için kod tabanı çok iş parçacıklı değildir.

Adobe forumlarında sorununuzu ele alan bir tartışma bulabildim - Illustrator'ı CPU'da çok iş parçacıklı hale getirme

Illustrator performansı korkunç, en temel işlemler dışında yavaş ve hantal. Çok çekirdekli ve çok iş parçacıklı CPU çağında artık saçma olan tek bir cpu iş parçacığına bağlı ve yıllardır bu şekilde oldu. Arka plan görevlerini işleyemez ve Photoshop ve inDesign gibi diğer Adobe yazılımlarıyla işlev ve performans bakımından tamamen eşit değildir.

Vurgu madeni

Ne yazık ki, kod arka plan CPU işlemlerini destekleyemiyorsa, Mac'inizin bakış açısından işleri hızlandırmak için yapabileceğiniz hiçbir şey yoktur. Forumdaki tüm kullanıcılar (körü körüne) kabul ettiği gibi, tek çözüm Adobe'den güncelleme beklemektir.

Bu neden böyle

Genel olarak, arka plandaki uygulamalar "duraklatılır" - teknik olarak düşük öncelik verilir . Bunun anlamı, CPU'nun daha fazla komut yürütme fırsatı olana kadar yürütmenin durmasıdır; genellikle bir GÇ alma işlemi sırasında. Bu işlemi yönetmek "CPU Zamanlama" olarak adlandırılır ve donanımın sizin için işlediği bir şeydir - uygulamanın izin vermesi gerekir (kontrolü bırakma).

Çoklu iş parçacığının yaygın bir yanılgısı, işlerin daha hızlı yürütülmesidir. Durum böyle değil, aynı anda daha fazla şey CPU kaynaklarını daha iyi kullanmak. Bu, bir havaalanı ile bir konferans merkezi arasında insanları mekik yapan tek bir taksiye (insan taşıyıcı) sahip olmak gibidir. Hepsi aynı hızda gidiyor, sadece şimdi daha fazla hareket ediyorsunuz.

"Çok iş parçacığı özellikli" olan uygulama, donanımın CPU zamanını yönetmesini ve zamanlamasını sağlar ve ayrılabilecek daha fazla CPU olduğu için, arka plan işleri işi yapmak için daha fazla kaynak alır.


1
Çok iş parçacıklı olmayan bir uygulamanın arka planda neden daha yavaş olacağını kısaca anlatabilir misiniz? Hayal gücüm öneriyor: bir kerede çalışan N iş parçacığı var ve Mac kaynaklarının% 85'ini "ana" kullanıcıyla karşı karşıya iş parçacığında otomatik olarak kullanıyor ve% 15'i diğer tüm iş parçacıkları için bölünüyor. Bunun hakkında hiçbir şey bilmiyorum, sadece uyduruyorum.
Andrew Swift

1
Genel olarak, tek iş parçacıklı uygulamalar arka planda "duraklatılır" ve ön planda "çalıştırılır". Arka planda iken bir uygulamayı canlı tutmak için, CPU'yu geçici olarak "yoklayacak" ve bazı işlevleri (örneğin dosya kaydetme) yapmak için çağıracaktır. Bu, "CPU tahsisi" ile ilgili değildir. Forumları okuduktan sonra, 8 ve 16 çekirdekli Mac Profesyonelleri olan insanlar AI'yı çalıştırırken sadece tek bir çekirdeğin kullanıldığını görüyorlar, bu sadece tam kaynaklardan yararlanmıyor.
Allan

1
Cevabınızı bu açıklama ile güncellemek isterseniz, doğru olarak seçmekten memnuniyet duyarım.
Andrew Swift

1
@Allan Vay! Adobe Illustrator uygulamasının çoklu iş parçacığı desteğini desteklemediğini asla tahmin edemezdim! Bana göre çok iş parçacığı için muhtemel bir aday gibi görünüyor. Daha sonra, Microsoft'un Excel ile çoklu iş parçacığını (başka bir açık aday) desteklemesi uzun zaman aldı ve şimdi bile uygulaması çok iyi değil. Kuşkusuz zaman geçtikçe daha fazla uygulama bunu destekleyecektir.
Monomeeth

1
@Monomeeth - Kabul ediyorum. AI'nın dev eğrisinin çok gerisinde olduğuna inanamadım. Forumda okuduğum bir şey, CC'nin aslında Adobe'nin gelir toplamasına ve ürünü düzeltmesine izin vermeyeceğine inanan kullanıcılardı. Apple kendi CPU'larına geçerken ve 32bit uygulamalar için destek desteğiyle Adobe işleri düzeltmek zorunda kalabilir.
Allan

0

Bu cevap dan Mordy Golding de, Adobe Illustrator Ürün Müdürü (2001-2004), Quora'daki :

Vektör grafiklerin avantajları ve dezavantajları vardır. Bu, ne yazık ki, dezavantajlardan biridir. Çünkü vektör grafikleri doğrusal bir istifleme düzeninde çizilir.

Basit bir örnek alın - tek bir dikdörtgenle tek bir katman alın. Bu katmanı 100 kez çoğaltın. Yalnızca üst katman görünür olsa da, illustrator uygulaması her bir dikdörtgeni en alt kattan en üste çizer. Illustrator, önceki 49 bitene kadar katman 50'yi çizemez. Bu, hangi piksellerin nihayetinde görünür olduğu ile ilgilenen photoshop'tan farklıdır.

Konseptin daha da genişletilmesi. 4 çekirdeğiniz olduğunu varsayalım. Bir photoshop dosyası alıp 4 alanlık bir ızgaraya bölebilir ve her çekirdeğe aynı anda 1 alan çizmesini söyleyebilirsiniz. Çünkü bir ızgaradaki bir pikselin başka bir ızgara alanındaki pikseller üzerinde hiçbir etkisi yoktur. Bir fotoğrafı birden çok bağımsız alana bölebildiğiniz için, her alanı aynı anda oluşturmak için birden fazla çekirdek atayabilirsiniz.

Ancak, illustrator uygulamasında, her nesne istifleme sırasında göründüğü sırada çizilir. Bu yüzden bir görüntüyü dört ızgaraya böldüğümde, hangi ızgarada olursa olsun tüm sanat nesnesini nesneye göre inşa etmem gerekiyor. Yani 4 çekirdeğin tamamı, tüm nesnelerin oluşturulmadan önce çizilmesini beklemek zorunda kalacaktı.

Bunun anlamı, yalnızca bazı tür işlevlerin Illustrator'da çok çekirdekli işlevselliği destekleyebilmesidir. Örneğin, büyük bir dosya yazdırırsanız, illustrator yazdırma biriktirmesini başka bir çekirdeğe teslim eder ve hemen çalışmaya devam etmek için sizi belgenize geri döndürür. Ama ne yazık ki, bu çizim / render sanatı gibi doğrusal görevleri hızlandırmak için mümkün değil.

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.