Hey, silly question: how do you know the real "display delay" when dealing with something like https://lib.rs/crates/egui on macOS?
I know what the audio delay is — the APIs report that. But when I make draw calls in egui, I have no idea how far in the future they'll show up. Should I assume one 60Hz frame? Two? Less? More??
=> More informations about this toot | More toots from fasterthanlime@hachyderm.io
The audio delay (caused by playback buffer size) is about ~10-11ms on my Apple computers right now, I want to offset audio visualizations by that much to synchronize better.. but if the display is ~16ms late it would actually make things worse? I'm not sure I can tell when a frame is presented?
=> More informations about this toot | More toots from fasterthanlime@hachyderm.io
@fasterthanlime This sounds like a beautiful beginning to a new 3h reading time blog post, I can't wait to read it.
May cool bear be with you 🙏
=> More informations about this toot | More toots from seri@hachyderm.io
@fasterthanlime I think this depends on a lot of intermediate factors that can ratchet up the latency, especially the display. John Carmack talks about that here, where he had to resort to a synchronized high speed camera to tell https://superuser.com/questions/419070/transatlantic-ping-faster-than-sending-a-pixel-to-the-screen
=> More informations about this toot | More toots from geist@xoxo.zone
@fasterthanlime have you poked at Apple’s GPU profiler? I seem to remember there was some frame latency data in there.
In general this is fairly hard to predict. It depends how many frames are in flight at any given time, and that depends on how loaded your system is…
=> More informations about this toot | More toots from swiftcoder@mastodon.social
@fasterthanlime there are various ways of getting the targeted presentation timestamp depending how the drawing is actually happening (e.g., CADisplayLink.targetTimestamp, or CAMetalDisplayLink‘s callbacks give it to you).
I don’t know how that fits into egui, and it likely depends on what’s driving the render loop
=> More informations about this toot | More toots from shadowfacts@social.shadowfacts.net
@fasterthanlime this is the problem CVDisplayLink theoretically solved… but it seems to be deprecated in Sequoia?
=> More informations about this toot | More toots from OneSadCookie@mastodon.gamedev.place
@OneSadCookie yeah there's CADisplayLink and https://developer.apple.com/documentation/quartzcore/cametaldisplaylink now
=> More informations about this toot | More toots from fasterthanlime@hachyderm.io This content has been proxied by September (3851b).Proxy Information
text/gemini