Skocz do zawartości

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

Mhelkir

Nowy bug Intela?

Rekomendowane odpowiedzi

Szkoda drążyć temat, tu nawet nie będzie pół fps:) Zmierz sobie zegarek z windowsa do swojego i porównaj wyniki. czy zrobisz chociaż sekundę na godzinę:0

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Po pierwsze bazując na zegarze z mojej płyty błąd na 15sek to 7ms, czyli ~0.5 promila. Wraz z wydłużeniem pomiaru czasu precyzja wzrasta.

 

Różnice podczas 15sek przejścia testowego i tak będą większe niż te 7ms przecież nikt nie jest robotem. Dlatego błędy pomiarowe w najlepszym przypadku wynoszą ~0.3%. Dlatego pisałem, że ten brak precyzji jest bez znaczenia.

 

Po włączeniu hpet komp staje się mułem na Win10, rośnie QPF do równych 24MHZ, ale sama precyzja nie rośnie. Nie bez przyczyny nawet AMD zaleca wyłączenie hpet.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Czyli HPET w biosie na ON a w systemie WIN10 na OFF ?

 

Tak zrobiłem i jest OK.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Po pierwsze bazując na zegarze z mojej płyty błąd na 15sek to 7ms, czyli ~0.5 promila. Wraz z wydłużeniem pomiaru czasu precyzja wzrasta.

Czemu precyzja rośnie wraz z czasem pomiaru? Wydawałoby się że jak nie ma synchronizacji z dokładniejszym zegarem to te promile się będą stackować, chyba że program jest na tyle świadom tego by to korygować co ileś cykli.

 

Tak czy inaczej to jak HPET wpływa na Intela zastanawia czy inny zegar nie wpływa gorzej na amd ;) no i różnice są na tyle duże że imo można to nazwać bugiem.

 

AMD zalecało wyłączanie HPET w Ryzen1, obecnie ma to gdzieś i wywaliło wraz z producentami mobo opcje z wielu biosów, zapytani przez Anandtech odpisali:

The short of it is that we resolved the issues that caused a performance difference between on/off. Now that there is no need to disable HPET, there is no need for a toggle [in the BIOS].

Chociaż jak pokazał Anandtech wpływa to też na AMD w grach (w aplikacjach u amd zero różnicy, u Intela różnice w apkach i grach), tylko że wpływ na amd w grach to przeważnie kilka a maks kilkanaście procent, a u Intela przepaść w stylu 70%:

8700KGPU.png

Oficjalnie o tym wiadomo od Skylake-x że jest to jakiś błąd po stronie implementcji HPET u Intela, dobry artykuły jest tutaj:

https://www.overclockers.at/articles/the-hpet-bug-what-it-is-and-what-it-isnt

 

Co ciekawe w 2017 Intel nabrał wody w usta:

We named it the "X299 HPET bug" as the anomaly only occured on CPUs using the X299 chipset back then. Other CPUs were not affected at the time. We contacted Intel and they didn't even bother to comment on this. When approaching an Intel engineer at a press workshop, they even knew about our bug report but denied us to show further proof. Anyway, soon after Coffee Lake S came along it became clear that all new Intel platforms are affected by the bug. We were pretty sure now that this will blow up into Intel's face at some point in the future.

źródło: https://www.overclockers.at/articles/the-hpet-bug-what-it-is-and-what-it-isnt

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Bambol jest od strony systemu i kiepska implementacja HPET w Win10, która mocno obciąża CPU. A różnice w spadkach pewnie wynikają z tego, że na platformach intela zegar czasu rzeczywistego pracują z wyższą precyzją(wyższe taktowanie). Z tego co piszą nowe platformy mają inne sposoby na utrzymywanie precyzji czasu dlatego HPET jest zbędny. Być może z tej implementacji wynika coraz wyższa precyzja wraz upływem czasu, czyli błąd spada zamiast rosnąć.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość RMS_84

Na Win 7/8.1/10 z Intelem najlepiej wprowadzić te komendy w cmd:

 

bcdedit /deletevalue useplatformclock

 

bcdedit /set tscsyncpolicy Enhanced

 

bcdedit /deletevalue disabledynamictick

 

 

