簡體   English   中英

實時回放定時事件(毫秒級精度,或幾乎)

[英]Play back timed events in real time (millisecond accuracy, or almost)

我正在編寫一個OS X應用程序,該應用程序記錄來自串行端口的實時事件並將其保存到磁盤。 因此,每毫秒,我都會得到7個需要保存的整數,然后通過在一種實時折線圖中繪制它們來“播放”。 將內容保存到磁盤已經完成; 播放它們是我遇到的困難。

在使用其他技術(Arduino,Corona,Processing)之前,我已經做過這類事情,在該技術中,我得到了一個主游戲循環,在該循環中,我可以按時進行任何想做的事情。 我需要知道的是如何設置某種“ onEnterFrame”循環,以便將經過的時間與我的堆棧中的第一個事件進行比較,並在需要時將其觸發。 在此循環中,我需要告訴自己的視圖進行更新,並且我知道Apple指南指出UI更新必須在主線程中進行。

我對如何在概念上在Cocoa中實現這種onEnterFrame循環有些困惑,因為范例與我已經知道的完全不同。

在我遇到的許多事情中,這為我的初始測試提供了良好的定時精度(1/10毫秒的錯誤):

func test() {
  print("test")
}

// Run test() every 1 millisecond
let timer = NSTimer.scheduledTimerWithTimeInterval(0.001, target: self, selector: #selector(test), userInfo: nil, repeats: true)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM