「通用進階核心」:修訂間差異
Chunghwamc(留言 | 貢獻) 無編輯摘要 |
Chunghwamc(留言 | 貢獻) 無編輯摘要 |
||
(未顯示由 2 位使用者於中間所作的 7 次修訂) | |||
第1行: | 第1行: | ||
'''通用進階核心架構''' (英語:Universal Advanced Core,縮寫:'''UAC'''),是一個用在 Java 語言的底層核心架構。架構的特色就是「發揮硬體本身的真正 | '''通用進階核心架構''' (英語:Universal Advanced Core,縮寫:'''UAC'''),又稱'''架構'''、 '''UAC 架構'''、'''超級架構''',是一個用在 Java 語言的底層核心架構。架構的特色就是「發揮硬體本身的真正效能」,'''使用更少的資源'''(如'''使用的記憶體 8G -> 1G''' )來'''達到更好的效能'''(如 '''FPS 10 -> 100''')。 | ||
== 緣由 == | == 緣由 == | ||
[[檔案:106-07-14 VisualGC.jpg|縮圖|開發第一代時的監控畫面。]] | [[檔案:106-07-14 VisualGC.jpg|縮圖|開發第一代時的監控畫面。]] | ||
架構的開發始於[[106年]][[7月14日]],原因來自於[[中華麥塊]][[106年]]2月至6月多次出現 LAG、卡頓。當時主機使用 | 架構的開發始於[[106年]][[7月14日]],原因來自於[[中華麥塊]][[106年]]2月至6月多次出現 LAG、卡頓。當時主機使用 i7-2600K (OC 4.6GHz) + 16G RAM 投入伺服器+SSD。硬體規格優秀,但是實際狀況卻不理想,就在7月開始著手研究,14日成功開發第一代 UAC 架構。 | ||
== 使用目標 == | == 使用環境與目標 == | ||
=== 環境 === | |||
適合用於: | |||
* 原味生存 | |||
* 模組生存 | |||
* 生電 | |||
* 小遊戲 | |||
=== 目標 === | |||
以下為經過官方測試有效且穩定使用的。 | 以下為經過官方測試有效且穩定使用的。 | ||
* Ultralight MIDI Player | * Ultralight MIDI Player | ||
* bluemap-cli | |||
* Minecraft 伺服器 | * Minecraft 伺服器 | ||
第17行: | 第28行: | ||
*# purpur | *# purpur | ||
*# folia | *# folia | ||
*# deerfolia | |||
*# luminol | |||
*# forge | *# forge | ||
*# fabric | *# fabric | ||
*# kcauldron | |||
*# thermos | |||
*# crucible | |||
*# bungeecord | |||
*# velocity | |||
* Minecraft 遊戲 | * Minecraft 遊戲 | ||
*# vanilla | *# vanilla | ||
第27行: | 第45行: | ||
=== '''第一代 UAC''' === | === '''第一代 UAC''' === | ||
開發於[[106年]]7月, | 開發於[[106年]]7月,使用 i7-2700K (OC 4.6GHz) + 16G RAM 卻仍不理想進而開發,以更大量的記憶體為代價消除了 GC 的問題。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第40行: | 第58行: | ||
==== 缺點 ==== | ==== 缺點 ==== | ||
# 極高的資源消耗(例如你要給伺服 | # 極高的資源消耗(例如你要給伺服器 8G 記憶體,那你就要給他 25G 才能使用)。 | ||
# 只能使用在 Java 7。 | # 只能使用在 Java 7。 | ||
# 無法使用在玩家上。 | # 無法使用在玩家上。 | ||
=== '''第二代 UAC''' === | === '''第二代 UAC''' === | ||
開發於[[106年]]10月, | 開發於[[106年]]10月,隨著 UAC 的誕生後解決了效能問題,但高昂的記憶體使用量也給了不少的麻煩。因此重新平衡,犧牲些效能來讓記憶體用量得以控制在較少的量。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第66行: | 第84行: | ||
=== '''第三代 UAC''' === | === '''第三代 UAC''' === | ||
開發於[[107年]]2月,成功開發的重要幫助者:ELA_SCP。 | 開發於[[107年]]2月,成功開發的重要幫助者:ELA_SCP。鑑於[[中華麥塊]]的地圖越來越大,建築越來越多,玩家的電腦也逐漸不堪負荷,使得 FPS 下滑。按照前兩代的開發經驗,從玩家的角度出發設計了第三代。調整成適合短期爆發的模式,讓遊戲得以變順。因此只要玩家不掛機就能讓遊戲變得順暢許多。並且也讓資源消耗降低,原版甚至可以只給遊戲 512M 記憶體就能順暢玩。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第87行: | 第105行: | ||
=== '''第四代 UAC''' === | === '''第四代 UAC''' === | ||
開發於[[107年]]7月,成功開發的重要幫助者:Zygarde。 | 開發於[[107年]]7月,成功開發的重要幫助者:Zygarde。該玩家使用 Ultralight MIDI Player 時遇上了效能問題,因此量身訂造。著重在 GC 的最佳化,在 Ultralight MIDI Player 上有很好的效果之後帶回 Minecraft 做二次調整。因此伺服器與玩家皆能使用,本次的 GC 最佳化甚至一直沿用到了最新代仍在使用,效果非常良好。惟這代使用在玩家上時會偶爾卡一下。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第111行: | 第129行: | ||
=== '''第五代 UAC''' === | === '''第五代 UAC''' === | ||
開發於[[107年]]12月,成功開發的重要幫助者:Rumia。 | 開發於[[107年]]12月,成功開發的重要幫助者:Rumia。該玩家由於有大量的 WorldEdit 使用需求,卻遇上了效能問題,因此特別針對 WorldEdit 最佳化。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第132行: | 第150行: | ||
=== '''第六代 UAC''' === | === '''第六代 UAC''' === | ||
開發於[[107年]]12月, | 開發於[[107年]]12月,將一些圖形細節相關的計算給顯卡處理,進而提昇 FPS。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第153行: | 第171行: | ||
=== '''第七代 UAC''' === | === '''第七代 UAC''' === | ||
開發於[[108年]]1月, | 開發於[[108年]]1月,將更多圖形細節相關的計算給顯卡處理,進而再提昇 FPS。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第173行: | 第191行: | ||
=== '''第八代 UAC''' === | === '''第八代 UAC''' === | ||
開發於[[108年]]2月,成功開發的重要幫助者:夜子。 | 開發於[[108年]]2月,成功開發的重要幫助者:夜子。本次大刀闊斧的針對編譯器做調整,但由於 Java 本身架構的因素,也導致了程式變重起來了。這門學問也深奧到日後的版本幾乎都跟編譯器調整有關。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第197行: | 第215行: | ||
=== '''第九代 UAC''' === | === '''第九代 UAC''' === | ||
開發於[[108年]]3月,成功開發的重要幫助者:草莓龍。 | 開發於[[108年]]3月,成功開發的重要幫助者:草莓龍。這次針對魔法金屬做調整,試圖改善模組的效能。對於模組來說帶來了強大的效能,但相對於前代來說,用於原版時效能較差。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第221行: | 第239行: | ||
=== '''第十代 UAC''' === | === '''第十代 UAC''' === | ||
開發於[[108年]]4月,成功開發的重要幫助者 | 開發於[[108年]]4月,成功開發的重要幫助者:[[njes9701]]。由於紅石生存遇上了效能問題,進而開發了這代的架構。鑑於這時候的紅石生存常有蓋錯要回檔的情形,而採取加快啟動的時間來加快這個領域的研究。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第246行: | 第264行: | ||
=== '''第十一代 UAC''' === | === '''第十一代 UAC''' === | ||
開發於[[108年]]5月, | 開發於[[108年]]5月,在上一代的基礎下,試圖以增加資源消耗為代價強化效能,來讓 MSPT 降低。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第269行: | 第287行: | ||
=== '''第十二代 UAC''' === | === '''第十二代 UAC''' === | ||
開發於[[108年]]6月,成功開發的重要幫助者:狼犬。 | 開發於[[108年]]6月,成功開發的重要幫助者:狼犬。本次接獲了跨國百人聯合活動的支援,進而開發。由於需要應對更多玩家,還是跨國的,因此再調整成效能導向形式。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第293行: | 第311行: | ||
=== '''第十三代 UAC''' === | === '''第十三代 UAC''' === | ||
開發於[[108年]]7月,成功開發的重要幫助者:ChenBill。 | 開發於[[108年]]7月,成功開發的重要幫助者:ChenBill。隨著經驗的累積,持續提昇效能的同時也開始逐漸精簡化資源的使用,讓資源消耗程度回歸前幾代的程度。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第315行: | 第333行: | ||
=== '''第十四代 UAC''' === | === '''第十四代 UAC''' === | ||
開發於[[109年]]8月,成功開發的重要幫助者:森博八鉛太。 | 開發於[[109年]]8月,成功開發的重要幫助者:森博八鉛太。由於活動的多樣性,面對了效能衝擊,因此瞬間的壓力衝擊勢不可擋。以減慢開啟的速度為代價,加強運作中的效能。同時也減少了一點資源的消耗,讓更多的資源能運用在真正需要的地方。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第335行: | 第353行: | ||
# 提升效能。 | # 提升效能。 | ||
# 減少資源消耗。 | # 減少資源消耗。 | ||
=== '''第十五代 UAC''' === | === '''第十五代 UAC''' === | ||
開發於[[111年]]4月,成功開發的重要幫助者:LWCJacky(小捷)。 | 開發於[[111年]]4月,成功開發的重要幫助者:LWCJacky(小捷)。高版本的模組生存已經是不一樣的環境,因此需要針對新版本做調整。採用前一代的基礎做適應調整。 | ||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第356行: | 第375行: | ||
# 支援 Java 17。 | # 支援 Java 17。 | ||
# 支援 Minecraft 1.17(+)。 | # 支援 Minecraft 1.17(+)。 | ||
=== '''第十六代 UAC''' === | === '''第十六代 UAC''' === | ||
開發於[[112年]]9月,是為了[[中華麥塊]]跨超大版本的升級而開發的。 | |||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
# | # Minecraft 伺服器。 | ||
==== 優點 ==== | ==== 優點 ==== | ||
# | # 不錯的資源消耗表現。 | ||
# 優秀的效能。 | |||
==== 缺點 ==== | ==== 缺點 ==== | ||
# | # CPU 使用率較高。 | ||
==== 改變 ==== | ==== 改變 ==== | ||
# | # 專注於 Minecraft 1.20。 | ||
=== '''第十七代 UAC''' === | === '''第十七代 UAC''' === | ||
開發於[[113年]]6月,成功開發的重要幫助者:ruo1012。由於 Java 21 的更改緣故,因此又需要針對新版本做調整。 | |||
==== 適用對象 ==== | ==== 適用對象 ==== | ||
第383行: | 第405行: | ||
==== 優點 ==== | ==== 優點 ==== | ||
# | # 不錯的資源消耗表現。 | ||
# 優秀的效能。 | |||
==== 缺點 ==== | ==== 缺點 ==== | ||
# | # CPU 使用率較高。 | ||
==== 改變 ==== | ==== 改變 ==== | ||
第393行: | 第416行: | ||
# 支援 Java 21。 | # 支援 Java 21。 | ||
# 支援 Minecraft 1.21(+)。 | # 支援 Minecraft 1.21(+)。 | ||
=== '''第十八代 UAC''' === | |||
[[檔案:114-02-11 VisualGC.webp|替代文字|縮圖|十八代時的監控畫面。]] | |||
開發於[[114年]]1月,Java 21 + Minecraft 1.21.4 + Folia + 17th UAC 的組合有適應不良的情形,因此需要重新調整來讓使用這個組合時穩定下來。 | |||
==== 適用對象 ==== | |||
# Minecraft 伺服器。 | |||
==== 優點 ==== | |||
# 不錯的資源消耗表現。 | |||
# 不錯的效能。 | |||
==== 缺點 ==== | |||
# MSPT 比起前代較高。 | |||
==== 改變 ==== | |||
# 降低資源消耗。 |