Guru3D.com Forums

Go Back   Guru3D.com Forums > Videocards > Videocards - NVIDIA Drivers Section
Videocards - NVIDIA Drivers Section In this section you can discuss everything ForceWare driver related. ForceWare (Detonator) drivers are for NVIDIA TNT, Quadro and all GeForce based videocards.


Reply
 
Thread Tools Display Modes
Old
  (#326)
-Tj-
Ancient Guru
 
-Tj-'s Avatar
 
Videocard: Inno3D GTX580 1.53GB
Processor: Intel i7 4770K OC 4.7GHz
Mainboard: ASUS Z87 - Deluxe
Memory: Crucial BLE 4x4GB 2400MHz
Soundcard: Creative X-Fi Titanium HD
PSU: Chieftec NTRO88+ 650W
Default 02-20-2013, 00:22 | posts: 5,616 | Location: Urban`Jungle

and how does one know if cpu has invariant TSC?



I just tried it, I also re-enabled disabledynamictick= no and i didnt see anything special by Latencymon other then occasional 1000us kernel register spike by first start (could be C1E fault)..

Im gonna try BF3 to see whats up.

Quote:
Originally Posted by mbk1969 View Post
To ensure avoiding of TSC+LAPIC or TSC+HPET usage:

if CPU has 'invariant TSC'
then 'bcdedit /set useplatformclock false'
else 'bcdedit /set useplatformclock true'

I mean I am not programmer at Microsoft so I don`t know full and detailed Windows logic in case of 'bcdedit /deletevalue useplatformclock'...
I presume if you delete this value useplatformclock, then its like this option doesnt exist even if it was enabled before.
   
Reply With Quote
 
Old
  (#327)
tsunami231
Ancient Guru
 
tsunami231's Avatar
 
Videocard: EVGA 660gtx sig2
Processor: i7 920 CNPS10X Quiet
Mainboard: Evga x58 SLI LE
Memory: 3x2gb Dominator@1600 6Gb
Soundcard: Realtek HD Audio
PSU: Antec Truepower 750
Default 02-20-2013, 00:38 | posts: 2,907 | Location: USA

Quote:
Originally Posted by mbk1969 View Post
To ensure avoiding of TSC+LAPIC or TSC+HPET usage:

if CPU has 'invariant TSC'
then 'bcdedit /set useplatformclock false'
else 'bcdedit /set useplatformclock true'

I mean I am not programmer at Microsoft so I don`t know full and detailed Windows logic in case of 'bcdedit /deletevalue useplatformclock'...
Now correct me if i wrong but is cpu os invariant tsc then shouldnt hpet be disabled in Bios too?

Most Cpu since 1st gen i7 are invariant tsc no?
   
Reply With Quote
Old
  (#328)
Vbs
Member Guru
 
Videocard: Gigabyte 560Ti @1000/2000
Processor: Intel i7-2600K @ 4.5GHz
Mainboard: ASRock Z68 Pro Fatal1ty
Memory: 16GB DDR3LV GSkill Sniper
Soundcard: Auzentech X-Fi Forte
PSU: Enermax Modu 87+ 800W
Default 02-20-2013, 00:39 | posts: 100

I think I've already linked this post 3 times, here's the 4th!
Quote:
(...)
The long latency associated with accessing an external clock facility combined, with the rdtsc hardware improvements described above, prompted another round of changes in QueryPerformanceCounter for Windows 7 (and Windows Server 2008 R2). During system initialization, Windows 7 attempts to figure out if the current hardware supports a TSC tick rate that is constant across power state changes. When Windows 7 determines that the processor’s TSC tick rate is constant, the QPC routine is set to issue rdtsc instructions. If it appears that the TSC is not invariant across processor core frequency changes, then QPC will be resolved as in Windows 6 by calling the machine’s external timer. In this fashion, QPC in Windows 7 automatically provides a well-behaved, high resolution hardware clock timer service that uses the low latency rdtsc instruction whenever it is well-behaved.
So, basically, let windows do it's job!

Tj,
If the processor supports invariant TSC, the clock speed from RDTSC will always be constant, even with the processor in a low power state. For example, my 2600K keeps a constant 3400MHz counter frequency, even when the CPU is at 1600MHz (TSC counters increase +1 for each clock tick). Check my post above, with the pics.
   
Reply With Quote
Old
  (#329)
bishi
Master Guru
 
Videocard: GTX780 3GB SLI @+250/+650
Processor: i7 2600K @ 4.8Ghz
Mainboard: Gigabyte GA-Z68X-UD3P-B3
Memory: Corsair Vengeance 16GB
Soundcard: G930
PSU: 850W XFX
Default 02-20-2013, 00:41 | posts: 297 | Location: London

To summarise what everyone has been saying seeing as people are just changing what they feel like and reporting placebo results..... Especially in Windows 8.

Enable HPET in BIOS (64-bit if you have the option).

Stop adding **** to your BCD because it was already working right.

Ignore the performance counter frequency. Lower is not always worse, depends what it is measuring.
   
Reply With Quote
 
Old
  (#330)
mbk1969
Maha Guru
 
Videocard: GeForce 780 GTX
Processor: I7-3820
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard+NuForce Icon HDP
PSU: 1000 W
Default 02-20-2013, 00:49 | posts: 996 | Location: Moscow, Russia

Quote:
Originally Posted by -Tj- View Post
and how does one know if cpu has invariant TSC?

I presume if you delete this value useplatformclock, then its like this option doesnt exist even if it was enabled before.
AIDA64 shows checkbox 'Invariant TSC' in CPUID node. CPUID - processor instruction that returns bit flags of CPU features, so many tools can show that stuff...

As for "delete this value useplatformclock" we don`t know exactly what Windows (either Vista or 7) do with timers. In cases of 'useplatformclock=true' or 'useplatformclock=false' we do.
   
Reply With Quote
Old
  (#331)
mbk1969
Maha Guru
 
Videocard: GeForce 780 GTX
Processor: I7-3820
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard+NuForce Icon HDP
PSU: 1000 W
Default 02-20-2013, 00:55 | posts: 996 | Location: Moscow, Russia

Quote:
Originally Posted by tsunami231 View Post
Now correct me if i wrong but is cpu os invariant tsc then shouldnt hpet be disabled in Bios too?
They are completely independent things - TSC and HPET. They don`t know about each other. Question is - which to use for OS needs? Nobody can prevent programmer to use either TSC processor instructions or HPET in-out instructions in their code (unless HPET is disabled in BIOS).

Last edited by mbk1969; 02-20-2013 at 01:01.
   
Reply With Quote
Old
  (#332)
Vbs
Member Guru
 
Videocard: Gigabyte 560Ti @1000/2000
Processor: Intel i7-2600K @ 4.5GHz
Mainboard: ASRock Z68 Pro Fatal1ty
Memory: 16GB DDR3LV GSkill Sniper
Soundcard: Auzentech X-Fi Forte
PSU: Enermax Modu 87+ 800W
Default 02-20-2013, 00:58 | posts: 100

Quote:
Originally Posted by tsunami231 View Post
Now correct me if i wrong but is cpu os invariant tsc then shouldnt hpet be disabled in Bios too?
Good question. It seems not. Intel's IA-PC HPET (High Precision Event Timers) Specification 1.0a states that HPET can be used for:
Quote:
http://www.intel.com/content/dam/www...-spec-1-0a.pdf
  • Synchronizing
    • Real-Time Digital Audio & Video Streams
      • 64-bit free running up-counter
  • Scheduling
    • Threads, Tasks, Processes, etc.
      • Fixed Rate (Periodic) Interrupt Generation
        • System Heart Beat
        • Non-Real Time Thread Scheduler
      • Variable Rate (One-Shot) Interrupt Generation
        • Scheduling real time tasks associated with host-based signal processing applications
  • Time Stamping
    • On Multiprocessor platforms
      • 64-Bit free running up-counter can be utilized as DIG64 “platform timer” for Time Stamping Applications. This provides a time-base that is insensitive to clock frequency drifts on individual CPU’s on a N-Way MP systems.
So, basically, HPET can have many more uses outside of QPC calls.
   
Reply With Quote
Old
  (#333)
-Tj-
Ancient Guru
 
-Tj-'s Avatar
 
Videocard: Inno3D GTX580 1.53GB
Processor: Intel i7 4770K OC 4.7GHz
Mainboard: ASUS Z87 - Deluxe
Memory: Crucial BLE 4x4GB 2400MHz
Soundcard: Creative X-Fi Titanium HD
PSU: Chieftec NTRO88+ 650W
Default 02-20-2013, 01:06 | posts: 5,616 | Location: Urban`Jungle

Quote:
Originally Posted by mbk1969 View Post
AIDA64 shows checkbox 'Invariant TSC' in CPUID node. CPUID - processor instruction that returns bit flags of CPU features, so many tools can show that stuff...

As for "delete this value useplatformclock" we don`t know exactly what Windows (either Vista or 7) do with timers. In cases of 'useplatformclock=true' or 'useplatformclock=false' we do.
Ah ok yes its supported, but it says only Timer stamp Counter (TSC).

I tried Bf3 and it felt kinda spikey, some occasional 1-2sec fps slowdowns., or was it Quadro driver fault.. But I know i didnt have that yesterday in same map, although i used Geforce variant + disabledynamictick=yes and setplatformclock=true

Last edited by -Tj-; 02-20-2013 at 01:10.
   
Reply With Quote
Old
  (#334)
tsunami231
Ancient Guru
 
tsunami231's Avatar
 
Videocard: EVGA 660gtx sig2
Processor: i7 920 CNPS10X Quiet
Mainboard: Evga x58 SLI LE
Memory: 3x2gb Dominator@1600 6Gb
Soundcard: Realtek HD Audio
PSU: Antec Truepower 750
Default 02-20-2013, 01:06 | posts: 2,907 | Location: USA

Well according to Aida64 i7 920 supports it but no combination I can find ofr hpet in bios or combination of useplatformclock false or true, makes aida 64 so that Invariant Time Stamp Counter is enabled its shows it is supported that about it
   
Reply With Quote
Old
  (#335)
mbk1969
Maha Guru
 
Videocard: GeForce 780 GTX
Processor: I7-3820
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard+NuForce Icon HDP
PSU: 1000 W
Default 02-20-2013, 01:09 | posts: 996 | Location: Moscow, Russia

Guys, you can`t disable TSC as it is part of CPU features. It is present or not in CPU.
   
Reply With Quote
 
Old
  (#336)
Vbs
Member Guru
 
Videocard: Gigabyte 560Ti @1000/2000
Processor: Intel i7-2600K @ 4.5GHz
Mainboard: ASRock Z68 Pro Fatal1ty
Memory: 16GB DDR3LV GSkill Sniper
Soundcard: Auzentech X-Fi Forte
PSU: Enermax Modu 87+ 800W
Default 02-20-2013, 01:10 | posts: 100

Quote:
Originally Posted by mbk1969 View Post
AIDA64 shows checkbox 'Invariant TSC' in CPUID node. CPUID - processor instruction that returns bit flags of CPU features, so many tools can show that stuff...

As for "delete this value useplatformclock" we don`t know exactly what Windows (either Vista or 7) do with timers. In cases of 'useplatformclock=true' or 'useplatformclock=false' we do.
There is more to the "invariant" TSC than just being invariant, because you have one for each core in a system and they need all to be in-sync. I know Nahalem+ and Bulldozer+ are good to go, but (if I'm not mistaken) Phenoms report invariant TSC but the sync between cores is not 100% guaranteed. That's why windows tests this setting at boot.

The setting of useplatformclock is clearly stated by MS to be used as a debugging option. I personally don't know what else can that option force to be enabled/disabled globally. Imagine you have a good to go CPU, but by setting useplatformclock=false you are effectively forcing HPET or other ACPI timers out, that can be used for non-realtime purposes? (hardware power-states for example).
   
Reply With Quote
Old
  (#337)
mbk1969
Maha Guru
 
Videocard: GeForce 780 GTX
Processor: I7-3820
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard+NuForce Icon HDP
PSU: 1000 W
Default 02-20-2013, 01:12 | posts: 996 | Location: Moscow, Russia

Quote:
Originally Posted by -Tj- View Post
Ah ok yes its supported, but it says only Timer stamp Counter (TSC).

I tried Bf3 and it felt kinda spikey, some occasional 1-2sec fps slowdowns., or was it Quadro driver fault.. But I know i didnt have that yesterday in same map, although i used Geforce variant + disabledynamictick=yes and setplatformclock=true
If your CPU has no 'Invariant TSC' you just need to check if Windows has affected by 'drift of TSC' as wrote Vbs.
   
Reply With Quote
Old
  (#338)
mbk1969
Maha Guru
 
Videocard: GeForce 780 GTX
Processor: I7-3820
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard+NuForce Icon HDP
PSU: 1000 W
Default 02-20-2013, 01:23 | posts: 996 | Location: Moscow, Russia

Quote:
Originally Posted by Vbs View Post
There is more to the "invariant" TSC than just being invariant, because you have one for each core in a system and they need all to be in-sync. I know Nahalem+ and Bulldozer+ are good to go, but (if I'm not mistaken) Phenoms report invariant TSC but the sync between cores is not 100% guaranteed. That's why windows tests this setting at boot.
According to text at your link Windows 7 tests. But what about Vista and 8?
I don`t argue with you. It is clear that one must perform testing before and after switching any OS setting/tweak...

Quote:
Originally Posted by Vbs View Post
Imagine you have a good to go CPU, but by setting useplatformclock=false you are effectively forcing HPET or other ACPI timers out, that can be used for non-realtime purposes? (hardware power-states for example).
Your question may be splitted:
Does Windows (Vista, 7, 8) use platform clocks outside QPC context in case of 'useplatformclock=false'?
Does 'useplatformclock=false' prevent third-party soft in OS use platform clocks?
   
Reply With Quote
Old
  (#339)
Vbs
Member Guru
 
Videocard: Gigabyte 560Ti @1000/2000
Processor: Intel i7-2600K @ 4.5GHz
Mainboard: ASRock Z68 Pro Fatal1ty
Memory: 16GB DDR3LV GSkill Sniper
Soundcard: Auzentech X-Fi Forte
PSU: Enermax Modu 87+ 800W
Default 02-20-2013, 01:29 | posts: 100

Quote:
Originally Posted by -Tj- View Post
Ah ok yes its supported, but it says only Timer stamp Counter (TSC).

I tried Bf3 and it felt kinda spikey, some occasional 1-2sec fps slowdowns., or was it Quadro driver fault.. But I know i didnt have that yesterday in same map, although i used Geforce variant + disabledynamictick=yes and setplatformclock=true
For a quick test:
1) Open any monitoring tool that shows the CPU frequency (CPU-Z for example)
2) Fire up PC Clock Timing
3) Hit 'Refresh' while keeping the CPU idle, and repeat with some load
4) Does the "Clock speed from RDTSC" stays constant?

If it stays constant, you have an invariant TSC. If it changes mimicking the CPU frequency, it's not invariant.
   
Reply With Quote
Old
  (#340)
mbk1969
Maha Guru
 
Videocard: GeForce 780 GTX
Processor: I7-3820
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard+NuForce Icon HDP
PSU: 1000 W
Default 02-20-2013, 01:31 | posts: 996 | Location: Moscow, Russia

'useplatformclock [ yes | no ]
Forces the use of the platform clock as the system's performance counter.'

- i.e. QPC only. It doesn`t say about other usage of platform clocks
   
Reply With Quote
Old
  (#341)
mbk1969
Maha Guru
 
Videocard: GeForce 780 GTX
Processor: I7-3820
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard+NuForce Icon HDP
PSU: 1000 W
Default 02-20-2013, 01:37 | posts: 996 | Location: Moscow, Russia

Quote:
Originally Posted by -Tj- View Post
Ah ok yes its supported, but it says only Timer stamp Counter (TSC).
Btw did you check all page of CPUID? In my localized AIDA64 'Invariant TSC' is almost at the bottom. And if your CPU does not support it the checkbox is there but unchecked.
   
Reply With Quote
Old
  (#342)
Vbs
Member Guru
 
Videocard: Gigabyte 560Ti @1000/2000
Processor: Intel i7-2600K @ 4.5GHz
Mainboard: ASRock Z68 Pro Fatal1ty
Memory: 16GB DDR3LV GSkill Sniper
Soundcard: Auzentech X-Fi Forte
PSU: Enermax Modu 87+ 800W
Default 02-20-2013, 01:40 | posts: 100

Quote:
Originally Posted by mbk1969 View Post
According to text at your link Windows 7 tests. But what about Vista and 8?
I don`t argue with you. It is clear that one must perform testing before and after switching any OS setting/tweak...
Vista tries to use HPET without testing anything (invariant TSCs were not available then)
Windows 8 uses the same procedure as Windows 7, and besides allowing you to set useplatformclock, also allows you to explicitly set tscsyncpolicy and useplatformtick. Shall we open even more Pandora's Box?

Quote:
Originally Posted by mbk1969 View Post
Your question may be splitted:
Does Windows (Vista, 7, 8) use platform clocks outside QPC context in case of 'useplatformclock=false'?
Does 'useplatformclock=false' prevent third-party soft in OS use platform clocks?
Very good questions! But I'm really settled on bcdedit /deletevalue useplatformclock
   
Reply With Quote
Old
  (#343)
-Tj-
Ancient Guru
 
-Tj-'s Avatar
 
Videocard: Inno3D GTX580 1.53GB
Processor: Intel i7 4770K OC 4.7GHz
Mainboard: ASUS Z87 - Deluxe
Memory: Crucial BLE 4x4GB 2400MHz
Soundcard: Creative X-Fi Titanium HD
PSU: Chieftec NTRO88+ 650W
Default 02-20-2013, 01:41 | posts: 5,616 | Location: Urban`Jungle

yes its constant, but it shows 3.682Ghz instead of 2.66ghz?, while my Oc is 3.632Ghz, this is with dynamic tick off and hpet on (bios) and useplatformclock true atm.

Although that time for query perf. call is ~ 520us.


Edit: Im gonna try this delete value one more time

Ok now it looks like windows HPET is off, primary timer is ~ 3.54mhz and that time for query perf. call ~ 14us.

Last edited by -Tj-; 02-20-2013 at 01:49.
   
Reply With Quote
Old
  (#344)
tsunami231
Ancient Guru
 
tsunami231's Avatar
 
Videocard: EVGA 660gtx sig2
Processor: i7 920 CNPS10X Quiet
Mainboard: Evga x58 SLI LE
Memory: 3x2gb Dominator@1600 6Gb
Soundcard: Realtek HD Audio
PSU: Antec Truepower 750
Default 02-20-2013, 01:43 | posts: 2,907 | Location: USA

Ok well Im gona give ago with the Hpet on in the bios and bcdedit /set useplatformclock false

As of now only difference I See with True and False is With True Time For QueryPerformanceCounter is 750ns VS about 11ns with False.

Other then the Hpet on and off in Bios and TRue and False in windows all show the same Clock speed of 2653 give or take a mhz or .
   
Reply With Quote
Old
  (#345)
mbk1969
Maha Guru
 
Videocard: GeForce 780 GTX
Processor: I7-3820
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard+NuForce Icon HDP
PSU: 1000 W
Default 02-20-2013, 01:50 | posts: 996 | Location: Moscow, Russia

Folks, you don`t need to bother about that stuff because you don`t do real-time tasks at you rigs, right? Main thing is well-synced timers...

750 microseconds is less the 1 millisecond...

Edit: Wait... milliseconds? Mine shows nanoseconds - time for QueryPerformanceCounter() call...

Last edited by mbk1969; 02-20-2013 at 01:55.
   
Reply With Quote
Old
  (#346)
tsunami231
Ancient Guru
 
tsunami231's Avatar
 
Videocard: EVGA 660gtx sig2
Processor: i7 920 CNPS10X Quiet
Mainboard: Evga x58 SLI LE
Memory: 3x2gb Dominator@1600 6Gb
Soundcard: Realtek HD Audio
PSU: Antec Truepower 750
Default 02-20-2013, 01:55 | posts: 2,907 | Location: USA

Quote:
Originally Posted by mbk1969 View Post
Folks, you don`t need to bother about that stuff because you don`t do real-time tasks at you rigs, right? Main thing is well-synced timers...

750 microseconds is less the 1 millisecond...

Edit: Wait... milliseconds? Mine shows nanoseconds - time for QueryPerformanceCounter() call...

well i did that and was getting 1500+ us interupt process spikes in latencymon

So i just went back to Hpet 64bit + True in Win 7 pc been working fine so just gona leave it as it is. In all honestly common person should never have to touch or play with these settings.

Unless I rebuild my pc with all new Mobo and CPU im just gona leave setting as is as this is how it works best for me

True=750ns give or take
False= 11 ns give or take

But like I said when I did False or Delete of that value I was getting 1500us interupt process latency in latency mon

Last edited by tsunami231; 02-20-2013 at 02:05.
   
Reply With Quote
Old
  (#347)
mbk1969
Maha Guru
 
Videocard: GeForce 780 GTX
Processor: I7-3820
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard+NuForce Icon HDP
PSU: 1000 W
Default 02-20-2013, 01:57 | posts: 996 | Location: Moscow, Russia

Quote:
Originally Posted by tsunami231 View Post
In all honestly common person should never have to touch or play with these settings.
But are we common persons here?
   
Reply With Quote
Old
  (#348)
tsunami231
Ancient Guru
 
tsunami231's Avatar
 
Videocard: EVGA 660gtx sig2
Processor: i7 920 CNPS10X Quiet
Mainboard: Evga x58 SLI LE
Memory: 3x2gb Dominator@1600 6Gb
Soundcard: Realtek HD Audio
PSU: Antec Truepower 750
Default 02-20-2013, 01:59 | posts: 2,907 | Location: USA

Quote:
Originally Posted by mbk1969 View Post
But are we common persons here?
here? haha hell no ever one here to point is extremist me to much less extent of most people here. but ya
   
Reply With Quote
Old
  (#349)
mbk1969
Maha Guru
 
Videocard: GeForce 780 GTX
Processor: I7-3820
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard+NuForce Icon HDP
PSU: 1000 W
Wink 02-20-2013, 02:05 | posts: 996 | Location: Moscow, Russia

Quote:
Originally Posted by tsunami231 View Post
Unless I rebuild my pc with all new Mobo and CPU im just gona leave setting as is as this is how it works best for me

But like I said when I did False or Delete of that value I was getting 1500us interupt stalls in latency mon
You realize that second sentence does undo first one, right?

Edit: Oops... Never mind - I just misinterpreted the 'leave setting'...

Last edited by mbk1969; 02-20-2013 at 02:08.
   
Reply With Quote
Old
  (#350)
Penal Stingray
Banned
 
Videocard: GTX 680 Tri-Sli-S27A950
Processor: i7 3930K 4.6 GHZ
Mainboard: Gigabyte UD3 X79
Memory: 16 GB Ripjaws 2200 MHZ
Soundcard: XFi Titanium HD
PSU: Antec HCP 1200 Watts
Default 02-20-2013, 02:39 | posts: 961 | Location: JerZe

I Found the best combo is HPET on Bios and HEPT off On windows but that's just my set up.
   
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Powered by vBulletin®
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
vBulletin Skin developed by: vBStyles.com
Copyright (c) 1995-2014, All Rights Reserved. The Guru of 3D, the Hardware Guru, and 3D Guru are trademarks owned by Hilbert Hagedoorn.