等可能導致緩存模塊33中的空鼠數(shù)據(jù)的寫入速率不恒定;緩存模塊33中的空鼠數(shù)據(jù)的讀取速率為恒定的值。因此,緩存模塊33的作用可以理解為:將空鼠數(shù)據(jù)的傳輸速率由不恒定的值變?yōu)楹愣ǖ闹怠F渲?,射頻遙控器發(fā)出射頻信號的速率、射頻接收器接收射頻信號的速率和射頻接收器解析射頻信號的速率等,會影響接收模塊31接收空鼠數(shù)據(jù)的速率。
[0045]控制模塊32在執(zhí)行將接收模塊31接收到的空鼠數(shù)據(jù)寫入緩存模塊33時,具體可以用于:對接收模塊31進行檢測,并在每次檢測到接收模塊31接收了一幀空鼠數(shù)據(jù)之后,即將該幀空鼠數(shù)據(jù)寫入緩存模塊33。
[0046]控制模塊32在執(zhí)行以恒定的速率從緩存模塊33中讀取空鼠數(shù)據(jù)時,具體可以用于:每隔固定的時間間隔從緩存模塊33中讀取一幀空鼠數(shù)據(jù)。進一步地,將該幀空鼠數(shù)據(jù)傳輸至執(zhí)行模塊34。可選的,控制模塊32可以在讀取一幀空鼠數(shù)據(jù)之后,刪除緩存模塊33中的該幀空鼠數(shù)據(jù);這樣能夠防止緩存模塊33的空鼠數(shù)據(jù)越來越多,從而占用太多的存儲空間,影響智能終端3的整體性能。
[0047]執(zhí)行模塊34具體可以為處理進程或者uinput (虛擬輸入)設備等;所執(zhí)行的操作具體可以為光標移動操作、光標定位操作等。需要說明的是,具體實現(xiàn)時,一幀或多幀數(shù)據(jù)用于指示同一個操作。
[0048]本實施例提供的智能終端包括接收模塊、控制模塊、緩存模塊和執(zhí)行模塊,接收模塊用于接收來自射頻遙控器的空鼠數(shù)據(jù);控制模塊用于將接收模塊接收到的空鼠數(shù)據(jù)寫入緩存模塊,并以恒定的速率從緩存模塊中讀取空鼠數(shù)據(jù);執(zhí)行模塊用于執(zhí)行控制模塊從緩存模塊中讀取的空鼠數(shù)據(jù)所指示的操作。這樣,能夠使輸入執(zhí)行模塊的空鼠數(shù)據(jù)的速率恒定,從而使智能終端上的光標的移動或定位過程平滑順暢,減少了出現(xiàn)卡頓現(xiàn)象和拖影現(xiàn)象的幾率,提高了用戶的體驗。
[0049]可選的,控制模塊32具體用于:基于先進先出的原則,以恒定的速率從緩存模塊33中讀取空鼠數(shù)據(jù)。具體的:按照時間先后順序,先被寫入緩存模塊33的空鼠數(shù)據(jù)先被讀取。這樣,能夠有效保證執(zhí)行模塊34所執(zhí)行的操作的順序與接收模塊33所接收到的空鼠數(shù)據(jù)所指示的操作順序一致。舉例而言,具體實現(xiàn)時,控制模塊32可以按照寫入緩存模塊33的時間先后順序,對寫入緩存模塊33中的每幀空鼠數(shù)據(jù)進行編號,然后按照各幀空鼠數(shù)據(jù)的編號讀取空鼠數(shù)據(jù)。
[0050]可選的,如圖3所示,控制模塊32包括定時單元321,定時單元321用于設置定時時間;控制模塊32具體用于:在定時單元321的定時時間到達時,從緩存模塊33中讀取一幀空鼠數(shù)據(jù)。本發(fā)明實施例對定時時間的具體取值以及該具體取值的獲取方式不進行限定,下文中提供了一種確定定時時間的可選的實現(xiàn)方式。
[0051]定時單元321可以為一個高精度的定時單元,具體的,其精度可以達到納秒級。具體實現(xiàn)時,智能終端3可以在進程初始化時,創(chuàng)建定時單元321。該可選的實現(xiàn)方式通過設置定時單元321實現(xiàn)緩存模塊33中的空鼠數(shù)據(jù)的讀取速率恒定,簡單方便,并且能夠使得系統(tǒng)的實時性更好。
[0052]舉例而言,在智能終端的軟件中,空鼠數(shù)據(jù)的接收、處理等操作都是在一個進程中完成的,進程中會創(chuàng)建線程不停地從智能終端3的底層UART (Universal AsynchronousReceiver/Transmitter,通用異步收發(fā)傳輸器)緩存中的空鼠數(shù)據(jù)至緩存模塊33中;進程中也可以創(chuàng)建定時單元321,從而利用定時單元321實現(xiàn)定時處理和輸出空鼠數(shù)據(jù)。具體的,可以在進程初始化時,創(chuàng)建定時單元321。
[0053]在一種可選的實現(xiàn)方式中,控制模塊32,還用于根據(jù)接收模塊31接收空鼠數(shù)據(jù)的速率或預設時間段內(nèi)接收模塊31接收到的空鼠數(shù)據(jù)的容量,確定緩存模塊33的容量。
[0054]若緩存模塊33的容量較小,則當接收模塊31接收空鼠數(shù)據(jù)的速率較大、或預設時間段內(nèi)接收模塊31接收到的空鼠數(shù)據(jù)的容量較大時,會因緩存模塊33中的存儲空間全被占用而導致后續(xù)從接收模塊31傳輸?shù)目帐髷?shù)據(jù)不能被寫入緩存模塊33,或?qū)е戮彺婺K33中已經(jīng)寫入的空鼠數(shù)據(jù)還沒來得及在控制模塊32的控制下被讀取,就被后續(xù)從接收模塊31傳輸?shù)目帐髷?shù)據(jù)覆蓋;這兩種情況均會導致空鼠數(shù)據(jù)丟失。若緩存模塊33的容量較大,即緩存模塊33的容量占智能終端3的系統(tǒng)容量的比例較大,則會消耗太多的系統(tǒng)資源。因此,具體實現(xiàn)時,需要合理設置緩存模塊33的容量。
[0055]舉例而言,控制模塊32可以將預設時間段內(nèi)接收模塊31接收到的空鼠數(shù)據(jù)的容量作為緩存模塊33的容量;或者,以預設時間段內(nèi)接收模塊31接收到的空鼠數(shù)據(jù)的容量為基礎的一個浮動量作為緩存模塊33的容量。例如,預設時間段為Is (秒),則可以將Is內(nèi)接收到的空鼠數(shù)據(jù)的容量作為緩存模塊33的容量;或?qū)s內(nèi)接收到的空鼠數(shù)據(jù)的容量的80%、90%、110%或120%等作為緩存模塊33的容量。
[0056]“接收模塊31接收空鼠數(shù)據(jù)的速率”主要由射頻遙控器發(fā)送射頻信號的速率決定。理論上,接收模塊31接收空鼠數(shù)據(jù)的速率與射頻遙控器發(fā)送射頻信號的速率;實際上,會由于射頻信號的傳輸環(huán)境、射頻接收器的轉(zhuǎn)發(fā)效率等因素,使得接收模塊31接收空鼠數(shù)據(jù)的速率小于射頻遙控器發(fā)送射頻信號的速率。
[0057]“預設時間段內(nèi)接收模塊31接收到的空鼠數(shù)據(jù)的容量”可以根據(jù)接收模塊31接收空鼠數(shù)據(jù)的速率,與該預設時間段的大小確定。
[0058]在一種可選的實現(xiàn)方式中,控制模塊32,還用于根據(jù)接收模塊31接收空鼠數(shù)據(jù)的速率和智能終端3的整機進程調(diào)度的系統(tǒng)時間中的至少一種,確定恒定的速率(即緩存模塊33中的空鼠數(shù)據(jù)的讀取速率)。
[0059]該可選的實現(xiàn)方式,用于確定緩存模塊33中的空鼠數(shù)據(jù)的讀取速率,換言之,確定“定時時間”的大小。其中,若定時時間太大,則會導致智能終端3對射頻遙控器的響應速度較慢;若定時時間太短,極端情況為將寫入緩存模塊33的空鼠數(shù)據(jù)立即讀取至執(zhí)行模塊34,這樣會因輸出速率太快而導致輸入執(zhí)行模塊34的空鼠數(shù)據(jù)的速率不恒定,從而導致起不到本發(fā)明實施例提供的技術方案想要達到的技術效果。因此,具體實現(xiàn)時,需要合理設置緩存模塊33中的空鼠數(shù)據(jù)的讀取速率。
[0060]舉例而言,控制模塊32根據(jù)接收模塊31接收空鼠數(shù)據(jù)的速率確定讀取速率,具體可以為:控制模塊32確定在多個時間周期的每個時間周期中接收模塊31所接收的空鼠數(shù)據(jù)的平均速率,并將該多個平均速率的均值作為緩存模塊33中的空鼠數(shù)據(jù)的讀取速率。例如,假設控制模塊32確定的兩個時間周期內(nèi)接收模塊31所接收的空鼠數(shù)據(jù)的平均速率分別為A和B,則可以將(A+B)/作為緩存模塊33中的空鼠數(shù)據(jù)的讀取速率。
[0061]由于空鼠數(shù)據(jù)是在智能終端3的一個進程中完成的;如果整機配置比較低,CPU (Central Processing Unit,中央處理器)資源緊張,進程執(zhí)行效率低,貝>J讀取空鼠數(shù)據(jù)的速率越慢;反之,進程調(diào)度快,讀取空鼠數(shù)據(jù)的速率越快。因此,“智能終端3的整機進程調(diào)度的系統(tǒng)時間”也會影響到緩存模塊33中的空鼠數(shù)據(jù)的讀取速率。
[0062]最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的精神和范圍。
【主權(quán)項】
1.一種處理空鼠數(shù)據(jù)的方法,其特征在于,應用于智能終端,所述方法包括: 將接收到的來自射頻遙控器的空鼠數(shù)據(jù)寫入緩存器; 以恒定的速率從所述緩存器中讀取空鼠數(shù)據(jù),并執(zhí)行從所述緩存器中讀取的空鼠數(shù)據(jù)所指示的操作。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述以恒定的速率從所述緩存器中讀取空鼠數(shù)據(jù),包括: 在讀取一幀空鼠數(shù)據(jù)之后,開始計時;并在到達預設的讀取時間時,從所述緩存器中讀取下一幀空鼠數(shù)據(jù)。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括: 根據(jù)接收空鼠數(shù)據(jù)的速率或在預設時間段內(nèi)接收到的空鼠數(shù)據(jù)的容量,確定所述緩存器的容量。4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在所述以恒定的輸出速率從所述緩存器中輸出空鼠數(shù)據(jù)之前,所述方法還包括: 根據(jù)接收空鼠數(shù)據(jù)的速率和所述智能終端的整機進程調(diào)度的系統(tǒng)時間中的至少一種,確定所述恒定的速率。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述以恒定的速率從所述緩存器中讀取空鼠數(shù)據(jù),包括: 基于先進先出的原則,以恒定的速率從所述緩存器中讀取空鼠數(shù)據(jù)。6.一種智能終端,其特征在于,包括:接收模塊、控制模塊、緩存模塊和執(zhí)行模塊; 所述接收模塊,用于接收來自射頻遙控器的空鼠數(shù)據(jù); 所述控制模塊,用于將所述接收模塊接收到的空鼠數(shù)據(jù)寫入所述緩存模塊;并以恒定的速率從所述緩存模塊中讀取空鼠數(shù)據(jù); 所述執(zhí)行模塊,用于執(zhí)行所述控制模塊從所述緩存模塊中讀取的空鼠數(shù)據(jù)所指示的操作。7.根據(jù)權(quán)利要求6所述的智能終端,其特征在于,所述控制模塊包括:定時單元,用于設置定時時間; 所述控制模塊,用于在所述定時單元的定時時間到達時,從所述緩存模塊中讀取一幀空鼠數(shù)據(jù)。8.根據(jù)權(quán)利要求6或7所述的智能終端,其特征在于, 所述控制模塊,還用于根據(jù)所述接收模塊接收空鼠數(shù)據(jù)的速率或所述接收模塊在預設時間段內(nèi)接收到的空鼠數(shù)據(jù)的容量確定所述緩存模塊的容量。9.根據(jù)權(quán)利要求6或7所述的智能終端,其特征在于, 所述控制模塊,還用于根據(jù)所述接收模塊接收空鼠數(shù)據(jù)的速率和所述智能終端的整機進程調(diào)度的系統(tǒng)時間中的至少一種確定所述恒定的速率。10.根據(jù)權(quán)利要求6所述的智能終端,其特征在于, 所述控制模塊,具體用于基于先進先出的原則,以恒定的速率從所述緩存模塊中讀取空鼠數(shù)據(jù)。
【專利摘要】本發(fā)明實施例公開了一種處理空鼠數(shù)據(jù)的方法及智能終端,涉及數(shù)據(jù)處理技術領域,用以減少出現(xiàn)卡頓現(xiàn)象和拖影現(xiàn)象的幾率。本發(fā)明實施例提供的方法,應用于智能終端,該方法包括:將接收到的來自射頻遙控器的空鼠數(shù)據(jù)寫入緩存器;以恒定的速率從緩存器中讀取空鼠數(shù)據(jù),并執(zhí)行從緩存器中讀取的空鼠數(shù)據(jù)所指示的操作。
【IPC分類】G06F3/0346
【公開號】CN105204665
【申請?zhí)枴緾N201510613690
【發(fā)明人】張麗萍, 劉慶彬, 周印偉, 孫守軍
【申請人】青島海信寬帶多媒體技術有限公司
【公開日】2015年12月30日
【申請日】2015年9月23日