2012-03-02 16 views
14

WebGL ve ilgili teknolojileri kullanarak JavaScript'te bir oyun yazmayı düşünüyorum. Oyunu olabildiğince akıllı yapmak istiyorum, bu yüzden CPU/bellek kullanımını izlemek istiyorum.Javascript- Dinamik olarak CPU/bellek kullanımını izleyin

Örneğin

: yüksek CPU kullanımı için

  • , resimler biraz geri ölçekli veya yüksek hafıza kullanımı için sunucuda
  • için hesaplamaları boşaltma, depolama (ve daha sonra geri alma) için sunucusuna veri boşaltma

Chrome'un Task Manager ürününde sunduğu verileri almak istiyorum. FPS'yi nasıl izleyeceğimi biliyorum ve bu da biraz esnekliğe yol açabilir, ancak olabildiğince fazla bilgiye sahip olmak isterim. Ana kullanım durumu, CPU'nun mümkün olduğu kadar az (dizüstü bilgisayarlar için) veya kullanıcı forumlarda gezinirken boş modda kullanıldığı bir 'düşük güç' modu içindir.

Profilleyicileri nasıl kullanacağımı biliyorum ama Bu araçlara JavaScript'ten erişmek istiyorum.

Bu mümkün mü? Eğer değilse, standardizasyon için önerilmiş olup olmadığını biliyor musunuz?

JavaScript'ten sorgulanabildiği sürece bir uzantıyla yaşamak isterdim, ancak yerel bir özellik varsa bunu önlemek isterim. Firefox ve Chrome'un son sürümlerini hedeflemeye çalışıyorum, ancak bunu destekliyorsa kendimi tek bir tarayıcıyla kısıtlayabilirim.

cevap

8

Bu tür bilgileri almak için doğrudan bir javascript araması yoktur (ciddi bir güvenlik problemi olurdu). Ama probleminiz için bir çözüm var, CPU kullanımını hesaplamak için arka planda bazı hesaplamaları çalıştıracak bir işlevi taklit etmek için javascript için litterally thread olan çalışan havuzlarını kullanabilirsiniz. Ama bir 3B uygulama oluşturduğunuz için bunu yapmamanızı tavsiye etmeyeceğim çünkü CPU kullanımının mevcut seviyesini bilmek için gereksiz miktarda CPU kullanımına gerek kalmayacak, bu da bir makineli tüfek ile bir sinek öldürmek gibi olurdu.

Yapmanızı önerdiğim şey, uygulamanızla ilgili oldukları ve gereksinim duyduğunuz tam karşılaştırma göstergesi oldukları için yalnızca saniye başına çerçeve odaklanmalarıdır. CPU yükünü önemsemeyin, özellikle çift çekirdekli veya dört çekirdekli bir işlemciniz varsa, uygulamanız doğrudan buna bağlı değildir. Ayrıca, uygulamanız için GPU kullanımına ve uyumlu bir tarayıcıda GPU'dan tam olarak nasıl yararlanabileceğinizi de görmelisiniz (en son Chromes GPU hızlandırmayı kullanır).

Oyununuzda bol şans!

+2

Bu API sunumunu Intel'in web sitesinde buldum, ayrıca çok ilgimi çekmelidir http://software.intel.com/en-us/articles/intel-cpu-web-api-documentation-and-examples/ –

+0

+1 Bu Intel bağlantısı oldukça havalı! Bununla birlikte, sayfa başına sınırlı olsaydı (yalnızca CPU/bellek kullanımını görebilir) ciddi bir güvenlik sorunu olacağını kabul etmiyorum. Bunu bir başkasının bir fikri olması durumunda bunu birkaç gün açık bırakacağım. – tjameson

+0

Bağlantıdaki video gizli. –

İlgili konular