Habe gerstern mal eine Leistungsmessung des Pythoncodes der Scoreboardanzeige gemacht. Man konnte immer mehr feststellen, dass dieser wirklich im Spiel anstieg. Am Anfang machte die Berechnung nur 2 ms aus und später dann 551 ms wie unten zu sehen. Eine halbe Sekunde ist schon arg langsam und sollte bei einer sequenziellen Ausführung wie bei Civ 4 auch verlangsamen. Man kann gut sehen, dass zur Hälfte das Feature verantwortlich ist, dass man die Reihenfolge einstellen kann der Anzeige und zum anderen die Wertfeststellung an sich.
Code:
15948 function calls (15938 primitive calls) in 0.551 CPU seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.275 0.275 0.283 0.283 Scoreboard:356(draw)
1 0.225 0.225 0.551 0.551 CvMainInterface:5283(updateScoreStrings)
55 0.010 0.000 0.010 0.000 AttitudeUtil:108(getAttitudeString)
22 0.008 0.000 0.016 0.001 PlayerUtil:441(isWHEOOH)
414 0.004 0.000 0.004 0.000 BugOptions:326(exists)
411 0.004 0.000 0.004 0.000 configobj:300(_interpolate)
1 0.002 0.002 0.002 0.002 Scoreboard:346(hide)
24 0.002 0.000 0.002 0.000 Scoreboard:529(gatherVassals)
42 0.002 0.000 0.002 0.000 DealUtil:52(playerDeals)
414 0.002 0.000 0.014 0.000 BugOptions:614(getValue)
170 0.002 0.000 0.002 0.000 Scoreboard:571(sortKey)
35 0.002 0.000 0.002 0.000 DiplomacyUtil:44(canContact)
272 0.002 0.000 0.002 0.000 Scoreboard:313(_set)
291 0.002 0.000 0.004 0.000 configobj:764(as_bool)
620 0.002 0.000 0.002 0.000 PlayerUtil:261(matchPlayerOrTeam)
369 0.002 0.000 0.004 0.000 PlayerUtil:203(players)
55 0.002 0.000 0.002 0.000 BugUtil:167(getText)
229 0.002 0.000 0.002 0.000 PlayerUtil:66(getPlayer)
414 0.002 0.000 0.012 0.000 BugOptions:1106(getRealValue)
1 0.000 0.000 0.000 0.000 BugUtil:569(_log)
1242 0.000 0.000 0.004 0.000 configobj:335(__getitem__)
21 0.000 0.000 0.000 0.000 Scoreboard:301(_getContactWidget)
41 0.000 0.000 0.000 0.000 DealUtil:250(findTypes)
1 0.000 0.000 0.000 0.000 BugUtil:481(__init__)
16 0.000 0.000 0.000 0.000 Scoreboard:224(setScoreDelta)
21 0.000 0.000 0.000 0.000 Scoreboard:251(setPower)
1 0.000 0.000 0.000 0.000 BugUtil:524(time)
1 0.000 0.000 0.002 0.002 Scoreboard:333(gatherVassals)
1 0.000 0.000 0.000 0.000 :0(setprofile)
291 0.000 0.000 0.000 0.000 :0(lower)
21 0.000 0.000 0.000 0.000 :0(ord)
22 0.000 0.000 0.000 0.000 PlayerUtil:166(getActivePlayerID)
13 0.000 0.000 0.000 0.000 Scoreboard:269(setBorders)
414 0.000 0.000 0.000 0.000 BugOptions:623(getAndOptionValue)
460 0.000 0.000 0.000 0.000 Scoreboard:200(getTeamScores)
45 0.000 0.000 0.000 0.000 BugOptions:552(equals)
35 0.000 0.000 0.006 0.000 TradeUtil:129(canTrade)
1 0.000 0.000 0.000 0.000 GameUtil:133(isEspionage)
1 0.000 0.000 0.002 0.002 Scoreboard:184(__init__)
13 0.000 0.000 0.000 0.000 Scoreboard:272(setEmbassy)
1 0.000 0.000 0.002 0.002 Scoreboard:337(sort)
24 0.000 0.000 0.000 0.000 Scoreboard:546(__init__)
21 0.000 0.000 0.000 0.000 BugDll:88(widgetVersion)
414 0.000 0.000 0.000 0.000 BugOptions:329(getSection)
2132 0.000 0.000 0.000 0.000 :0(isinstance)
24 0.000 0.000 0.000 0.000 Scoreboard:203(addPlayer)
24 0.000 0.000 0.000 0.000 Scoreboard:500(__init__)
1 0.000 0.000 0.002 0.002 :0(sort)
55 0.000 0.000 0.000 0.000 AttitudeUtil:103(hasAttitude)
22 0.000 0.000 0.000 0.000 PlayerUtil:91(getTeam)
32 0.000 0.000 0.000 0.000 BugUtil:193(colorText)
218 0.000 0.000 0.000 0.000 :0(range)
17 0.000 0.000 0.000 0.000 Scoreboard:568(isActive)
30 0.000 0.000 0.000 0.000 PlayerUtil:179(getActiveTeamID)
1 0.000 0.000 0.000 0.000 BugUtil:520(running)
24 0.000 0.000 0.000 0.000 Scoreboard:521(addPlayer)
24 0.000 0.000 0.000 0.000 Scoreboard:233(setName)
81 0.000 0.000 0.000 0.000 PlayerUtil:535(playerCities)
85 0.000 0.000 0.000 0.000 :0(cmp)
193 0.000 0.000 0.000 0.000 PlayerUtil:242(teams)
1 0.000 0.000 0.000 0.000 Scoreboard:318(assignRanks)
48 0.000 0.000 0.000 0.000 Scoreboard:562(isVassal)
21 0.000 0.000 0.000 0.000 Scoreboard:264(setTrade)
27 0.000 0.000 0.000 0.000 BugOptions:527(get)
1 0.000 0.000 0.002 0.002 DealUtil:73(findDealsByPlayerAndType)
27 0.000 0.000 0.000 0.000 BugOptions:654(getColor)
85 0.000 0.000 0.002 0.000 Scoreboard:340(<lambda>)
21 0.000 0.000 0.000 0.000 AttitudeUtil:383(getWorstEnemyTeam)
24 0.000 0.000 0.000 0.000 Scoreboard:221(setScore)
511 0.000 0.000 0.000 0.000 :0(get)
1 0.000 0.000 0.000 0.000 BugUtil:507(stop)
21 0.000 0.000 0.000 0.000 BugDll:85(widget)
1 0.000 0.000 0.000 0.000 :0(findall)
0 0.000 0.000 profile:0(profiler)
8 0.000 0.000 0.000 0.000 PlayerUtil:519(getNumRevealedCities)
131 0.000 0.000 0.002 0.000 PlayerUtil:139(getPlayerAndTeam)
1 0.000 0.000 0.000 0.000 BugUtil:542(log)
24 0.000 0.000 0.000 0.000 Scoreboard:230(setID)
70 0.000 0.000 0.002 0.000 configobj:806(as_int)
55 0.000 0.000 0.002 0.000 BugUtil:160(getPlainText)
22 0.000 0.000 0.000 0.000 :0(has_key)
3 0.000 0.000 0.000 0.000 Scoreboard:261(setEspionage)
1 0.000 0.000 0.000 0.000 BugUtil:496(start)
1 0.000 0.000 0.000 0.000 BugUtil:488(reset)
68 0.000 0.000 0.000 0.000 PlayerUtil:116(getPlayerTeam)
1 0.000 0.000 0.000 0.000 sre.py:159(findall)
1 0.000 0.000 0.000 0.000 CvUtil:134(write)
35 0.000 0.000 0.000 0.000 ColorUtil:82(keyToType)
2 0.000 0.000 0.000 0.000 Scoreboard:208(size)
21 0.000 0.000 0.000 0.000 Scoreboard:281(setAttitude)
22 0.000 0.000 0.000 0.000 Scoreboard:242(setNumCities)
600 0.000 0.000 0.000 0.000 Scoreboard:581(has)
23 0.000 0.000 0.000 0.000 DealUtil:183(getID)
2 0.000 0.000 0.000 0.000 :0(clock)
10 0.000 0.000 0.000 0.000 Scoreboard:526(addVassal)
14 0.000 0.000 0.000 0.000 DealUtil:274(getOtherPlayer)
16 0.000 0.000 0.000 0.000 DealUtil:268(__init__)
55 0.000 0.000 0.000 0.000 FontUtil:171(replaceSymbols)
276 0.000 0.000 0.000 0.000 Scoreboard:565(getID)
548 0.000 0.000 0.000 0.000 Scoreboard:584(value)
1 0.000 0.000 0.000 0.000 BugUtil:269(log)
55 0.000 0.000 0.000 0.000 :0(sub)
1 0.000 0.000 0.000 0.000 BugUtil:253(debug)
70 0.000 0.000 0.002 0.000 BugOptions:349(getInt)
16 0.000 0.000 0.000 0.000 DealUtil:276(getCount)
466 0.000 0.000 0.000 0.000 :0(find)
26 0.000 0.000 0.000 0.000 Scoreboard:304(_getDealWidget)
15 0.000 0.000 0.000 0.000 Scoreboard:254(setResearch)
7 0.000 0.000 0.000 0.000 Scoreboard:278(setReligion)
3 0.000 0.000 0.000 0.000 :0(reverse)
1 0.000 0.000 0.000 0.000 BugUtil:296(logToFile)
25 0.000 0.000 0.000 0.000 DealUtil:228(getCount)
126 0.000 0.000 0.000 0.000 PlayerUtil:82(getPlayerAndID)
198 0.000 0.000 0.000 0.000 Scoreboard:140(smallText)
25 0.000 0.000 0.000 0.000 BugOptions:354(getFloat)
291 0.000 0.000 0.008 0.000 BugOptions:344(getBoolean)
56 0.000 0.000 0.000 0.000 PlayerUtil:74(getPlayerID)
22 0.000 0.000 0.000 0.000 AttitudeUtil:364(isWorstEnemy)
6 0.000 0.000 0.002 0.000 Scoreboard:239(setWHEOOH)
24 0.000 0.000 0.000 0.000 :0(setdefault)
14 0.000 0.000 0.000 0.000 PlayerUtil:513(getNumCities)
22 0.000 0.000 0.000 0.000 DealUtil:232(getTrade)
27 0.000 0.000 0.000 0.000 BugOptions:493(isColor)
77 0.000 0.000 0.000 0.000 DealUtil:237(trades)
23 0.000 0.000 0.000 0.000 :0(len)
21 0.000 0.000 0.000 0.000 BugDll:59(isVersion)
28 0.000 0.000 0.000 0.000 BugOptions:339(getString)
56 0.000 0.000 0.012 0.000 DiplomacyUtil:66(isWillingToTalk)
21 0.000 0.000 0.000 0.000 BugUtil:204(formatFloat)
1 0.000 0.000 0.000 0.000 :0(asctime)
22 0.000 0.000 0.000 0.000 Scoreboard:212(setAlive)
55 0.000 0.000 0.000 0.000 BugDll:53(isPresent)
22 0.000 0.000 0.000 0.000 GameUtil:153(isOCC)
22 0.000 0.000 0.004 0.000 PlayerUtil:495(canSeeCityList)
313 0.000 0.000 0.000 0.000 Scoreboard:576(set)
25 0.000 0.000 0.000 0.000 configobj:828(as_float)
34/24 0.000 0.000 0.000 0.000 Scoreboard:512(rank)
22 0.000 0.000 0.000 0.000 PlayerUtil:162(getActivePlayer)
14 0.000 0.000 0.000 0.000 DealUtil:280(getTrade)
5 0.000 0.000 0.000 0.000 Scoreboard:287(setWorstEnemy)
1 0.000 0.000 0.000 0.000 :0(upper)
205 0.000 0.000 0.000 0.000 Scoreboard:587(widget)
169 0.000 0.000 0.000 0.000 :0(append)
1 0.000 0.000 0.000 0.000 sre.py:213(_compile)
1 0.000 0.000 0.000 0.000 :0(replace)
41 0.000 0.000 0.000 0.000 DealUtil:181(__init__)
24 0.000 0.000 0.000 0.000 Scoreboard:194(addTeam)
22 0.000 0.000 0.000 0.000 PlayerUtil:175(getActiveTeam)
58 0.000 0.000 0.000 0.000 Scoreboard:518(isVassal)
10 0.000 0.000 0.000 0.000 DealUtil:226(getOtherPlayer)
27 0.000 0.000 0.000 0.000 BugOptions:728(getType)
1 0.000 0.000 0.551 0.551 profile:0(<function updateScoreStrings at 0x04FF09B0>)
42 0.000 0.000 0.000 0.000 :0(unichr)
22 0.000 0.000 0.000 0.000 PlayerUtil:188(getActivePlayerAndTeam)
342 0.000 0.000 0.014 0.000 BugOptions:519(get)