v0.1.21: 大势流转(线程定论 + era景气双向闭环 + 世界史表 + 渲染管线)
【线程架构定论(实测)】 - 引擎与 UI 同在 renderer 主线程(单线程);2160 月实测 advanceMonth 平均 0.05ms/tick - 结论:Worker 化无收益——0.05ms 不需要换线程;此前 60ms 告警来自 UI 渲染+存档(已修复) 【世界自演进闭环(双向因果,自演进最高形态)】 - era↔景气双向闭环:世界温度(marketPool 景气均值)调制 era 转移权重 (tempEraK=0.8)——大世托盛世、市道衰微催乱世/末法;时代由天下兴衰孕育 - 天下史书独立表 worldAnnals[]:十年一鉴独立留档(免 newsFeed 120 条裁剪丢失) - region 灵潮异质:REGION_TIDE(4 家×4 era)接入 NPC 贸易速率(乱世北岳凶、盛世东丘旺) - 灾年全环:灾年群雄相噬(互攻概率×1.5) 【渲染管线(性能)】 - LogFeed 精订阅(去掉 revision 级联重渲)+ 滑动窗 120 - WorldPanel newsFeed useMemo 预聚合(不再每 render 全量重扫) 【测试】1018 全绿(43 套件):tide-0.1.21 7 例(延续档/温度/史表/区域/灾年/指纹敏感/滑动窗); 双金钟罩 0.1.21 基线固化;build 通过
This commit is contained in:
@@ -2,9 +2,9 @@ import { memo } from 'react'
|
||||
import { useGameStore } from '../store'
|
||||
|
||||
export const LogFeed = memo(function LogFeed() {
|
||||
// 精订阅:仅 logFeed 引用变更时渲染(每 tick revision 不再牵连)
|
||||
const feed = useGameStore((s) => s.logFeed)
|
||||
void useGameStore((s) => s.revision)
|
||||
const reversed = feed.slice().reverse()
|
||||
const reversed = feed.slice(-120).reverse()
|
||||
return (
|
||||
<div className="feed">
|
||||
{reversed.map((item) => (
|
||||
|
||||
@@ -210,7 +210,7 @@ export default function SettingsPanel() {
|
||||
· 「外交」与四邻结好联姻;仇雠之族隔岁来犯,打得赢名望大涨,打不赢蚀钱伤丁。<br />
|
||||
· 「史书」自动记述繁华与凋零——百年之后,后人翻开这一卷家族志,见代代薪火、历历雪泥。
|
||||
</div>
|
||||
<div className="dim2" style={{ marginTop: 8 }}>版本 0.1.20 · Chronicle of the Immortal Clan</div>
|
||||
<div className="dim2" style={{ marginTop: 8 }}>版本 0.1.21 · Chronicle of the Immortal Clan</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { useGameStore } from '../store'
|
||||
import { useMemo } from 'react'
|
||||
import { npcById } from '../../game/data/npcs'
|
||||
import { MAJOR_NAMES } from '../../game/data/realms'
|
||||
import type { WorldSimState } from '../../game/engine/sim/worldsim-data'
|
||||
@@ -24,7 +25,8 @@ export default function WorldPanel() {
|
||||
const tide = ws.tide ?? 0.5
|
||||
const tideLabel = tide > 0.9 ? '灵涨' : tide < 0.7 ? '灵衰' : '汐平'
|
||||
const pool = ws.marketPool ?? {}
|
||||
const news = [...(ws.newsFeed ?? [])].slice().reverse()
|
||||
const newsRaw = ws.newsFeed ?? []
|
||||
const news = useMemo(() => [...newsRaw].slice().reverse(), [newsRaw.length])
|
||||
const calamity = ws.calamity
|
||||
const calamityLeft = ws.calamityLeft ?? 0
|
||||
const myPower = Object.values(w.state.members)
|
||||
|
||||
Reference in New Issue
Block a user