發表文章

目前顯示的是有「optimization」標籤的文章

遊戲FPS和螢幕畫面更新率(Refresh Rate), VSync, G-Sync, FreeSync, Adaptive Sync

圖片
2022/8/19 更新 顯卡輸出畫面的速度(遊戲的FPS) 和顯示器更新的速度不同會有問題 顯卡較快: 畫面撕裂 (Screen Tearing) 及浪費資源 (frame無法全部顯示在螢幕上,顯卡和CPU用量增加更耗電,溫度較高,加快壽命耗損) 顯卡較慢: 畫面不順 我的第一張顯卡,在沒限制FPS的情況下,玩遊戲兩天燒掉,換新貨 (應該是劣質品) 影片畫面可參考 https://sites.google.com/view/twmonitors/%E7%9B%B8%E9%97%9C%E7%9F%A5%E8%AD%98/gsync-freesync 有以下四種解決方案 1. 無特殊硬體 (螢幕及顯卡) V-Sync犧牲顯卡的輸出去配合螢幕的速度 或No-Sync不限制 (可減少畫面延遲),建議限制比螢幕高的FPS (到一個數值後再提高就很難感到差異,可是消耗更多資源去運算,不值得) 怎麼設比較好? 要看個人體驗 在60的螢幕上,我用的設定是兩倍=120 (根據螢幕和個人感覺調整) 下面兩種可動態調整更新速度,解決上面的問題 (需要支援的顯卡和螢幕) 會稍微提高latency (應該是不影響體驗的程度?) 螢幕可能要打開variable refresh的選項 (free-sync/g-sync,設定的名字不一定) 遊戲設定記得要關掉VSync(垂直同步),FPS限制關掉或大於等於螢幕,否則沒效 2. G-Sync Nvidia專利,原生支援的螢幕比較貴 (必須向Nvidia購買G-Sync模組) 因為支援FreeSync的螢幕比較多,所以Nvidia決定修改驅動程式,讓顯卡能夠透過軟體使用G-Sync在只支援FreeSync的螢幕上 (效果應該比原生硬體支援G-Sync差?) 要購買FreeSync螢幕,建議先查詢能不能和G-Sync相容 Nvidia的認證清單,沒列的是未達標準,請自行上網查詢看要不要買 https://www.nvidia.com/en-us/geforce/products/g-sync-monitors/specs/ 支援的介面只有DisplayPort(DP) 1.2 以後 聽說用HDMI使用 Adaptive-Sync 是AMD的專利,NV不能用 (未確認) 開啟方法 ...

優化網路設定,TCP Optimizer

SG TCP Optimizer https://www.speedguide.net/downloads.php 執行時要用系統管理者 因為乙太網路mtu是1500,PPPoE會消耗掉8byte,實際能用來傳送資料的只有1492 設太大上是無法傳送的,會錯誤或幫你切割重組封包減少mtu重送,造成效能降低,非固定制需要PPPoE 打帳號密碼的 mtu要改1492 (透過modem硬體撥號的也一樣) 把PPPoE的選項打勾即可 電腦直接PPPoE的,Windows預設mtu是1480,應該可以調高到1492 上面有一條網路速度的,可以根據你的網速調整 其他設定懶得看的應該直接選Optimal就好了 (怕出問題的就只改上面兩個就好) 如果你想自己調,可看Optimal和Default值比較,再看說明了解差異 有些選項會減少latency,也減少throughput (希望遊戲低延遲可以開,否則不建議) 改完後按Apply changes會提示重開機,重開後生效 更新網路驅動後需要重新修改 Linux下修改mtu (看你用哪個介面) Android也是類似 (需要root) 下面是暫時的修改法,永久修改需要去改設定檔,因系統而異 ifconfig wlan0 mtu 1492 ifconfig eth0 mtu 1492 部分應用程式也可以指定mtu VLC

改成 Message Signaled Interrupts(MSI) 減少latency 提高顯卡效能

