Deferred procedure call (DPC) singkatnya merupakan mekanisme proses dari
OS microsoft yaitu keluarga windows yang menangani proses-proses kritis
yang bersifat high priority dan low-level. DPC di trigger oleh kernel
ketika device driver dari suatu hardware, misalnya audio memintanya.
Hasil trigger itu kemudian dimasukkan ke DPC queue (antrian) supaya
diproses. Untuk info yang lebih lengkapnya anda bisa ikuti di
[You must be registered and logged in to see this link.], berhubung saya tidak membahasnya lebih detail...
Nah,
berhubung OS windows bukanlah OS real-time sejati, maka ada jeda waktu
sepersekian juta detik untuk memproses antrian pada DPC. Jeda waktu yang
dibutuhkan untuk memproses request-request DPC itulah yang dinamakan
DPC latency. Biasanya digunakan satuan us (mikro second) dan itu hampir
tidak terasa bagi manusia sehingga kita menganggap seakan-akan itu
real-time (tanpa jeda).
Jika anda sering main game online atau
via LAN, pasti mengenal yang namanya latency atau PING. Apa yang terjadi
jika ping terlalu tinggi, katakanlah 500ms?
Kalau anda tidak di
kick/DC, maka game yang anda mainkan akan lag bukan? lag disini bukan
karena sistem kewalahan render gamenya, namun karena respon yang kena
jeda waktu. Apa yang dilihat dilayar lebih lambat 500ms dibanding layar
pemain lainnya, dan ini bisa fatal bagi gamer...
Hal yang sama
ternyata berlaku pada komputer secara internal. Jika DPC latency
terlalu tinggi, maka semua proses kerja di komputer juga akan kena delay
dan jadi lag. Imbas yang paling parah adalah pada perangkat audio
video. Semua proses akan menjadi lambat, audio yang dimainkan akan
berjalan sangat lambat disertai suara-suara POP dan CLICK.
Lalu bagaimana cara mengatasi DPC latency yang tinggi ini?
Solusi yang paling ampuh adalah mencari tahu dulu driver yang bermasalah, anda bisa mendownload
[You must be registered and logged in to see this link.] untuk menganalisa driver yang bermasalah tersebut, kemudian update driver tersebut ke versi yang lebih baru.
Tools lain untuk mengetahui seberapa besar DPC latency pada komputer anda adalah
[You must be registered and logged in to see this link.].
Lower
is better, DPC latency dikatakan bagus jika berada dibawah 500 mikro
detik dan dikatakan BAD kalau mencapai lebih dari 2000 us.
Berikut contoh screenshot DPC windows XP pada laptop saya.
[You must be registered and logged in to see this link.]Kebetulan
saya triple boot, XP x86, 7 x64 dan 8 CP x86. DPC windows 7 juga
menunjukkan nilai yang hampir sama dengan XP. Namun untuk windows 8 CP,
nilai DPC-nya meningkat hingga kisaran 1000 mikro detik.
Berikut screenshot DPC latency di windows 8 CP
[You must be registered and logged in to see this link.]Jadi
bisa dibilang kalau DPC tidak ada pengaruh ke hardware dan murni
pengaruh di software, terutama device driver. DPC windows 8 yang lebih
tinggi itu masih tergolong normal.
Saya jalan-jalan ke forum lain
dan ternyata, bukan saya saja yang mengalami DPC high pada windows 8,
namun semua pengguna windows 8 baik yang consumer preview maupun release
preview juga memiliki latency demikian (1000-an mikro sec). Hal ini
menyebabkan windows 8 dijuluki dengan LAGWARE. Hal ini tentu sangat
mengecewakan jika versi final windows 8 juga memiliki DPC latency
setinggi itu.
Terkadang memang DPC latency bisa meningkat drastis
(hingga lebih dari 4000 mikro detik) misalnya saat kita me-refresh
driver list di device manager. Hal itu tentu bukanlah masalah, yang
menjadi masalah adalah kalau DPC latency tetap tinggi walaupun tidak
melakukan pekerjaan apapun.
Jadi, berapa DPC latency komputer anda?
Semoga artikel ini bermanfaat, ditunggu komentarnya...