Title: XXHighEnd Model 0.9v-6 (solves silent playback) Post by: PeterSt on September 06, 2008, 06:05:12 pm at last ... (see Wav stops playing (http://www.phasure.com/index.php?topic=531.0))
Thanks to the great help of Calibrator / Russ who seems to have a PC prone to these problems and his encouragement to build in detailed log facilities which he then wanted to run over his system, the following problems were solved : First of all the silent playback of course; At Attended Playback at completely random moments a track would play "silent". The cursor from XXHighEnd just running, but no sound during one track. After that the next track produced sound again, and after a few tracks it could happen again. Somehow this seemed to occur right after a reboot only, and sure not with everyone ... This was not related to the sound device acting weird, not was it Vista doing it ... it was a stupid programming mistake related to the time one process (in XXHighEnd) needed to complete a "situation" and the other process (in XXEngine3) running in parallel not taking into account that XXHighEnd possibly only started the situation, instead of looking at the finishing of it. So, XXEngine3 fell in the middle of that process, all coming down to partially lacking the data to perform the job right. This included the data for the Wallpaper process (which was proven a stage earlier already without knowing the cause) and which so far was solved by means of a backdoor solution (not treating the cause). The reason why not everybody encountered the problem layed in the intrinsic "speed" of the PC, that, when fast enough, was able to finish the one process faster, hence making the chance the other process falling in the middle of it, smaller. And that's why a laptop was more prone to it ... Also the phenomenon of it happening right after a reboot is explained now, because Vista will be organizing things for quite some times after a boot. In the end though, it was proven that it kept on happening, but in a fasion less likely to notice; Beforementioned "partially lacking the data to perform the job right" could come down to not knowing the tracklength (that being perceived as 0 then) up to sending data to the DAC with "default speed", or IOW 44100. This by itself could cause the "slomotion" people encountered, but, which happens by the coincidence of the DAC being set to a fixed speed (if not, the speed will be controlled by XXEngine3, and you probably wouldn't notice, again depending on *other* data received wrongly, like a set Double which was read as "not double". All coincidences coincidences. The effect on real crashes within XXEngine3 are unknown, but most likely they did not happen, although again this could be dependend on environmental settings like the example of the fixed DAC speed. When this was solved, the log files showed another anomaly : one track could load more than once, which again was caused by careless programming, but encouraged by the priority settings, the thread dealing with the trackload (set to the lowest priority) not being able to tell in time that it was running already within the time a next check was done for whether it was allowed to start. Yep, these things happen when one problem is solved (think back of the "ticks" during trackload that could happen for some) and things are in fact too complicated to change once they are running well. Whether this by itself created "crashes" ... maybe. It can not be overseen what is causing what when a track is loaded twice in parallel, in the mean time consuming twice the memory, or just not but then overwriting its own memory while in the mean time it already started playing. Anyway it would be a good cause for tracks abrubtedly stopping towards their end, because one of those double (or even triple, as seen) tracks would - or anyway could overwrite the playing track. To conclude this : please report if you find ANY anomalies during playback. They should all be solved now, or they weren't reported (and noticed) in the first place. Further changes :
Btw, don't be surprised if there's a new version uploaded in no time, because the logfiles are running here constantly now, and things may come from it. Edit : For now, do not switch on logging. It will cause anomalies by itself ! This will be solved ASAP. |