五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【Godot 筆記】既然用 C# 又何必囿于 gdscript?

2023-04-16 17:04 作者:SpriteSword  | 我要投稿

????????之前從 gdscript 轉(zhuǎn)到用 C#,還一直用 gdscript 的寫法,自己寫的類仍然是繼承自 Godot.Object 和 Godot.Reference,數(shù)組也只用 Godot.Collections.Array。后來(lái)實(shí)驗(yàn)發(fā)現(xiàn)這不是很好的選擇。

1 對(duì)比實(shí)驗(yàn)

????????實(shí)驗(yàn)的容器有2個(gè),分別是 System.Collections.Generic.List 與 Godot.Collections.Array,容器內(nèi)裝的對(duì)象分別繼承自 Godot.Object、Godot.Reference 和 System.Object,則排列組合共6種情況。比較的算法框架如下:

2 實(shí)驗(yàn)結(jié)果

2.1 容器為 Godot.Collections.Array

1、容器元素為 Godot.Object

2、容器元素為 Godot.Reference

3、容器元素為 System.Object

報(bào)錯(cuò):

E 0:00:01.738 ? mono_object_to_variant_impl: Attempted to convert an unmarshallable managed type to Variant. Name: 'NumSysObj' Encoding: 18.

? <C++ 錯(cuò)誤> ? ? ?Method failed. Returning: Variant()

? <C++ 源文件> ? ? modules/mono/mono_gd/gd_mono_marshal.cpp:1124 @ mono_object_to_variant_impl()

? <棧追蹤> ? ? ? ? :0 @ Int32 Godot.Collections.Array.godot_icall_Array_Add(IntPtr , System.Object )()

? ? ? ? ? ? ? ? Array.cs:173 @ Int32 Godot.Collections.Array.Add(System.Object )()

? ? ? ? ? ? ? ? Array.cs:531 @ void Godot.Collections.Array`1[[NumSysObj, Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].Add(NumSysObj )()

? ? ? ? ? ? ? ? 不使用內(nèi)置類型.cs:43 @ void 不使用內(nèi)置類型.TestGdArraySysObj()()

? ? ? ? ? ? ? ? 不使用內(nèi)置類型.cs:33 @ void 不使用內(nèi)置類型._Input(Godot.InputEvent )()


2.2 容器為 System.Collections.Generic.List

1、容器元素為 Godot.Object

2、容器元素為 Godot.Reference

3、容器元素為 System.Object

3 結(jié)論

? ? ? ? System 的 List 與 Godot 的 Array 大體相同,除了 Godot 的 Array 的元素一定要是 Godot 內(nèi)置的類型。

????????繼承自 Godot.Object 的對(duì)象不會(huì)垃圾回收,符合預(yù)期。

????????繼承自 Godot.Reference 的對(duì)象沒(méi)有如同在 gdscript 里那樣馬上回收(在 gdscript 中,監(jiān)視器的 Objects 曲線是水平直線),而且比繼承自 System.Object 的對(duì)象的回收頻率低。在本例中,Godot.Reference 是大概每十余萬(wàn)個(gè)對(duì)象回收一次,而 System.Object 是大概每4千個(gè)對(duì)象回收一次。不懂,既然 Godot 是 C++ 寫的,那怎么 Reference 到了 C# 就不能馬上回收呢?

????????所以用 C# 就不必用 Godot.Reference 和 Godot 的 Array 了。既然用了 C# 又何必囿于 gdscript?


【Godot 筆記】既然用 C# 又何必囿于 gdscript?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
星座| 福鼎市| 昌都县| 天台县| 天镇县| 屯昌县| 清苑县| 马龙县| 文安县| 革吉县| 珲春市| 沙河市| 乐平市| 富裕县| 潜山县| 都匀市| 射阳县| 新津县| 绥滨县| 盐亭县| 安多县| 杂多县| 武威市| 家居| 汉寿县| 贡觉县| 张家口市| 寻甸| 武平县| 伊川县| 宁强县| 靖边县| 双牌县| 巴塘县| 即墨市| 昌图县| 武川县| 垦利县| 湖州市| 闻喜县| 铁岭县|