Do tego warto wymusić na systemowym timerze 0.500ms opóźnienia, wyłączyć parkowanie rdzeni, wyłączyć zbędne urządzenia z uefi/bios/menedżera urządzeń i włączyć tryb MSI zamiast IRQ.

 

PS:

 

Wymuszenie HPET pod Win powoduje zwiększone Latency, spadki fps i stuttering/tearing sprawdzane na H87/Z87/Z97/Z170 podejrzewam że na Z270 i Z370 będzie to samo bo to klony Z170.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość RMS_84

Bambol jest od strony systemu i kiepska implementacja HPET w Win10, która mocno obciąża CPU. A różnice w spadkach pewnie wynikają z tego, że na platformach intela zegar czasu rzeczywistego pracują z wyższą precyzją(wyższe taktowanie). Z tego co piszą nowe platformy mają inne sposoby na utrzymywanie precyzji czasu dlatego HPET jest zbędny. Być może z tej implementacji wynika coraz wyższa precyzja wraz upływem czasu, czyli błąd spada zamiast rosnąć.

 

Problem z HPET jest nie tylko na Win 10 ale tak że na 8.1, 8, 7 i Vista.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jak wymusić 0.500 w timerze systemowym i jak włączyć tryb MSI ?

 

WIN10 x64 pro 1803 17134.1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość RMS_84

Jak wymusić 0.500 w timerze systemowym i jak włączyć tryb MSI ?

 

WIN10 x64 pro 1803 17134.1

 

Tu masz temat z guru3D:

 

https://forums.guru3d.com/threads/windows-line-based-vs-message-signaled-based-interrupts.378044/

 

Link to programiku w którym można przestawić z IRQ na MSI.

 

http://www.mediafire.com/file/2kkkvko7e75opce/MSI_util_v2.zip

 

 

Link do tematu o systemowym timerze:

 

https://forums.guru3d.com/threads/windows-timer-resolution-tool-in-form-of-system-service.376458/

 

Jako programik pracujący w tle:

 

www.lucashale.com/timerresolution/TimerResolution.zip

 

lub jako usługa systemowa:

 

http://www.mediafire.com/file/a3m87ybzvzugdk6/SetTimerResolutionService.zip

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Może mi ktoś z wiedzących pomóc odnośnie automatycznego uruchomienia programiku Timer Tool ?

 

Chodzi o to, żeby przy każdorazowym uruchomieniu komputera, timer Tool uruchamiał się zminimalizowany z określeniem wartości 0.5 ms.

 

To ten programik: https://vvvv.org/contribution/windows-system-timer-tool

 

Niby opisane co i jak, ale u mnie to nie działa i muszę ręcznie uruchamiać TT :P

 

 

EDIT: poradziłem sobie z auto uruchomieniem programiku TimerTool z parametrem 0.5ms, ale za każdym uruchomieniem systemu, na pulpicie pozostaje okno z CMD.

 

Co zrobić, aby CMD ładował automatycznie programik TT i znikał z pulpitu ?

 

cmd.jpg

how to delete your

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość RMS_84

Może mi ktoś z wiedzących pomóc odnośnie automatycznego uruchomienia programiku Timer Tool ?

 

Chodzi o to, żeby przy każdorazowym uruchomieniu komputera, timer Tool uruchamiał się zminimalizowany z określeniem wartości 0.5 ms.

 

To ten programik: https://vvvv.org/contribution/windows-system-timer-tool

 

Niby opisane co i jak, ale u mnie to nie działa i muszę ręcznie uruchamiać TT :P

 

 

EDIT: poradziłem sobie z auto uruchomieniem programiku TimerTool z parametrem 0.5ms, ale za każdym uruchomieniem systemu, na pulpicie pozostaje okno z CMD.

 

Co zrobić, aby CMD ładował automatycznie programik TT i znikał z pulpitu ?

 

cmd.jpg

how to delete your

 

 

A nie lepiej dodać sobie usługę ? ja tak zrobiłem zamiast bawić w programiki pracujące w tle, dodatkowo usługa zjada mniej ramu.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Napisz, co mam zrobić za usługę :P

 

Ma być uruchamiany timertool w raz z uruchamianym systemem i programik ma mieć parametr 0.5 ms.

 

