Pokročilé hledání Po chvilkovém hraní her se notebook sekne a resetuje se



Zdravím komunito,mám tady přetrvávající problém s mým notebookem, s kterým si už nevím rady.Notebook mám necelý rok, stále fungoval a pracoval, tak jak měl, ale poslední 2 týdny mi začal nějak zlobit. V momentě, kdy zapnu hru (cs:go, fortnite), tak se spustí pomyslná časovaná bomba, někdy hraju 5 minut, jindy klidně i 2 hodiny a nic se nestane, ale z ničeho nic se notebook sekne (freezne) a sám se po pár sekundách se resetuje. Toto freezování se děje náhodně, někdy ihned po zapnutí hry, někdy vůbec, je to zcela náhodné. Teploty v tomto případě nehrají také roly, notebook se freezne a resetuje, ať mám teploty 50°, nebo 80°. Grafické drivery mám aktuální, stejně jako ostatní. Zkoušel jsem procesor i grafiku vystavovat různým stress testům, ale při nich freeze a reset nepřišel. Nejdříve jsem měl podezření na zapnutou funkci překrytí ve hře v Geforce Experience, ale i po vypnutí problém stále přetrvával. Notebook jsem zkoušel také reinstalovat a po reinstalaci jsem nechal notebook projet memtestem, který vyšel bez jediného eroru. Momentálně mám největší podezření na procesor, při stress testech se podle mě ntb nechová úplně tak jak by měl, začne se mírně zasekávat myš a celkově všechno působí dost zpomaleně, stalo se mi, že myš se začala sekat i při běžném používání, byly to třeba 4 záseky po sobě a pak nic..HW Monitoring: (teploty při hraní)<https://ctrlv.cz/ir5P><https://ctrlv.cz/GEup>Notebook: ASUS ROG G752VSOperating SystemWindows 10 Home 64-bitCPUIntel Core i7 6700HQ @ 2.60GHz Skylake 14nm TechnologyRAM16,0GB Dual-Channel Unknown @ 1198MHz (17-17-17-39)MotherboardASUSTeK COMPUTER INC. G752VS (U3E1)GraphicsGeneric PnP Monitor (1920x1080@120Hz)8,0GB NVIDIA GeForce GTX 1070 (ASUStek Computer Inc) Storage931GB Western Digital WDC WD10JPLX-00MBPT0 (SATA ) 238GB NVMe THNSN5256GPU7 TO (RAID (SSD))Optical DrivesMATSHITA BD-CMB UJ172 SAudioSteelSeries Arctis 5 GameBudu rád za každou pomoc a radu.Děkuji předem:).
Děkuji, kouknu na to:)
<p><strong> poznámka: </strong> <em>toto bylo testováno na notebooku s grafickou kartou řízenou i915.</em></p><hr><h3>pozadí</h3><p><strong> poznámka: </strong> když je připojena nová obrazovka, do hostitele není odeslána žádná událost, zůstane to pravda i po mé poslední úpravě. jediným způsobem je tedy použít dotazování. snažím se, aby byly co nejefektivnější ...</p><h3>úprava # 3</h3><p>nakonec existuje jedno lepší řešení (prostřednictvím acpi):</p><p>stále neexistuje žádná událost, ale acpi se zdá být efektivnější než <code>xrandr</code> na dotaz. (poznámka: toto <strong> vyžaduje </strong> načtené moduly jádra acpi, ale nevyžaduje oprávnění root.</p><p>moje konečné řešení (pomocí bash):</p><pre><code>isvgaconnected() { local crtstate read -a &lt; /proc/acpi/video/vid/crt0/state crtstate test $(( ( ${crtstate[1]} &gt;&gt;4 ) ${1:+*-1+1} )) -ne 0 } </code></pre><p>nyní test:</p><pre><code>$ if isvgaconnected; then echo yes; else echo no; fi yes </code></pre><p>je zapojen, takže ho nyní odpojím:</p><pre><code>$ if isvgaconnected; then echo yes; else echo no; fi no </code></pre><p><strong> poznámka: </strong> <code>${1:+*-1+1}</code> povolit argument <em>boolean</em>: pokud <em>něco je přítomno</em>, odpověď by byla obrácena: <code>( crtstate &gt;&gt; 4 ) * -1 + 1</code>.</p><p>a závěrečný skript:</p><pre><code>#!/bin/bash export crtprocentry=/proc/acpi/video/vid/crt0/state isvgaconnected() { local crtstate read -a &lt; $crtprocentry crtstate test $(( ( ${crtstate[1]} &gt;&gt;4 ) ${1:+*-1+1} )) -ne 0 } delay=.1 unset switch isvgaconnected || switch=not while :;do while isvgaconnected $switch;do sleep $delay done if [ "$switch" ];then unset switch echo vga is connected # doing something while vga is connected else switch=not echo vga is not connected. # doing something else, maybe. fi done </code></pre><p><strong> upozornění: </strong> <em>lehčí než <code>xrandr</code>, ale ne nevýznamné</em> se zpožděním menším než <em>,02</em> sekund, bash skript půjde na začátek procesu jedlíci zdrojů (<code>top</code>)!</p><p>i když to stojí ~ 0,001 s:</p><pre><code>$ time read -a &lt;/proc/stat crtstat </code></pre><p>vyžaduje to ~ 0,030 s:</p><pre><code>$ read -a &lt; /proc/acpi/video/vid/crt0/state crtstate </code></pre><p>to je velké! takže v závislosti na tom, co potřebujete, lze <code>delay</code> rozumně nastavit mezi <code>0.5</code> a <code>2</code>.</p><h3>úprava # 2</h3><p>nakonec jsem něco našel:</p><p><strong> důležité vyloučení odpovědnosti: </strong> hraní s <code>/proc</code> a <code>/sys</code> záznamy mohou poškodit váš systém !!! takže na produkčních systémech nezkoušejte následující.</p><pre><code>mapfile watchfilelist &lt; &lt;( find /sys /proc -type f 2&gt;/dev/null | grep -i acpi\\\|i91 ) prompt=("/" "|" '\' '-'); l=0 while :; do mapfile watchstat &lt; &lt;( grep -h . ${watchfilelist[@]} 2&gt;/dev/null ) for ((i=0;i&lt;=${#watchstat[@]};i++)); do [ "${watchstat[i]}" == "${oldstat[i]}" ] || echo ${watchstat[i]} done oldstat=("${watchstat[@]}") sleep .5 printf "\r%s\r" ${prompt[l++]} [ $l -eq 4 ]&amp;&amp;l=0 done </code></pre><p>... po očištění nežádoucích záznamů:</p><pre><code>for ((i=0;i&lt;=${#watchfilelist[@]};i++)); do [[ "${watchfilelist[$i]}" =~ /sys/firmware/acpi/interrupts/sci ]] &amp;&amp; unset watchfilelist[$i] &amp;&amp; echo $i done </code></pre><p>to jsem dokázal přečíst:</p><pre><code>/proc/acpi/video/vid/crt0/state:state: 0x1d /proc/acpi/video/vid/crt0/state:state: 0x0d /proc/acpi/video/vid/crt0/state:state: 0x1d </code></pre><p>když připojím, odpojte a znovu zapojte kabel monitoru.</p><p>při dotazu na konfiguraci (spuštění <code>system/preferences/monitor</code> nebo <code>xrandr</code>), grafické karty udělají typ <em>scan</em>, takže běží <code>xrandr -q</code> vám dá informace, ale musíte zjistit stav.</p><p>prohledal jsem všechny protokoly (jádro, démona, x atd.) prohledávajícím <code>/proc</code> &amp; <code>/sys</code> a zjevně se zdá, že neexistuje nic, co by vyhovovalo vaší žádosti.</p><p>zkusil jsem to také:</p><pre><code>export spc50="$(printf "%50s" "")" watch -n1 ' find /proc/acpi/video -type f | xargs grep -h . | sed "s/^\([^:]*):/\1'$spc50'}:/; s/^\(.\{50\}\) *:/\1 /"' </code></pre><p>po tom všem, když spustíte <code>system/preferences/monitor</code> zatímco nebyla připojena žádná nová obrazovka ani odpojena, bude se nástroj zobrazovat jednoduše (normálně). ale pokud jste již dříve připojili nebo odpojili obrazovku, občas spustíte tento nástroj a uvidíte, že na ploše vytvoříte typ <em>reset</em> ​​nebo <em>obnovit</em> ​​(stejný pokud spustíte <code>xrandr</code>).</p><p>zdá se, že to potvrzuje, že tento nástroj požádá o <code>xrandr</code> (nebo pracuje stejným způsobem) pravidelným dotazováním na stav, počínaje okamžikem jeho spuštění.</p><p>můžete vyzkoušet sami:</p><pre><code>$ for ((i=10;i--;)); do xrandr -q | grep ' connected' | wc -l; sleep 1; done 1 1 1 2 2 2 1 1 1 1 </code></pre><p>tím se na 10 sekund zobrazí počet připojených obrazovek (displejů).</p><p>zatímco to běží, připojte a/nebo odpojte obrazovku/monitor a podívejte se, co se děje. takže byste mohli vytvořit malou testovací funkci bash:</p><pre><code>isvgaconnected() { local xrandr=$(xrandr -q) [ "$xrandr" == "${xrandr#*vga1 con}" ] || return 0 return 1 } </code></pre><p>který by byl použitelný jako v:</p><pre><code>$ if isvgaconnected; then echo yes; fi </code></pre><p>ale buďte opatrní, <code>xrandr</code> trvá asi <strong> 0,140 s do 0.200 s </strong>, zatímco na zástrčkách nedojde k žádné změně a do <strong> 0,770 sekund </strong> kdykoli něco bylo připojeno nebo odpojeno těsně před (<strong> poznámka: </strong> zdá se, že to není zdrojový zdroj).</p><h3>úprava # 1</h3><p>abych zajistil, že neučím něco nesprávného, ​​prohledával jsem web a dokumenty, ale nenašel jsem nic o <em>dbus and screens</em>.</p><p>nakonec jsem běžel ve dvou různých oknech <code>dbus-monitor --system</code> (hrál jsem také s možnostmi) a malý skript, který jsem napsal:</p><pre><code>$ for ((i=1000;i--;)); do isvgaconnected &amp;&amp; echo yes || echo no; sleep .5; done </code></pre><p>... a znovu zapojen, než odpojen monitor, mnohokrát. takže teď mohu říci:</p><ul> <li><em>v této konfiguraci <strong> pomocí ovladače i915 </strong> neexistuje jiný způsob, než spustit <code>xrandr -q</code> vědět, zda je monitor připojen nebo ne.</em></li> </ul><p>ale buďte opatrní, protože se nejeví jiné způsoby. například se zdá, že <code>xrandr</code> tyto informace sdílí, takže moje plocha gnome by se automaticky přepnula na <code>xinerama</code> automaticky ... <strong>, když jsem běžel <code>xrandr</code> </strong>.</p><h3>některé dokumenty</h3><ul> <li> <a href="https://wiki.archlinux.org/index.php/xrandr#toggle\_external\_monitor">skript pro přepínání interního/externího displeje pro notebooky</a> </li> <li> <a href="http://www.x.org/docs/intel/hd/ihd\_os\_vol\_3\_part4\_bjs.pdf">®intel hd graphics opensource programmer's reference manual</a> </li> </ul> <p>vyzkoušejte následující analogie: první z nich: „jak dlouho trvá, než usnete?“ „x minut“ „teď si představte, že když jste blízko, že usnete, někdo vejde dovnitř a přeruší vás, jak dlouho vám bude zaspávat teď? těch pár vteřin, co jste odešli, nebo budete muset začít znovu klesnout zpět na místo, kde jsi byl? “ „budu muset začít znovu.“ „skvělé. stejná věc. stejně jako zaspání mi chvíli trvá, než se„ ponořím “do zaostřovacího režimu, a chvíli mi trvá, než se k tomu vrátím, až budu přerušen, kromě toho také zapomínám na polovinu toho, co jsem dělal. “</p><p>druhá: „víte, jak čtete knihu, do které se do ní potopíte“ - po chvíli si už ani slova nevšimnete a zablokujete všechno kolem sebe a jste úplně ponořeni do mentálních obrazů vidíš." "ano." "jak dlouho trvá, než se tam dostaneš?" „asi x minut“ „teď si představte, že když jste tak ponořeni v knize, někdo vstoupí a přeruší vás, jak dlouho vám bude trvat, než se k tomu vrátíte? stane se to okamžitě, nebo budete muset začít znovu klesnout zpět na místo, kde jsi byl? “ "budu muset začít znovu." "skvělé. stejná věc. stejně jako u čtení, chvíli mi trvá, než se" potopím "do zaostřovacího režimu, je to stejně nepříjemné, když mě někdo z toho vytrhne, a to mě jen tak dlouho, až se k tomu vrátím, až budu přerušen, kromě toho, že také zapomenu polovinu toho, co jsem četl. “</p> <p>máte dobrý popis toho, jak smart pracuje na <a href="http://en.wikipedia.org/wiki/s.m.a.r.t.">wikipedia</a> . ale rychlé úvod:</p><ul> <li> <p>hodnota: jedná se o hrubou hodnotu, kterou hlásí řadič. obvykle je to snadno srozumitelná hodnota (jako je napájení v hodinách nebo teplota), ale někdy tomu tak není (jako četnost chyb při čtení). různí výrobci mohou pro tato data použít různé struktury a významy.</p> </li> <li> <p>normalized: toto je výše uvedená normalizovaná hodnota, takže vyšší hodnota je vždy lepší. míra čtení/chyb 114 je tedy lepší než 113. opět platí, že váš pevný disk převádí nezpracovaná data na normalizovanou hodnotu.</p> </li> <li> <p>nejhorší: nejhorší <em> normalizovaná </em> hodnota, kterou měl váš disk v minulosti (kde 99 je pravděpodobně tovární nastavení).</p> </li> <li> <p>prahová hodnota: když je <em> normalizovaná </em> hodnota <em> nižší </em> než tato hodnota, jednotka je pravděpodobně selže.</p> </li> </ul><p>zdá se tedy, že váš pevný disk je v pořádku. hodnota četnosti chyb při čtení není časem selhání jednotky, ale některé strukturou dat, která závisí na výrobci disku.</p> Ho přeinstaluj, molh se poškodit nějaký důležitý soubor, popřípadě nějaká nová aktualizace. Která se nestáhla, nebo stáhla ale chybně (např přerušením netu)

