看板 PC_Shopping 關於我們 聯絡資訊
讓我用在大學時學到的東西嘴一下好了? 有什麼問題 大家在嘴我? ※ 引述《c52chungyuny (intel inside)》之銘言: : 我常常在想多工跟多核概念應該不同吧 : 多工是單核心(或多核心)應用好幾個在跑 多工 是很早很早就存在的概念 就算你啥都沒幹,電腦上會同時跑許多程式 電腦不可能讓A程式通通跑完 才執行B程式 多工的目標就是有效率把CPU的工作有效率的分配給每個程式,讓他們輪流執行 在單核心時期,大家都把程式寫在一個thread上就好 CPU 工作分配是OS的工作,用量大的自然會分配比較多的CPU時間 : 多核是一個軟體寫的很好可以一次把好幾個線程吃滿 到了多核心時代OS 一樣分配著他的工作,但是他不可能把一個工作同時分配給兩個核心 工作,所以才出現了 軟體要針對多核心優化的議題, 如何有效率地把工作,分配給多個thread 分散處理,成了工程師的目標 這就是大家說的 多核優化 : 好了重點來了 : 電蝦多工最愛用遊戲+實況比較 : 6C對多工應用可能真的有差 : 畢竟是Windows會幫忙把工作平行丟到不同核上 : 但是對多核心應該應該就沒差了吧 : 軟體寫的好就是直接整個核心吃到滿 軟體寫得好 不是會讓整個核心吃到滿,是可以平均的把工作分配給所有核心 玩遊戲會把核心吃滿,就代表你CPU 不夠強,要買新的 如果CPU用30%的時間就可以滿足你的需求,那何必搞到100% ? : 你HT SMT來都變成浮雲 : 我比叫納悶的是大家都說遊戲「多核」優化變好了 : 多核優化變好那應該核心全部吃滿 : 然後HT SMT變為浮雲 : 如果還要加一堆後台實況 跑轉碼 : 代表遊戲還是沒有核心全部吃滿囉? : 那多6T有啥差別 : HT又不是實體核心?? 因為優化越好,是分散的越好不論幾個T 你都可以很有效率的把工作平均分配下去 吃不吃滿 是OS 看你的程式需不需要 身為一個資深阿宅 通常都是 瀏覽器開個幾十個分頁,手遊旁邊掛著 然後再開遊戲玩,在RAM CPU 不夠之前 ,我都不會把程式關閉的 這樣切換的時候才不會需要等待阿 : ----- : Sent from JPTT on my Samsung SM-N950F. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.112.90 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1562909594.A.FBD.html
arrenwu : 你的多工指的是 time-sharing ? 07/12 13:34
pupuliao : 對阿 多工 這需求 在電腦發明一開始就存在了 07/12 13:36
arrenwu : 喔 我會這樣問是因為一般人提到多工常常講的是同時 07/12 13:36
arrenwu : 開很多應用程式 07/12 13:36
pupuliao : 這對OS本來來說是一樣的 07/12 13:38
xiemark : 現在很多遊戲的核心是用Intel的C compiler編譯的 07/12 13:39
pupuliao : 這個CPU上的計算效率 跟 多工 多核 沒關係 07/12 13:40
cbab3610 : 推解釋 07/12 13:40
pupuliao : 作業系統 自己會把工作平均分配給CPU 07/12 13:40
pupuliao : 但要如何分配 就是要看每個工程師的功力了 07/12 13:41
c52chungyuny: 我以為最好的分配是 4個100%不是八個50% 07/12 13:46
c52chungyuny: 畢竟多核定義就是讓他看起來好像一連串彼此互相支援 07/12 13:52
c52chungyuny: 的單核心電腦 那才是多核本意 07/12 13:52
pupuliao : 不 對工程師來說 能分成8 thread 速度就是4thread 07/12 13:53
pupuliao : 的兩倍效率 07/12 13:53
Ekmund : 實際上OS也沒辦法"平均"分配 一個thread離開kernel 07/12 13:54
Ekmund : 的機制就擺在那 但那條T會吃多重?什麼場景情況下 07/12 13:54
Ekmund : 它會爆棚或idle?這跟製作人設計的遊戲機制和SA/RD 07/12 13:54
Ekmund : 設計的架構都有關係 07/12 13:54
pupuliao : 所以我說 如何有效率分配 考驗遊戲工程師功力 07/12 13:54
Ekmund : 不會剛好兩倍啦 context switch 07/12 13:56
kaj1983 : 使用者習慣比較重要,這篇就是需要資源很多的範例 07/12 15:41
kaj1983 : 現在講的多工根本不是機器的那種多工,而是使用者不 07/12 15:43
kaj1983 : 想關掉應用程式 07/12 15:44
雖說習慣很重要 但實際上 背景工作的程式其實也越來越多了 你會發現 越來越多程式在你關閉後,還是會留個常駐程式 方便你再次使用時快速啟動,或是有啥消息及時通知你 我想表達的是,不論是這些常駐程式,還是同時做多件事 本質上都是多工 所以頂多因為習慣不同 多工多寡的不同 至少從我父母這種 只會文書處理跟 瀏覽網頁的人來說 開始列上開啟的程式也是越來越多了
jacky18008 : 8thread的效率不一定是4thread的兩倍吧,就算每個t 07/12 16:19
jacky18008 : hread的任務彼此獨立好了,加上I/O的時間就會讓它 07/12 16:19
jacky18008 : 不是剛好兩倍 07/12 16:19
是的 兩倍是理論上的最佳狀態 實際狀態不可能 通俗上容易理解就是這樣說 實際上因為多現成造成的效能減損,就真的是各家功力 以小弟工作來說,因為不太在意這部分,我們都是直接把thread 一路開上去 XD ※ 編輯: pupuliao (220.134.112.90 臺灣), 07/12/2019 17:06:03