Chyba, że da się inaczej ustawić systemowy timer na 0.5 ms :hmm:

 

Jeżeli tak, to jak ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość RMS_84

Napisz, co mam zrobić za usługę :P

 

Ma być uruchamiany timertool w raz z uruchamianym systemem i programik ma mieć parametr 0.5 ms.

 

Chyba, że da się inaczej ustawić systemowy timer na 0.5 ms :hmm:

 

Jeżeli tak, to jak ?

 

Pobierasz:

 

http://www.mediafire.com/file/a3m87ybzvzugdk6/SetTimerResolutionService.zip

 

Wypakuj na C: lub C:\Windows tak aby usługa była w folderze np: SetTimerResolutionService

 

Odpalasz cmd z uprawnieniami admina i wchodzisz do folderu C:\SetTimerResolutionService lub C:\Windows\SetTimerResolutionService i robisz to co podają w readme tzn:

 

SetTimerResolutionService -install

 

 

I to wszystko ale musisz mieć poinstalowane Visual C++ redistribute.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki... działa jak należy :thumbup:

 

 

EDIT:

 

A co z tym przełączeniem IRQ na MSI ?

 

Szukałem takiego tematu w necie, ale lipa jakaś :(

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

R5 1400 @ 3,9 GHz (RAM 3200 MHz):

 

156eg78.jpg

HPET off

 

107l2sh.jpg

HPET on

 

Tak więc, reasumując, ja nie zalecam wymuszania HPET ani na Intelu, ani na AMD. Skala problemu jest większa na Intelu, ale to może wynikać z tego, co pisał sideband, czyli wyższego taktowania (24 vs 14,32 MHz -> to spora różnica). Definitywnie coś jest spaprane w Windowsie i nie bez powodu M$ pod Dziesiątką domyślnie nie używa HPET.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ten HPET może wpyłwać na wydajność ze względów na taktowanie trybu Turbo u Intela jak i AMD bo skoki taktów są nie raz nawet poniżej jednej sekundy

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ale ciekawostka że dla programów nie robi ten zegar żadnej różnicy na AMD zgodnie z wykresami od Anandtech, u Intela zaś obrywają i programy i gry.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Na AMD też czasem w programach masz niższą wydajność, przykładowo w Cinebenchu spada wynik dla pojedynczego wątku przy włączonym HPET (niewielka różnica, ~2% na minus). Nie da się tego odnieść bezpośrednio, ze względu na dużą różnicę w zegarze HPET.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Problem z HPET jest nie tylko na Win 10 ale tak że na 8.1, 8, 7 i Vista.

Win7 nigdy nie miałem i nie mam do tej pory problemów z HPET. Wydajność nie spada, co najwyżej jest o włos wydajniej.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość RMS_84

Win7 nigdy nie miałem i nie mam do tej pory problemów z HPET. Wydajność nie spada, co najwyżej jest o włos wydajniej.

 

U mnie wydajność spada po wymuszeniu HPET zarówno na Win 7 jak i na Win 10.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

U mnie wydajność spada po wymuszeniu HPET zarówno na Win 7 jak i na Win 10.

Pewnie kwestia procka, macie to samo?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość RMS_84

A co z timerem systemowym ?

 

timer.jpg

 

https://www.sendspace.com/file/ogxi9j

 

Rozumiem, że lepiej niższy wykres ?

 

timer.jpg

 

Co zrobiłeś że masz 0.4959 ? u mnie na Win 7 jest 0.5000 a na Win 10 0.5013 Czy może zależy to od platformy ? u mnie Z170 a u ciebie Z370.

 

 

PS:

 

DPC Latency Chacker jest zbugowany na Win 8/10 i nie pokazuje prawdziwych wartości które wynoszą około 0.20us

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tak, zależy od platformy. Przykładowo, teraz na AW9D-MAX + E7300 (8:E) pokazuje mi 0,488.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość RMS_84

Tomcug dzięki.

 

 

Leven chyba nie wprowadziłeś komend które ci proponowałem bo zegar masz 3,12MHz a powinien być 3,91MHz. Przez co masz 0,020us a na Z370 można wyciągnąć nawet 0,009us np: u mnie jest 0,017/0,018us na Z170.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...