圖片
說明/介紹 https://en.wikipedia.org/wiki/Message_Signaled_Interrupts https://forums.guru3d.com/threads/windows-line-based-vs-message-signaled-based-interrupts.378044/ https://www.reddit.com/r/GlobalOffensive/comments/3q0d3u/a_little_help_for_performance_issues_on_cs_go/ MSI工具程式 https://github.com/CHEF-KOCH/MSI-utility 原來源好像死了備份連結 https://mega.nz/#!U9cChaYa!QnqyHutZFvkFHiZ1gDELcvqz_efDdGFYSXI2uTFtRbE 好像是新的Interrupt方式,Nvidia的卡driver預設沒有打開,AMD的聽說有 舊的是 line-based interrupts 打開後會稍微降低延遲,提高效能 使用方式用管理者執行,把要開的裝置MSI打勾就行了,設定完按Apply重開機 如果裝置不支援,有可能無法開機,請先備份系統或是先確認裝置有支援 好像開不了機可以按F8選上次的設定開進來 ? 建議測試確認開啟前後的差異,再決定要不要使用 有些裝備開了反而效能會降低 (因為不支援?) IRQ顯示為負值的就是已經用MSI mode運作中了 我只把顯卡打開,其他都是預設值 重裝過driver,可能需要再打開一次 其他可以開MSI的driver 網路和音效 controller 

更新驅動程式 bios, driver

圖片
Windows不一定會幫你更新,建議自己更新 Windows版本更新(ex: 1709->1803)好像是新安裝系統,會把驅動都換回內建的,要重裝 驅動程式/bios更新通常會解決問題 (提高效能/安全性,修正錯誤,提高穩定性) 我會建議先觀望幾天,不要剛釋出就更新來使用,等別人試過沒有大問題 更新完建議重開機比較保險,才能確保系統正常運作 驅動程式比較需要更新的有顯示卡,主機板晶片組(chip set) 看晶片是哪一牌的就找哪一家 (AMD, Nvidia, Intel ...etc) bios需要更新的有顯示卡,主機板 找硬體製造商 (ASUS, Giga-byte, MSI ...etc) 更新主機板bios可能會連帶更新到CPU microcode (修正CPU運作問題,效能或bug) 據說realtek的音效卡驅動有可能造成系統卡住,建議更新吧 不會找的人可以用程式來幫忙,google "driver updater" http://lmgtfy.com/?q=driver+updater 我自己沒在用,無法推薦哪套好用 Chipset影響主機板上chip的穩定性和效能,通常也建議更新,效能影響沒有顯卡driver大 AMD的顯卡和chipset驅動都能在這下載 https://www.amd.com/en/support 裝完B350 chipset後,電源多一個設置 (AMD Ryzen特化的電力/效能平衡設定) Nvidia的顯卡驅動 https://www.nvidia.com.tw/Download/index.aspx 一般是選Game Ready Driver,如果你要拿來做影像/3D創作就可以用Studio Driver,兩個優化方向不一樣 在某一版win10後,建議使用DCH driver (Nvidia說法是效能一樣) Nvidia的安全性相關公告 (看得懂的人就不會都不更新driver) https://www.nvidia.com/security/ 論壇,會有hotfix driver (先修正一些重大錯誤,不像正常driver測試那麼完善) https://www.nvidia.com/en-us/geforce...

Game capture: 遊戲擷取 限制擷取速率, Limit capture framerate

圖片
懶人包 遊戲要限制FPS,否則會無意義消耗較多資源 ,遊戲和實況品質都可能被影響 Limit capture framerate哪時候該開? 遊戲FPS是OBS內設定FPS的兩倍,建議打開 想讓OBS使用較少資源 詳細的解說和做法在下面,如果你已經知道要怎麼做或沒興趣可以不用看 有些太技術細節沒看懂也沒關係,不用完全懂就能選擇適合的設定 遊戲FPS太高 對螢幕和硬體的影響以前寫過了 https://craftwarblog.blogspot.com/2019/01/fpsrefresh-rate-vsync-g-sync-freesync.html 應該比較省資源的game capture會比其他方式消耗資源 遊戲FPS是120,obs每秒就會更新畫面120 frames obs輸出FPS是60時(實況或錄影),會有 120 - 60  = 60 的frames被obs丟掉沒有使用 其他擷取方式應該是依照obs FPS抓畫面,沒有這個問題 game source(hook)的機制是在遊戲更新畫面時,遊戲複製一份給OBS的game source game source預設會用兩倍的速度去讀取拿到的frame (理由上面圖片Jim講了) 沒限制遊戲FPS,上面兩個動作的次數都會增加,提高系統負擔 OBS合成畫面時是根據Settings->Video的FPS (總共有三個不同的FPS) OBS有打算修改game source相關FPS機制,不知道哪時候會開工就是了 因為這個問題不會造成非常嚴重的結果,有迴避方法在 沒限制遊戲FPS,算是使用者自己的問題 === 目前 21.1.2 game capture 擷取畫面的頻率是依照遊戲的FPS 不是依照obs內的FPS設定 沒開選項是遊戲兩倍 好像是討論到144Hz display, OBS FPS60的情況 (Discord討論出現的內容) 我下面寫的是否該開啟選項的原則沒有改變 資料來源 https://obsproject.com/mantis/view.php?id=1241 Limit capture framerate選項的功能,並不是類似V-sync把擷取頻率限制為obs內的FPS 是把更新的頻率減半 ...

