I updated my iMac to Snow Leopard (10.6) over the weekend. (I would have gone straight to Lion but there doesn't seem to a be a direct upgrade path from 10.5 to 10.7.)
After the upgrade the issue with DT hanging has gone away. Now reading the dwarves takes only a couple of seconds in a 45-dwarf fortress. I haven't tried to diagnose the change but perhaps a library update is the reason.
Hi,
Thanks so much for all the work you do to make DT runnable on the Mac! I wouldn't be able to play DF without it.
I am seeing a problem with v0.6.11 on my iMac running 10.5.8 (I know, I know). I am running the latest version of Dwarf Fortress (0.31.25).
When my fortress is young DT runs perfectly: fast and accurate. After a certain point, though, it starts to have problems. Whenever it reads the dwarf information (on startup, after labor changes are committed or when the "Read Dwarves" button is pressed) it slows right down, to the point of hanging the system:
- DT itself becomes non-responsive.
- Dwarf Fortress also becomes non-responsive, or almost so.
- My Mac slows right down: the mouse responds very sluggishly to movement and the UI is very, very slow to switch tasks or highlight the correct icon in the dock.
After 90 seconds or so things start working again.
I had associated this behavior with the size of the fortress: it seemed always to happen when my population hit around 30. But looking at run.log suggests it starts with the creation of squads:
2012-Jan-07 12:35:08.265 DEBUG core loading creatures from "0x013965d4" "0x013965d4" (UNCORRECTED) [../taylorfisher-1/src/dfinstance.cpp:287] (load_dwarves)
2012-Jan-07 12:35:08.265 DEBUG core dwarf race index "0x0137dfbc" "0x0137dfbc" (UNCORRECTED) [../taylorfisher-1/src/dfinstance.cpp:289] (load_dwarves)
2012-Jan-07 12:35:08.265 DEBUG core dwarf race: "0x000000f1" [../taylorfisher-1/src/dfinstance.cpp:296] (load_dwarves)
2012-Jan-07 12:35:08.272 DEBUG core Ignoring "Zunt?r Idenetur" who appears to be "dead, Jim." [../taylorfisher-1/src/dwarf.cpp:537] (get_dwarf)
2012-Jan-07 12:35:08.275 DEBUG core Ignoring "Ed?m Tusungal?th" who appears to be "dead, Jim." [../taylorfisher-1/src/dwarf.cpp:537] (get_dwarf)
2012-Jan-07 12:35:08.277 DEBUG core Ignoring "Monom L?llolok" who appears to be "dead, Jim." [../taylorfisher-1/src/dwarf.cpp:537] (get_dwarf)
2012-Jan-07 12:35:08.283 DEBUG core Ignoring "Esht?n Rimtarav?d" who appears to be "dead, Jim." [../taylorfisher-1/src/dwarf.cpp:537] (get_dwarf)
2012-Jan-07 12:35:08.286 DEBUG core Ignoring "Mafol Cilobzes" who appears to be "dead, Jim." [../taylorfisher-1/src/dwarf.cpp:537] (get_dwarf)
2012-Jan-07 12:35:08.320 DEBUG core Ignoring "Asmel Th?kutoslan" who appears to be "dead, Jim." [../taylorfisher-1/src/dwarf.cpp:537] (get_dwarf)
2012-Jan-07 12:35:08.337 INFO core found 39 dwarves out of 116 creatures [../taylorfisher-1/src/dfinstance.cpp:320] (load_dwarves)
2012-Jan-07 12:35:08.337 DEBUG core loading squads from "0x013d4500" "0x013d4500" (UNCORRECTED) [../taylorfisher-1/src/dfinstance.cpp:352] (load_squads)
2012-Jan-07 12:35:42.624 INFO core Found 2 squads out of 2 [../taylorfisher-1/src/dfinstance.cpp:377] (load_squads)
Note the difference in timestamps on the squad lines. This happened after I created two squads, and continued even after I disbanded both of them. They apparently still show up to DT's memory scanner. (Perhaps the positions of militia captain show up as squads.)