Project1

标题: 如何優化事件執行防卡? [打印本页]

作者: duzine    时间: 2016-2-25 13:54
标题: 如何優化事件執行防卡?
本帖最后由 duzine 于 2016-2-25 13:57 编辑

如題

我的遊戲目前運用了大量的公共事件做並行處理
並且每隔一段時間會針對原設計進行優化

目前多數公共事件使用上了分支條件這一功能
無論是光影變化,依時辰切換BGM等等,都是採用並行處理

不過這樣的功能愈加精細,遊戲幀數自然也降低了許多
我想,這是我寫法的功力不足所致

想請教有沒有更好的處理方法?
可以不用讓系統來回偵測條件,資源消耗更少的方法?

例如成就系統

殺害敵人數有變數紀錄

分支條件就是不斷掃描大於這個變數就獲得某些成就
該如何修改成更有效率的方法?



圖中僅僅是我複雜設計中最簡單的應用
基本上都是要求自己以最精簡的設計完成
但是執行方式依然笨拙,就是不斷的浪費系統資源去用條件式偵測
作者: 冷峻逸    时间: 2016-2-25 19:06
提示: 作者被禁止或删除 内容自动屏蔽
作者: CFRoo    时间: 2016-2-26 11:30
同问,因为对脚本的无力,还在学习中。。。
现在也是用大量 公共事件,来完成一些事情。。。也有楼主这种设计,杀敌数获得称号成就。。。。
作者: duzine    时间: 2016-2-26 12:08
腳本我也是緩步學習中

想試著應用and not or xor 之類的判斷來降低系統負擔,不過也不清楚怎麼做
希望有優化高手能夠造福大眾出來教兩手XD
作者: howhow1314    时间: 2016-2-26 23:10
沒看懂

可以解釋一下40號開關是用來幹嘛的嗎? 既然你沒提到就假設你沒其他地方有用到這開關了

兩個問題..

首先, 為什麼要先打開開關再去加"擊殺行屍數"這麼別扭…

再來, 既然你用了開關, 怎麼不把公共事件的條件開關設成40號開關?

還有就是, 既然你都用腳本了, 怎麼還要用一半事件呢, 完全就不是用事件比較方便的情況…
作者: duzine    时间: 2016-2-26 23:58
howhow1314 发表于 2016-2-26 23:10
沒看懂

可以解釋一下40號開關是用來幹嘛的嗎? 既然你沒提到就假設你沒其他地方有用到這開關了

抱歉我少解釋一部分設定,是這樣的,我有一個共同開關用來同步每個事件系統並行處理
然後開關40是我設定當怪物被殺死時會開啟的開關
每殺死一次就計算一次
作者: duzine    时间: 2016-2-27 00:00
腳本也需要觸發才能使用
事件只是最簡單的觸發方式,要用公共事件自動觸發
我只能弄出這東西了
作者: howhow1314    时间: 2016-2-27 00:35
duzine 发表于 2016-2-26 23:58
抱歉我少解釋一部分設定,是這樣的,我有一個共同開關用來同步每個事件系統並行處理
然後開關40是我設定 ...

意思是這公共事件的條件開關已經被佔用了?

我想說的是, 你這樣並不是每殺死一次計算一次 (除非你指的計算只包含"擊殺行屍數 += 1")

如果說條件開關真的被佔用了, 你光是把下面一大串都放進前面的條件分歧裡就好得多了 … (不然完全看不懂你用開關有什麼用, 直接動變量不就行?)
除非你除了這公共事件以外, 還有其他地方會動到4號變量…

腳本也需要觸發才能使用
事件只是最簡單的觸發方式,要用公共事件自動觸發
我只能弄出這東西了


好吧, 我真的沒看懂

我就不管你, 自說自的好了

你在你打開40號開關的地方, 把打開40號開關改成調用腳本, 不是簡單的多嗎





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1