osu! 設定 畫面不順 FPS低,實況無畫面, compatibility mode, obs crash

圖片
最根本的原因是螢幕刷新速度不夠,買個144的螢幕吧 如果螢幕沒問題,該注意設定 測試新設定,把FPS上限調成螢幕兩倍(120)中,不用VSync 改120 FPS好像有比vsync好打(畫面更新較快,比較多時間可以反應),雖然tearing會出現 osu!似乎有個bug? 也許是我顯卡driver的問題? 開VSync下,沒開compatibility mode (會用opengl跑) FPS會只跑30/60,怪不得我玩的時候都覺得畫面不順 總之打開FPS顯示確認一下右下角寫多少吧 解法是打開 compatibility mode 或是FPS限制不要用VSync 如果FPS夠,還是不順(感覺畫面不連續) 可以把 Reduce dropped frames 打開看看 上面各選項組合測試出最適合自己的設定吧 我視窗下遊戲的設定是 1600X900,fullscreen mode沒開 V-sync +  Reduce dropped frames  (測試結果比 60FPS + Reduce dropped frames好) 改設定檔 osu!.[username].cfg 設定FPS,就會多一個選項60FPS可以選 username是你系統使用者帳號的名字 CustomFrameLimit = 60 如果你的螢幕更好,可以改到更高 (最大調到螢幕限制),60打osu是稍微不夠用的 為啥不提供在遊戲中輸入FPS的介面呢? compatibility mode沒開是用opengl跑 (opengl和obs相容性可能有問題) 打開會切換成DirectX OBS會當掉的也可以考慮嘗試切換DirectX看看 換成 compatibility mode 後,FPS數值可跑到60/60 實際體驗也有比較順,有問題的人可以調整一下 有人些會搞不清楚osu!到底是用哪種模式運行 建議使用game capture時,視窗和全螢幕的選項都試試看 我會打開這個選項 (我多數是日文ACG的圖,可以換日文顯示)

Firefox/Chrome extension: Youtube audio_only 只放聲音(supoort NightBot)

圖片
Firefox Chrome (2018/01/25 11-12的發票中了 200,兌現承諾上傳Chrome) Edge不會有,除非有人要donate我買開發者帳號 (想用得自己用開發者功能裝) github https://github.com/craftwar/youtube-audio 讓youtube只接收音樂的部份,沒影片省流量省資源省電 (save resource, cpu, gpu and battery) 點歌功能只要是從youtube放的都適用  (ex: NightBot的autoDJ) 用法很簡單,點圖示切換狀態,黑白為關閉狀態 我是用多個瀏覽器,一個固定打開,只想放音樂時用那個開 配合autoplay無限放當電台用? 如果不需用youtube的autoplay,可以用foobar2000播 需要裝這個component https://fy.3dyd.com/ (不是我寫的,也沒opensource,風險自行負責) 贊助連結 https://payment.allpay.com.tw/Broadcaster/Donate/83D029B697E779BF68E3243D8830CB97 基於 Youtube audio 改寫的 Firefox版的也是改別人的(而且只改文字描述部分),放上源頭 https://github.com/Ashish-Bansal/audio-only-youtube 本來只是想加nightbot支援,後來發現code太濫,忍不住就重寫了 改寫太多,變成我的code比較多,乾脆發佈成自己的作品了 順便做些個人偏好的調整 完全是根據原作品改寫,所以我很多東西不知道 和原版程式碼相比,減少一半行數 Edge支援 M$的開發者帳號更貴阿要$19 (本來想發edge的好貴就算了,兩張發票都買不起) about:flags 中打開也能load https://docs.microsoft.com/en-us/microsoft-edge/extensions/guides/adding-and-removing-extensions ==== dev note 簡單講原理就是youtube裡面本來就有audio on...