[02:57:32] --> Coren_ has joined #low
[02:57:33] --- ChanServ gives channel operator status to Coren_
[03:01:23] <Coren_> Bah. I should have done that in the first place. SDL is not bad, but writing for the lowest common denominator hinders when your only targetting modern architectures.
[03:02:44] <Coren_> s/your/you're/
[03:03:52] <Coren_> SDL was wasting at least 35% CPU in polling loops, and didn't thread productively.
[03:05:17] <Coren_> And since the cpu is released, scheduling is much better-- sound needs less buffering, and the game heartbeat no longer occasionally stutters.
[03:40:31] <servus> I'm using OpenAL.
[03:41:18] <servus> So, did you gain 35% performance by using callback-based event handling?
[07:17:51] --> Khelz has joined #low
[18:43:20] <-- Khelz has left IRC ()
[19:54:07] --> Khelz has joined #low
[20:25:17] <Coren_> It's kinda-callback, but the gain comes from actually sleeping when waiting for events rather than just loop blindly.
[20:26:37] <Coren_> That, and the thread that does the GL drawing sleeps waiting for vblank before it swaps buffers; that's also a gain (no point in trying to go any faster, after all).
[20:27:57] <Coren_> The vblank sleep can be disabled, although there's no point doing it. I call that the "stupid benchmark" refresh mode.
[21:21:38] --> Coren__ has joined #low
[21:22:23] <-- Coren_ has left IRC (Nick collision from services.)
[21:22:44] --- Coren__ is now known as coren_
[21:22:54] --- ChanServ gives channel operator status to coren_
[21:22:58] <coren_> It's a very sane API, even if it's a bit low-levelish.
[21:23:00] <coren_> Now, of course, the tricky part will be doing the win32 equivalent.
[21:23:13] <coren_> I don't supposed it will be _too_ hard.
[21:24:03] <coren_> I mean, regardless of how I feel about MS, I don't expect opening a window and associating a GL context with it would be that involved.
[21:24:42] <coren_> And I very much doubt events are that dissimilar. :-)
[21:25:00] <coren_> So, off to win32 land I go. Wish me luck.
[21:25:38] <-- coren_ has left IRC (Client Quit)