Alles anzeigenDu hast hier einen string quasi, der 2000 Indizes belegt.
Das entspricht 2000 * 4 Byte = 8.000 Byte = 8kb die du da allozierst.
Das geht aber auch mit 600. Somit würdest du (600 * 4 Byte = 2.400 Byte = 2.4kb) 5.6kb sparen.
Das kann schon performanz technisch was aus machen.
Dann kann man hier noch strcat nutzen, welches den String befüllt und zwar sehr schnell und effizient und am Ende nur ein format macht.
So sieht das dann ordentlich aus:
Cnew DialogString[600]; strcat(DialogString,"{FFFFFF}Linie 1: LS Stadtlinie 1 {33AA33}(%d){FFFFFF}, ab Skill 0\n"); strcat(DialogString,"{FFFFFF}Linie 2: LS Stadtlinie 2 {33AA33}(%d){FFFFFF}, ab Skill 2\n"); strcat(DialogString,"{FFFFFF}Linie 3: LS Stadtlinie 3 (East) {33AA33}(%d){FFFFFF}, ab Skill 3\n"); strcat(DialogString,"{FFFFFF}Linie 4: LS-SF {33AA33}(%d/5){FFFFFF}, ab Skill 4\n"); strcat(DialogString,"{FFFFFF}Linie 5: SF-LS {33AA33}(%d/5){FFFFFF}, ab Skill 4\n"); strcat(DialogString,"{FFFFFF}Linie 6: SF Stadtlinie 1 {33AA33}(%d/5){FFFFFF}, ab Skill 6\n"); strcat(DialogString,"{FFFFFF}Linie 7: SF Stadtlinie 2 {33AA33}(%d/5){FFFFFF}, ab Skill 7\n"); strcat(DialogString,"{FFFFFF}Linie 8: SF-LV {33AA33}(%d/5){FFFFFF}, ab Skill 8\n"); format(DialogString,sizeof(DialogString),DialogString, linie[0], linie[1], linie[2], linie[3], linie[4], linie[5], linie[6], linie[7]);
wenn du wirklich noch mehr sparen willst brauchst ud eig nur 540 ca.