「通用進階核心」:修訂間差異

無編輯摘要
無編輯摘要
 
(未顯示由 2 位使用者於中間所作的 6 次修訂)
第1行: 第1行:
'''通用進階核心架構''' (英語:Universal Advanced Core,縮寫:'''UAC'''),又稱 '''UAC 架構'''、'''超級架構''',是一個用在 Java 語言的底層核心架構。架構的特色就是「發揮硬體本身的真正實力(效能)」,'''使用更少的資源'''(如'''使用的記憶體 8G -> 1G''' )來'''達到更好的效能'''(如'''幀數 FPS 10 -> 100''')。
'''通用進階核心架構''' (英語: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、卡頓。當時主機使用 I7-2700K (OC 4.6GHz) + 16G RAM 投入伺服器+SSD。硬體規格優秀,但是實際狀況卻不理想,就在7月開始著手研究,14日成功開發第一代 UAC 架構。
架構的開發始於[[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月,成功開發的重要幫助者:Kanade
開發於[[106年]]7月,使用 i7-2700K (OC 4.6GHz) + 16G RAM 卻仍不理想進而開發,以更大量記憶體為代價消除了 GC 的問題


==== 適用對象 ====
==== 適用對象 ====
第40行: 第58行:
==== 缺點 ====
==== 缺點 ====


# 極高的資源消耗(例如你要給伺服器8G記憶體,那你就要給他25G才能使用)。
# 極高的資源消耗(例如你要給伺服器 8G 記憶體,那你就要給他 25G 才能使用)。
# 只能使用在 Java 7。
# 只能使用在 Java 7。
# 無法使用在玩家上。
# 無法使用在玩家上。


=== '''第二代 UAC''' ===
=== '''第二代 UAC''' ===
開發於[[106年]]10月,成功開發的重要幫助者:Kanade
開發於[[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月,成功開發重要幫助者:Kanade
開發於[[107年]]12月,將一些圖形細節相關計算給顯卡處理,進而提昇 FPS


==== 適用對象 ====
==== 適用對象 ====
第153行: 第171行:


=== '''第七代 UAC''' ===
=== '''第七代 UAC''' ===
開發於[[108年]]1月,成功開發重要幫助者:Kanade
開發於[[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月,成功開發的重要幫助者:njes9701
開發於[[108年]]4月,成功開發的重要幫助者:[[njes9701]]。由於紅石生存遇上了效能問題,進而開發了這代的架構。鑑於這時候的紅石生存常有蓋錯要回檔的情形,而採取加快啟動的時間來加快這個領域的研究


==== 適用對象 ====
==== 適用對象 ====
第246行: 第264行:


=== '''第十一代 UAC''' ===
=== '''第十一代 UAC''' ===
開發於[[108年]]5月,成功開發重要幫助者:Kanade
開發於[[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。
開發於[[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 比起前代較高。
==== 改變 ====
# 降低資源消耗。