Program bilgisayar donanımlarını neden etkin kullanamaz?

CheyLoaN

Kilopat
Katılım
30 Haziran 2015
Mesajlar
208
Makaleler
4
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Merhabalar.

Çok genel bir soru sormak istiyorum. Buna bir de örnek ekliyorum. Neden görev yöneticisinde gördüğümüz programlar işlemci vb. donanımları %100 olarak kullanamazlar. Buna Windows mu engel koyuyor? Ya da programlamanın bir eksiği mi? Oyunların donanımları %100 kullanabilmesi nedendir?

Verdiğim bu örnekte setup işlemcimin %9, 4'ünü kullanmak yerine neden %100'ünü kullanıp işini daha çabuk bitiremiyor? Disk okumayı bekliyor cevabı yanlış olacaktır çünkü kullandığım disk bir NVMe. Yani 128 MB okuma/yazmadan çok daha fazlasını vadediyor.
 

Dosya Ekleri

  • Ekran Alıntısı.JPG
    Ekran Alıntısı.JPG
    61,2 KB · Görüntüleme: 67
Son düzenleyen: Moderatör:
Merhabalar.

Çok genel bir soru sormak istiyorum. Buna bir de örnek ekliyorum. Neden görev yöneticisinde gördüğümüz programlar işlemci vb. donanımları %100 olarak kullanamazlar. Buna Windows mu engel koyuyor? Ya da programlamanın bir eksiği mi? Oyunların donanımları %100 kullanabilmesi nedendir?

Verdiğim bu örnekte setup işlemcimin %9, 4'ünü kullanmak yerine neden %100'ünü kullanıp işini daha çabuk bitiremiyor? Disk okumayı bekliyor cevabı yanlış olacaktır çünkü kullandığım disk bir NVMe. Yani 128 MB okuma/yazmadan çok daha fazlasını vadediyor.

Sisteminin %100'ünü kullanmama sebebi, o sistemde çalışan arka plan uygulamaları da var. Sistemi kilitleme koruması gibi düşün. İhtiyacı olanı alır.
 
Eğer her program %100 kullansaydı bu onların çok kötü programlandığını gösterirdi, tüm programlar olabilecek en düşük donanım gücünü kullanmak üzere tasarlanır. Oyunlarda %100 çünkü FPS limitini açmıyorsundur ya da bilgisayarın çok güçlü değildir.
 
Merhabalar.

Çok genel bir soru sormak istiyorum. Buna bir de örnek ekliyorum. Neden görev yöneticisinde gördüğümüz programlar işlemci vb. donanımları %100 olarak kullanamazlar. Buna Windows mu engel koyuyor? Ya da programlamanın bir eksiği mi? Oyunların donanımları %100 kullanabilmesi nedendir?

Verdiğim bu örnekte setup işlemcimin %9, 4'ünü kullanmak yerine neden %100'ünü kullanıp işini daha çabuk bitiremiyor? Disk okumayı bekliyor cevabı yanlış olacaktır çünkü kullandığım disk bir NVMe. Yani 128 MB okuma/yazmadan çok daha fazlasını vadediyor.

%100 kullanırsa sistem yavaşlayacağı için kullanmıyor.
 
Eğer %100 kullanıp işini hızlı bitirmeye çalışırsa ani ısınma ve stabilite sorunları yaşarsınız. Kaynak kullanımını optimize etmek, minimum kaynakla maksimum iş yapmaktır.
 
Her program 100% işlemci kullansaydı yeni program kullanmak için bir diğerinin bitmesini beklemen gerekirdi. Programlama dillerinde multiprocessing denilen bu yöntem ile birden fazla işlem aynı anda çalışabilir.

Şöyle bir örnek vereyim. Sende çalışan setup işlemcinin tamamını kullansaydı altta çalışan diğer programlar onun bitmesini beklemek ve ondan sonra çalışmak zorundaydı.

Eğer sorunu şöyle algılarsak;
Neden programlar o anki boş işlemci yükünü kullanmıyor ?


Programların ihtiyacı olmadığı fazla işlem gücü boş bırakılarak enerji tasarrufu sağlanıyor ve işlemci sıcaklığı düşük tutuluyor. Sürekli 100% olan bir işlemci çok ısınır ve ömrü daha hızlı biterdi.
 
İşlemci elma değil. Birazını ısırıp işinizi göremiyorsunuz. İşlemcilerde thread'ler var, onlara göre değerlendiriyor olabilir. Ama muhtemelen bir baz süre alıyor (örneğin 1 ms) o sürenin ne kadarında o programın işlemlerinin yapıldığını not ediyor.

O yüzdelik değeri işlemcinin meşguliyeti gibi düşünebilirsin. Dakikada 10 elma yiyebilen birisine dakikada 2 elma verip durursan sadece %20 çalışmış olur. Tamamını kullanıp daha çabuk bitirememesinin sebebi bu. Bir de işlem sırası var. Sana 30 tane sayıyı topla dediğimde 2'şer 2'şer toplayıp sonra kalan 2 taneyi toplarsın. Direkt son işlemi yapamazsın çünkü elinde işleme girecek ürün yok.
 
İşlemci elma değil. Birazını ısırıp işinizi göremiyorsunuz. İşlemcilerde thread'ler var, onlara göre değerlendiriyor olabilir. Ama muhtemelen bir baz süre alıyor (örneğin 1 ms) o sürenin ne kadarında o programın işlemlerinin yapıldığını not ediyor.

O yüzdelik değeri işlemcinin meşguliyeti gibi düşünebilirsin. Dakikada 10 elma yiyebilen birisine dakikada 2 elma verip durursan sadece %20 çalışmış olur. Tamamını kullanıp daha çabuk bitirememesinin sebebi bu. Bir de işlem sırası var. Sana 30 tane sayıyı topla dediğimde 2'şer 2'şer toplayıp sonra kalan 2 taneyi toplarsın. Direkt son işlemi yapamazsın çünkü elinde işleme girecek ürün yok.
"Direkt son işlemi yapamazsın çünkü elinde işleme girecek ürün yok."

Bu tatmin edici bir cevap oldu. Teşekkür ederim.

Diğer arkadaşlara şunu söyleyebilirim. Aynı setup, çok daha işlem gücü düşük bir işlemcide %70'lere varabiliyor. İşlem gücü arttıkça yüzdelik değer de düşüyor. Bu tespite göre Vavien.'in verdiği bu cevap çok daha mantıklı oluyor.

Dakikada iki elma yiyebilen insana iki elma verirsen %100 meşgul olur.
Dakikada 10 elma yiyebilen insana iki elma verirsen %20 meşgul olur.

Bu mantığa göre:
Oyunlarda fps sınırı açık olmadığında, yani sınırsız fpsde görüntü istediğinde 10 elma yiyebilen adama 10 elma, 20 elma yiyebilen adama 20 elma veriliyor.

Teşekkür ederim Vavien.
 
Windows evin babası, uygulamalar da çocukları gibi düşünürsek, tek bir uygulamaya tüm kaynakları %100 kullandırırsan diğer çocuklar demezler mi hani bana diye. Böyle basit düşünmek lazım 😄 . Sistemde daha beslenecek bir sürü boğaz var tüm CPU'yu tek bir uygulamaya hiçbir zaman veremezsin oyunlar bile işlemciyi tamamen kullanamazlar çoğu zaman, GPU için durum daha farklı.
 

Geri
Yukarı