"Jordi" <jo...@rovira.cat> wrote in message news:i48n8t$1j...@digitalmars.com... > On 08/15/2010 01:50 PM, dsimcha wrote: >> == Quote from Jordi (jo...@rovira.cat)'s article >>> On 08/11/2010 04:15 PM, Walter Bright wrote: >>>> >>>> This is probably the last FreeBSD 7 release for D1. The next will be >>>> for >>>> FreeBSD 8! >>>> >>>> http://www.digitalmars.com/d/1.0/changelog.html >>>> http://ftp.digitalmars.com/dmd.1.063.zip >>>> >>>> http://www.digitalmars.com/d/2.0/changelog.html >>>> http://ftp.digitalmars.com/dmd.2.048.zip >>> Hi, >>> Congratulations for this release! This time it really made a >>> difference when i switched from 2.0.46. The framerate of my app used to >>> degenerate with time very quickly and now it remains fast and stable! >>> Maybe some of the many fixes helped the garbage collector? >>> Congratulations again. >>> j. >> >> Probably the GC.minimize() patch. Previously the GC would **never** give >> memory >> back to the OS. In addition to the obvious reason, this is bad because >> the GC is >> currently not well optimized and slows down a lot when the heap gets >> large, even >> if most of it doesn't contain pointers and isn't scanned. > > Great. I always thought i was missing some important point about garbage > collection, and i was doing everything wrong. I am used to manage my own > memory in C++... > > Anyway, i had to roll back to 2.0.46 as i have seen that from 2.0.47 some > behaviour has changed in my program. I cannot really make a small > reproduction case, because it involves dragging objects around the 3d > scene: since 2.0.47 they follow weird curved paths instead of moving > correctly on the camera plane. > > The code that calculate that (which is not new) just uses matrix and > vector operations to project and unproject positions, but i cannot really > find where do the numbers start to go wrong. >
This may be a pain to do, but you could narrow it down from the other direction: recompile DMD from varius trunk revisions between 2.046 and 2.047 and see which actual commit created the problem.