Ganz ehrlich - ob jetzt 1 bit oder oder 16 Bit belegt werden sollte auf Skyrim-Fähigen Rechnern keinen Unterschied mehr machen.
Tatsächlich wird für boolean mehr als 1 Bit im Speicher belegt.
Wieviel genau kann ich dir nicht sagen - aber meines Wissens nach lässt sich RAM nicht Bitweise Adressieren.
Lange Rede, kurzer Sinn: Es macht keinen Unterschied.
Bei kleinen Projekten hast du natürlich recht, aber bei wirklich großen Projekten kann das durchaus die Performance und vor allem den Speicherbedarf beeinflussen.
Da die globalen Variablen in den save-dateien gespeichert werden und es in Skyrim bei großen save-Dateien eh ein Problem gibt will ich das möglichst gering halten. Zumal ich auch mit OnUpdateGameTime() arbeite, das regelmäßige Berechnungen anstellt...
Bei einer Mod alleine macht das sicher noch nichts aus, aber es werden im Laufe der Zeit immer mehr und größere Mods auf der Platte => größere Save-Files + mehr registrierte On(single)Update -Events => mehr Berechnungen. Einige Leute haben schon mit Skyrim alleine Performance Probleme...
Wenn ich die Möglichkeit dazu habe ohne Mehr-Aufwand einen besseren Code zu schreiben, warum sollte ich das nicht tun?
bool 1 bit
[TD="class: yellow"]byte
[/TD]
[TD="class: yellow"]8 bit[/TD]
[TD="class: yellow"]-2[SUP]7[/SUP] .. 2[SUP]7 [/SUP]-1 entspricht -128 ... 127
[/TD]
[TD="class: yellow"]short
[/TD]
[TD="class: yellow"]16 bit
[/TD]
[TD="class: yellow"]2[SUP]15[/SUP] .. 2[SUP]15 [/SUP]-1 entspricht -32768 ... 32767
[/TD]
[TD="class: yellow"]int[/TD]
[TD="class: yellow"]32 bit[/TD]
[TD="class: yellow"]-2[SUP]31[/SUP] .. 2[SUP]31 [/SUP]-1 entspricht -2147483648 ... 2147483647[/TD]
[TD="class: yellow"]long[/TD]
[TD="class: yellow"]64 bit[/TD]
[TD="class: yellow"]-2[SUP]63[/SUP] .. 2[SUP]63 [/SUP]-1 entspricht -9223372036854775808 ... 9223372036854775807
[/TD]
So etwas erreichst Du mit
Casten. Würde also so aussehen:
Code:
bool Var = PlayerIsCool.GetValueInt() as bool
Ok, danke! Das wollte ich wissen. Jetzt kann meine Variable auch nur noch 2 Zustände haben (true / false)
🙂
Aber sie hat immernoch min. 16 bit - keine Möglichkeit kleinere Globals zu erstellen oder?