發表文章

目前顯示的是 2月, 2019的文章

程式設定/遊戲紀錄可能位置, program setting/game save folder

不在程式同目錄的話,可能的位置 (可能會有公司名前置) 系統變數參考 https://ss64.com/nt/syntax-variables.html %USERPROFILE% %USERPROFILE%\Documents %USERPROFILE%\AppData 下三個目錄內 %appdata% (就是 %USERPROFILE%\AppData\Roaming) %LOCALAPPDATA%  (就是 %USERPROFILE%\AppData\LocalLow) %LocalAppData%\VirtualStore (少見,通常是安裝在系統目錄的舊程式,不支援UAC的) 也有可能不以檔案形式保存,使用 registry Win + R -> regedit HKEY_CURRENT_USER\Software HKEY_LOCAL_MACHINE\SOFTWARE (通常是不分使用者帳號共用的,整台機器的設定才會在這)

電腦配備選擇CPU, 顯卡GPU, RAM

更新 2019/11/16 只以主流產品和遊戲使用分析,由於產品名稱和代號會改變只提供一般性原則 (懶得隨產品更新),一般所說CP值較好的主流產品約在該系列/該代中間區段,可根據預算做上下修正,或想 玩遊戲/使用程式 的需求調整。 CPU/GPU溫度過高時會自動降低頻率(效能會下降)或關閉部分功能,以減少熱量產生來降溫保護元件,好的散熱可以讓元件在高負載下維持性能。選購時,要注意耗電較高的一般溫度也較高。一般只標示 TDP ,雖然不是使用的電量,一般TDP高的耗電也比較高。 比較產品優劣時,除了最常看的效能排名外,也可以看能源效率,通常標記為每瓦(Watt)效能 CPU Intel CPU和主機板都比較貴,而且腳位常更換,升級或損壞更換比較困難 AMD 都比較便宜,CPU腳位比較不常更換,新舊CPU/主機板間相容性較高 同等效能AMD較便宜,耗電量也不像顯卡品牌差異那麼大 CPU效能排名可用 CPU tier去google tomshardware的排名 https://www.tomshardware.com/reviews/cpu-hierarchy,4312.html 筆電下 mobile CPU tier https://www.notebookcheck.net/Mobile-Processors-Benchmark-List.2436.0.html 下面選項建議調整 Show only notebook CPUs Process(nm) 顯示卡 (GPU是顯示卡核心晶片) 同樣晶片的卡,在用料上有差異造成價差 (散熱,還有板子上的其他元件) 選擇上除了遊戲fps及跑分數字以外,還要看其他功能,例如: 硬體加速(解碼)能用更有效率播放高壓縮的影片檔,如果不支援就得用CPU做軟體解碼 Nvidia 價錢較貴,耗電較低溫度低穩定性較高,硬體壓縮Nvenc比AMD好太多,要實況只推薦Nvidia AMD 比較便宜耗電高溫度高,穩定性和壽命相對較低。考慮電費 + 必需使用更大功率的電源供應器,不推薦,除非有促銷才值得考慮。 遊戲用: Nvidia整體花費可能差不多,使用體驗比較好 應用程式上的表現,AMD跑分比較優秀 (同等級顯卡) 實際的選擇還是要看用途去找評測決定 顯卡效能排名可用 GPU tier去g

混插頻率/速度不同記憶體, mix different clock memory

