五月天青色头像情侣网名,国产亚洲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ó)家法律
贵阳市| 鱼台县| 尚志市| 郧西县| 台中市| 基隆市| 盐源县| 清苑县| 乐业县| 津南区| 偃师市| 新和县| 吉林市| 潼南县| 历史| 通化县| 资溪县| 汶川县| 突泉县| 娄底市| 察雅县| 和田市| 安新县| 延川县| 夏河县| 曲水县| 文昌市| 南漳县| 施秉县| 天长市| 内乡县| 曲松县| 普洱| 稷山县| 崇文区| 溧水县| 永清县| 轮台县| 眉山市| 冷水江市| 黄梅县|