Win32 port is not dead!

22 views
Skip to first unread message

Marcos Slomp

unread,
Jan 24, 2011, 11:00:50 PM1/24/11
to openk...@googlegroups.com
Hello,

Sorry for the delay in the Win32 port development, but there were several personal and professional affairs I was involved during the past three weeks.

Regarding the news about the official Microsoft-provided Kinect driver, the Win32 port will certainly move in that direction, specially if the official driver proves to be complete and sound.
I am not certain how will be the support for multiple Kinect devices on it, however.

Anyway, the driver is now out yet, and I have just pull-requested several changes to the libusbemu that will, hopefully, render it much more usable.
Meanwhile, feel free to browse it from my personal hub (unstable branch):

CPU usage was vastly improved and is now almost on par to the Linux port.
However, sequence losses may appear under very stressing situations, depending on what you are running along with your Kinect application.
Such losses only happen in very demanding cases (don't watch 5 youtube videos simultaneously while defragging the disk and playing with your Kinect program).

I have tried to get rid of kernel-mode synchronization objects, but it is not possible without breaking compatibility.
NT6 has some new cool stuff, but using them would prevent libfreenect to run in Windows XP/2000/98/95.
What I did then was to manage such heavy objects without contentions, achieving good performance and full compatibility.
Unfortunately, the libusbemu code is rather messy now and it will take some more time to clean it up.

The fail guard was also vastly improved, so be sure to check the README.TXT, Item 3-1, to learn how to use it =)

As a final usage tip: if possible, call Sleep(1) at the end of your rendering loop (after swapping the buffers).
Not really required, but this will tend to free even more CPU usage from your application, making it then as efficient as in Linux.
My guess is that that glXSwapBuffers silently yields itself, while WGL's SwapBuffers does not.
Not sure, can anyone confirm this?


Marcos Slomp

Monkey

unread,
Jan 25, 2011, 8:10:30 PM1/25/11
to OpenKinect
Cheers for the update, and for your efforts!
> Item 3-1, to learn how to use it =)https://github.com/slomp/libfreenect/blob/unstable/platform/windows/R...
Reply all
Reply to author
Forward
0 new messages