Typically when writing code in Windows (desktop or mobile), you will encounter a strange bug in the operating system which requires a workaround. This has been occuring since the very first version of Windows and is still happening today. Lately I have been having odd timing problems with my games on some devices and was trying to discover the reason behind it. On OMAP devices (both PPC + SP) the PerformanceCounter doesn’t really exist and it returns a resolution of 1ms. Under the covers it uses the system tick counter which has a resolution of 1 millisecond. This would be reasonable if it worked as expected, but for some reason, querying the performance counter gives stops and starts and will cause games which depend on this to go both too fast and too slow. The solution is to check the timer frequency with QueryPerformanceFrequency() and if it comes back as 1000, then use the GetTickCount() function instead of the PerformanceCounter functions.
May 23, 2007
Posted by
bitbank |
arm, omap, pocket pc, smartphone, wince, xscale |
|
1 Comment
I wanted to revisit the multiply test because I hadn’t tested the difference between 32×32 and 16×16 multiplies. On the XScale PXA255 and above, both 32×32 and 16×16 multiplies take 1 clock cycle. On the OMAP 850 (and probably other OMAP’s based on the ARM9 core), the 16×16 multiply takes 1 clock and the 32×32 takes 2. Useful to know if your code will be running on the OMAP and you really only need a 16×16 multiply.
L.B.
May 18, 2007
Posted by
bitbank |
arm, arm9, asm, assembly language, benchmark, optimization, performance, pocket pc, smartphone, tech, xscale |
|
2 Comments
I had my local and long distance switched without my permission by Qwest Communications a few weeks ago. At least that is what I thought. I called Bellsouth and switched it back when my phone stopped working, but apparently I had been “using” their service for a month before I lost the ability to make calls. All the while I had been billed an excessive amount for calls that normally would be free. I received a bill today from them for $339 in long distance charges. I submitted a complaint to the Florida Public Service Commission, but from what I’m reading on the net, Qwest has been doing this to many customers all over the country. Today I had Bellsouth put a “lock” on my account so that it cannot be switched without my permission. I suggest everyone take this action. I am currently on hold with Qwest to resolve the bill. They deny any responsibility and tried to scare me with “this call could take an hour to resolve, do you have time for this?”. I’ll write my results here later…
*******************************************************
5/25/07 - update
I was waiting for a call back from AT&T or Qwest and never received it, so I called Qwest today to see the status of this problem. Apparently both sides deny responsibility, but the bill has been corrected to reflect my normal charges. Overall this resulted in a waste of my time and a loss of faith in the integrity of another system that we depend on.
May 16, 2007
Posted by
bitbank |
Uncategorized |
|
1 Comment