Na metina se vykšli, raději někde sosni WOW ![:)]( ":)") je to w podstatě to samé ale o 200% lepší ![:)]( ":)") Záleží hlavně na grafické kartě, tato hra vyžaduje minimálně: Nvidia 7900 256MB alebo ATI X1900 256MB.

Nicméně na grafických kartách v noteboocích nemusí fungovat korektně. Príčin může být spousta a zrejme to nebude mit souvislost z Duolingem. Zkuste se poptat nekde na forech, kde se resi hardwarove zalezitosti. <p>můžete restartovat <code>gnome-shell</code> stisknutím <kbd>alt</kbd>+<kbd>f2</kbd> a poté zadejte buď „<em>restart</em>“ nebo jen „<em>r</em>“ a stiskněte <kbd>enter</kbd>.</p><p>jinak jsem si všiml, že se automaticky obnoví <code>.desktop</code> soubory po chvíli čekání.</p> Půjde asi o nějaký pokus, co my na to. Mě (na webu) zmizela želva cca u poloviny cvičení. <p><em> aktualizovat: chrome 58+ skryl tyto a další ladicí zprávy ve výchozím nastavení. chcete-li je zobrazit, klepněte na šipku vedle položky „info&ldquo; a vyberte položku „verbose&ldquo;. </em></p><p><em> aktualizace 2: chrome 57 je ve výchozím nastavení zapnut. chcete-li je znovu zapnout, musíte povolit filtry a zrušit zaškrtnutí políčka „skrýt porušení&ldquo;. </em></p><blockquote> <p>najednou se objeví, když se do projektu zapojí někdo jiný</p> </blockquote><p>myslím, že je to více pravděpodobné, že jste aktualizovali na chrome 56. toto varování je (imo) báječná nová funkce - prosím, vypněte ji pouze v případě, že jste zoufalí a váš hodnotitel vás odtrhne. základní problémy jsou v jiných prohlížečích, ale prohlížeče vám neříkají, že je problém. vstupenka chromium je zde, ale na ní není žádná zajímavá diskuse: <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=662497">https://bugs.chromium.org/p/chromium/issues/detail?id=662497</a> </p><p>tyto zprávy jsou varování namísto chyb, protože to opravdu nebude způsobovat velké problémy. to může způsobit upuštění rámců nebo jinak způsobit méně hladký zážitek.</p><p>stojí za to prozkoumat a upevnit, aby se zvýšila kvalita vaší aplikace. způsob, jak toho dosáhnout, je věnovat pozornost okolnostem, ve kterých se zprávy zobrazují, a provádět testování výkonu, aby se zúžit, kde se problém vyskytuje. nejjednodušším způsobem, jak spustit testování výkonu, je vložit nějaký kód takto:</p><pre><code>function somemethodithinkmightbeslow() { const starttime = performance.now(); // do the normal stuff for this function const duration = performance.now() - starttime; console.log(`somemethodithinkmightbeslow took ${duration}ms`); } </code></pre><p>chcete-li být pokročilejší, můžete také použít profiler chrome: <a href="https://developers.google.com/web/tools/chrome-devtools/rendering-tools/">https://developers.google.com/web/tools/chrome-devtools/rendering-tools/</a> </p><p>nebo použijte knihovnu benchmarking, jako je tato: <a href="https://benchmarkjs.com/">https://benchmarkjs.com/</a> </p><p>jakmile najdete nějaký kód, který trvá dlouhou dobu (50 ms je práh chrome), máte několik možností:</p><ol> <li>vystřihněte některé z těchto úkolů, které mohou být zbytečné</li> <li>zjistěte, jak dělat stejný úkol rychleji</li> <li>rozdělte kód do několika asynchronních kroků</li> </ol><p>(1) a (2) může být obtížné nebo nemožné. ale někdy je to opravdu snadné a měly by to být vaše první pokusy. v případě potřeby by mělo být vždy možné (3). k tomu budete používat něco jako</p><pre><code>settimeout(functiontorunverysoonbutnotnow); </code></pre><p>nebo</p><pre><code>// this one is not available natively in ie, but there are polyfills available. promise.resolve().then(functiontorunverysoonbutnotnow); </code></pre><p>více o asynchronní povaze javascriptu si můžete přečíst zde:</p><p> <a href="http://blog.carbonfive.com/2013/10/27/the-javascript-event-loop-explained/">http://blog.carbonfive.com/2013/10/27/the-javascript-event-loop-explained/</a> </p> <p>obecně byste měli použít <code>kill</code> (zkratka pro <code>kill -s term</code> nebo na většině systémů <code>kill -15</code>) před <code>kill -9</code> (<code>kill -s kill</code>) dát cílovému procesu šanci na vyčištění po sobě. (procesy nemohou chytit nebo ignorovat <code>sigkill</code>, ale mohou a často to chytí <code>sigterm</code>.) pokud nedáte procesu šanci dokončit to, co dělá a vyčistit, je to může nechat poškozené soubory (nebo jiný stav) kolem, že nebude schopen pochopit, jakmile restartujete.</p><p><code>strace</code>/<code>truss</code>, <code>ltrace</code> a <code>gdb</code> jsou obecně dobré nápady, jak zjistit, proč je zaseknutý proces zaseknutý. (<code>truss -u</code> na systému solaris je zvláště užitečné; <code>ltrace</code> příliš často předkládám argumenty pro volání z knihovny v nepoužitelném formátu.) solaris má také užitečné <code>/proc</code>- založené nástroje, z nichž některé byly přeneseny do linuxu. (<code>pstack</code> je často užitečný).</p>