圖片
組電腦的時候ram太貴 + 搞錯以為2666是超頻買了Micron Crucial 2400 8G一條 使用上太吃緊了,降價後補上一條Micron Crucial 2666 8G一條 買前確認過2666的會寫入較低頻率的SPD資訊 (確保相容性能開機) 使用的軟體 CPU-Z, SIV64(64位元版本)好像都是免費軟體 看兩條記憶體的SPD資訊 同一條記憶體運作需要的時間 (latency/clock) ,在不同頻率下很接近,假設為相同就好了 無修正時開機,bios會抓全部中latency最大的數字以保證相容性,效能會降低 因為latency比較大是在較高clock下,較低clock時可以跑較低latency數 分子不變下,分母的clock變低,運作時間就變長 去bios把數值調成和2400的單條使用時相同,回復效能 (假設2666在2400下應該能跑到同樣的latency,非超頻的JEDEC標準記憶體應該都能相容JEDEC低頻率標準) 如果沒記各條的數值,可以直接參考SPD填入 (比較新的主機板在bios內也可以看SPD) 簡單說就是設定成全部記憶體中頻率最慢那條的數值 tRC不知為何單條2400時抓到56的數值,SPD是寫55 (自動比SPD多1) 調成55使用了一段時間,似乎系統有機會不穩定 改回56,這好像是AMD的限制? 必須是偶數,反正55, 56效能差別很小,就讓系統決定吧 SPD好像有更詳細的其他資訊,bios裡面都是auto,沒有寫抓到多少 主要參數都修正了,剩下懶得自己調整,也許會損失一點效能吧

Win10 虛擬桌面, virtual desktop

可把相關的程式放在不同桌面,方便管理 可惜桌面上的檔案/目錄/連結是共用的 實況軟體 (ex: OBS) 只能擷取非最小化的視窗,放在虛擬桌面也可以被抓到,同時不影響主桌面,可以放點歌的播放器,或是實況的dashboard https://support.microsoft.com/en-us/help/4028538/windows-10-multiple-desktops https://www.howtogeek.com/197625/how-to-use-virtual-desktops-in-windows-10/ 圖形介面的用法看上面 記錄一下常用的熱鍵 Win + Tab  Task View,可管理各個桌面,如果只有一個桌面就會顯示全部程式 Win + Ctrl + D 開新桌面 Win + Ctrl + F4 關桌面 Win + Ctrl + 左/右 切換桌面

安裝OpenAL installation

OpenAL是3D聲音的函式庫,沒安裝有些遊戲會不能玩,或是缺少部分聲音效果 https://en.wikipedia.org/wiki/OpenAL 先安裝OpenAL SI(sample implementation) 下載OpenAL 1.1 Windows Installer (zip),解開執行安裝 https://www.openal.org/downloads/ 安裝OpenAL Soft (要先安裝上面的才有作用,算是延伸功能) 下載檔案 (Win32 and Win64 binaries are also provided下面 -bin.zip的那個檔) https://www.openal-soft.org/#download 解開後把對應目錄的dll檔案複製進Windows的資料夾 (只提供64位元系統安裝法) bin\Win32 複製到 %SystemRoot%\SysWOW64 bin\Win64 複製到 %SystemRoot%\System32

Is it possible to store the address of a label in a variable and use goto to jump to it?

http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html https://stackoverflow.com/questions/6421433/address-of-labels-msvc gcc有,MSVC不支援 只想拿來給switch case用 與其用enum存再switch,不如直接存address用goto,或許會稍微快一點? 沒研究過CPU branch prediction和indirect branch怎麼做的,無法確定 function pointer也能達成類似的效果,可是function call cost應該比較高

long path on win10

https://blogs.msdn.microsoft.com/jeremykuhne/2016/07/30/net-4-6-2-and-long-paths-on-windows-10/ 舊的 MAX_PATH 好像是260字的限制 真的會需要解放那麼長的path嗎? 有些壓縮檔解開後,有很多層目錄,檔名又長的,就會需要 https://www.howtogeek.com/266621/how-to-make-windows-10-accept-file-paths-over-260-characters/

NightBot 設定,關掉過濾連結和符號

全部設定都可以在網頁上修改 只列出幾個新手會困擾的設定 關掉擋連結 !filters links disable 關掉擋符號,顏文字之類的會被擋 !filters symbols disable 如果要打開就把disable改成enable 如果要修改指令,建議還是用網頁介面比較方便