hız konusu çoğu zaman düşündüğümüzden önemli, ben her sistemin hangi adımında ne kadar zaman harcadığına mutlaka bakıyorum . bazen yanlış mantıkla yapılan işler falan zaman kaybına neden oluyor
kodun herhangi biyerindeki ms detayındaki zamanı stringe atabilirsin
Kod:
DateTime.Now.ToString("HH:mm:ss.fff")
formul testle falan kullanmak için kodun çeşitli yerlerine şu kod atılabilir
Kod:
Sistem.Debug(" xx "+DateTime.Now.ToString("HH:mm:ss.fff"));
sistem.debug ın kendiside görüntülemeden dolayı 1-2 ms zaman alıyo , dolayısıyla onu da engellemek için örneğin şöyle bir kod kullanılabilir.
Kod:
string zzaman= "start "+DateTime.Now.ToString("HH:mm:ss.fff");// ilk başa
zzaman=zzaman+ "x adım "+ DateTime.Now.ToString("HH:mm:ss.fff");// ölçmek istediğin adımlar için tekrarla
Sistem.Debug(zzaman);// sistemin en sonuna
kullanan herkesin ilk farkettiğidir muhtemelen okunacak bar sayısı doğrudan hesaplamalara etkisi var . hesaplamaları falan son 200-300 bara kısıtlayabilirsin ama rsi falan hesaplattığında onu ta baştan hesaplayacak müdahale şansın yok.
arayüz meselesini çok anlamıyorum . denemedim ama arayüze ekrana bilgi yazdırmak muhtemelen uzun zaman alıyodur . Filmlerde falan yapıyolar dramatik etki için mesela şifre kırıyo bilgisayar , ekranda yüzlerce şifre tekrar tekrar görünüyo , yüz karşılaştırma yapıyo teker teker yüzlerce yüz parmakizi falan . gerçekte bunlar arkada işlemcide sessiz sedasız görüntüsüz olan işler . en fazla yüklenince fanlar üflemeye başlıyodur.
biz insanların zaman ölçüsü ile bilgisayarın zaman ölçüsü arasında dağlar var
beyin çalışmasında bile ani bir sinyal geldiğinde beyin sen düşün ne yapacağına karar ver demiyo kendi yapıyo , tuhaf bi ses duydun karşıdan araba üzerine doğru geliye bişey patladı , beyin hemen otomatik tepki veriyo , zıplıyosun ellerini koruma pozisyonuna alıyosun vs.
birde işlemciyi uyutmak yerine zamankontrol kullanmak daha mantıklı gibi
System.Threading.Thread.Sleep(2000);
uyuturken uyandırırken geçen ayrıca zamanlar var
Yer İmleri