用于處理動畫的裝置和方法
【專利摘要】用于處理動畫的裝置包括:對象存儲單元,被配置為存儲動畫內容中包括的對象;以及動畫控制單元,被配置為通過計算要在一幀內渲染的對象的渲染時間并且將所述渲染時間與預設的目標每秒幀數(FPS)進行比較來調整以下至少一項:所述動畫內容中包括的對象中要在一幀內渲染的對象的數量、以及目標FPS。
【專利說明】用于處理動畫的裝置和方法
[0001]相關申請的交叉引用
[0002]本申請要求于2015年2月9日在韓國知識產權局遞交的韓國專利申請N0.10-2015-0019661的優先權,其公開內容通過全文引用的方式并入本文中。
技術領域
[0003]本申請涉及用于處理動畫的裝置和方法,更具體地,涉及用于處理動畫由此可以啟發式地調整動畫的每秒幀數(FPS)和要在一幀內渲染的對象的數量的裝置和方法。
【背景技術】
[0004]網頁是使用超文本標記語言(HTML)創建的文檔,并且在其主體(body)中不僅可以包括文本,而且還可以包括各條網頁內容,例如,圖像、視頻、音頻等。根據與布局有關的標記(tag)使用HTML來分別適當地布置網頁中的各條網頁內容。最初,HTML曾用于僅制作靜態網頁。然而,最近,HTML已經擴展到通過利用諸如Java script和層疊樣式表(cascadingstyle sheets,CSS)等的技術來制作動態網頁。
[0005]通常,基于網絡引擎的網絡瀏覽器在屏幕上顯示網頁的過程如下。首先,網絡瀏覽器讀取HTML文檔以加載必要的資源。接下來,網絡引擎對加載的資源進行解析,以制作文檔對象模型(DOM)樹和渲染樹。最后,網絡引擎通過基于渲染樹執行布局操作并且對HTML文檔中包括的每一條網絡內容執行繪畫操作來創建網頁,并且在屏幕上顯示所創建的網頁。
【發明內容】
[0006]提供了能夠通過啟發式地調整動畫的每秒幀數(FPS)和要在一幀內渲染的對象的數量來提高動畫的質量的裝置和方法。
[0007]附加方面將在以下說明書中被部分地闡述,并且將根據說明書部分地顯而易見,或者可以通過實踐所給出的示例實施例而獲知。
[0008]根據示例實施例的一個方面,用于處理動畫的裝置包括:對象存儲單元,被配置為存儲動畫內容中包括的對象;以及動畫控制單元,被配置為通過計算要在一幀內渲染的對象的渲染時間并且將所述渲染時間與預設的目標每秒幀數FPS進行比較來調整以下至少一項:所述動畫內容中包括的對象中要在一幀內渲染的對象的數量、以及所述目標FPS。
[0009]所述動畫控制單元可以被進一步配置為:如果通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間大于與所述目標FPS相對應的目標時間并且要在一幀內渲染的對象的數量等于或大于預設數量,則減小要在一幀內渲染的對象的數量。
[0010]所述動畫控制單元可以被進一步配置為:如果通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間大于與所述目標FPS相對應的目標時間并且要在一幀內渲染的對象的數量小于預設數量,則減小所述目標FPS。
[0011]所述動畫控制單元可以被進一步配置為:如果通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間小于與所述目標FPS相對應的目標時間,則增加要在一幀內渲染的對象的數量。
[0012]所述對象存儲單元可以被進一步配置為:以循環隊列形式存儲對象。
[0013]所述動畫控制單元可以被進一步配置為:控制所述對象存儲單元來設置窗口,以順序地包括所述對象存儲單元中存儲的預設數量的對象。
[0014]所述窗口中包括的對象可以是要在一幀內渲染的對象。
[0015]所述動畫控制單元可以測量用于對對象中的每一個對象進行渲染的矩陣計算時間,并且將測量到的時間確定為針對對象中的每一個對象的渲染時間。
[0016]所述裝置還可以包括:網絡接口單元,被配置為接收所述動畫內容。
[0017]所述裝置還可以包括:顯示單元,被配置為顯示通過渲染所述窗口中包括的對象而產生的幀。
[0018]根據另一示例實施例的一個方面,處理動畫的方法包括:計算動畫內容中包括的對象中要在一幀內渲染的對象的渲染時間;將所述渲染時間與預設的目標每秒幀數(FPS)進行比較;以及調整要在一幀內渲染的對象的數量和所述目標FPS中的至少一項。
[0019]調整要在一幀內渲染的對象的數量和所述目標FPS中的至少一項可以包括:如果通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間大于與所述目標FPS相對應的目標時間并且要在一幀內渲染的對象的數量等于或大于預設數量,則減小要在一幀內清染的對象的數量。
[0020]調整要在一幀內渲染的對象的數量和所述目標FPS中的至少一項可以包括:如果通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間大于與所述目標FPS相對應的目標時間并且要在一幀內清染的對象的數量小于預設數量,則減小所述目標FPS。[0021 ]調整要在一幀內渲染的對象的數量和所述目標FPS中的至少一項可以包括:如果通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間小于與所述目標FPS相對應的目標時間,則增加要在一幀內渲染的對象的數量。
[0022]所述方法還可以包括:以循環隊列形式存儲所述動畫內容中包括的對象。
[0023]所述方法還可以包括:設置窗口,以順序地包括預設數量的存儲對象,其中,所述窗口中包括的對象是要在一幀內渲染的對象。
[0024]所述方法還可以包括:顯示通過渲染所述窗口中包括的對象而產生的幀。
[0025]計算要在一幀內渲染的對象的渲染時間可以包括:測量用于渲染所述對象中的每一個對象的矩陣計算時間,并且將測量到的時間確定為所述對象中的每一個對象的渲染時間。
[0026]所述方法還可以包括:接收所述動畫內容。
[0027]根據另一示例實施例的一個方面,動畫處理方法可以包括:將計算出的針對要在單個幀內渲染的動畫對象的渲染時間與和每秒幀數的目標數量相對應的目標渲染時間進行比較,并且當根據比較結果,可以在不超出目標渲染時間的情況下增加要在單個幀內渲染的動畫對象的數量時,增加要在單個幀內渲染的動畫對象的數量。
【附圖說明】
[0028]根據以下結合附圖給出的示例實施例的描述,這些和/或其他方面將變得顯而易見并且更容易理解,在附圖中:
[0029]圖1示出了根據本發明構思的示例實施例的用于處理動畫的裝置的框圖;
[0030]圖2示出了圖1的裝置中的對象存儲單元;
[0031]圖3A、圖3B、圖3C和圖3D是根據本發明構思的示例實施例的用于描述處理動畫的方法的參考示意圖;
[0032]圖4A和圖4B是根據本發明構思的另一示例實施例的用于描述處理動畫的方法的參考示意圖;
[0033]圖5示出了根據本發明構思的示例實施例的處理動畫的方法的流程圖;以及
[0034]圖6示出了圖5的操作S420和S430的詳細流程圖。
【具體實施方式】
[0035]將簡要描述說明書中使用的術語,然后將詳細描述本發明構思。
[0036]雖然已經將通用的當前術語用于基于本發明構思中的功能來描述本發明構思,但是術語可以根據本領域普通技術人員的意圖、個案先例和新技術的出現而改變。此外,在具體情形中,可以使用
【申請人】選擇的術語,并且在這些情形中,將在說明書的相應描述中公開這些術語的含義。因此,說明書中用于描述本發明構思的術語不是由其簡單的名字來定義的,而是由其在本發明構思的上下文中的含義來定義的。
[0037]在說明書中,除非存在不同的公開內容,否則當某個部件“包括”某個組件時,這表明該部件還可以包括另一組件,而不是排除其他組件。此外,說明書中所公開的諸如..單元”或“模塊”等的術語指示用于處理至少一個功能或操作的單元,所述單元可以用硬件、軟件或其組合來實現。
[0038]下面將詳細參考示例實施例,在附圖中示出了示例實施例的示例,其中全文中相似的附圖標記指代相似的要素。在這一方面,本示例實施例可以具有不同的形式,并且不應當被理解為受限于本文闡述的描述。在附圖中,與描述無關的部分被省略以清楚地描述本發明構思。因此,以下參考附圖僅描述了示例實施例,以解釋本說明書的一些方面。
[0039]如本文所使用的,在要素列表之前的諸如..中的至少一項”等的表述修飾整個要素列表但不修飾列表中的單獨要素。
[0040 ]圖1示出了根據本發明構思的示例實施例的用于處理動畫的裝置100的框圖。
[0041]根據示例實施例,裝置100可以實現為各種電子設備之一,例如,TV、蜂窩電話、平板個人計算機(PC)、數碼相機、便攜式攝像機、膝上型計算機、臺式計算機、電子書終端、數字廣播終端、個人數字助理(PDA)、便攜式多媒體播放器(PMP)、導航儀、MP3播放器、可穿戴設備等,但是不限于此。
[0042 ] 參照圖1,裝置100可以包括例如網絡接口單元110、動畫控制單元120、對象存儲單元130和顯示單元140。
[0043]網絡接口單元110可以提供用于將裝置100連接到諸如互聯網等的有線/無線網絡的接口。例如,網絡接口單元110可以通過網絡接收由互聯網或內容提供商或網絡運營商提供的內容或數據。
[0044]此外,網絡接口單元110可以訪問互聯網以接收HTML文檔并且向動畫控制單元120傳送所接收的HTML文檔。HTML文檔可以包括內容。內容可以指示通過互聯網、計算機通信等提供的各種類型的數據,并且可以包括網絡內容。網絡內容可以包括文本、圖像、圖標、縮略圖、視頻或其組合等作為HTML文檔的要素。此外,如果內容包括運動,則內容的運動或執行內容的運動的功能可以被稱作動畫。此外,如果內容包括運動,則內容可以被稱作動畫內容。
[0045]動畫控制單元120可以根據所接收的HTML文檔中包括的網絡內容來確定動畫的對象。此外,動畫控制單元120可以在對象存儲單元130中存儲所確定的對象。
[0046]圖2示出了圖1的對象存儲單元130。
[0047]參照圖2,對象存儲單元130可以以循環隊列形式來存儲對象。循環隊列是一種類型的數據結構,并且指示隊列,該隊列中存儲的數據是循環的。
[0048]此外,可以在循環隊列中設置窗口 230,并且窗口 230可以移動使得以循環隊列形式存儲的對象被順序地包括在窗口 230中。在該情況下,可以在一幀內渲染窗口 230中同時包括的所有對象。
[0049]例如,如圖2所示,當窗口 230的大小為3時,窗口 230可以包括三個對象,并且動畫控制單元120可以控制第一對象至第三對象在第一幀內被渲染。在完成對第一幀的渲染之后,動畫控制單元120可以移動窗口 230以渲染第一幀之后的下一幀(第二幀)。移動的窗口240可以包括第四對象至第六對象。在完成對第二幀的渲染之后,動畫控制單元120可以移動窗口 240以渲染第二幀之后的下一幀(第三幀)。移動的窗口 250可以包括第七對象至第九對象。
[0050]動畫控制單元120可以計算當前窗口中包括的對象的渲染時間。在該情況下,對象的渲染時間可以包括從動畫控制單元120向渲染模塊(未示出)發送渲染執行命令的時間和計算要渲染的對象的坐標、矩陣等的時間。動畫控制單元120可以測量計算對象中的每一個對象的矩陣的時間并且將測量的時間設置為對象中的每一個對象的渲染時間。
[0051 ] 例如,動畫控制單元120可以通過使用性能功能(performance funct1n)去測量當前窗口中包括的對象的渲染起始時間點和對象中的每一個對象的矩陣計算的結束時間點,來計算對象中的每一個對象的渲染時間。
[0052]此外,可以使用對象中的每一個對象的動畫參數來計算對象中的每一個對象的矩陣。動畫參數可以指示多少像素被對象移動、對象被放大或縮小了多少等等。
[0053]動畫控制單元120可以將當前窗口中包括的對象的渲染時間與目標每秒幀數(FPS)進行比較。例如,動畫控制單元120可以將對象的渲染時間與和目標FPS相對應的目標時間進行比較。在該情況下,目標時間可以被計算為目標FPS的倒數。例如,如果目標FPS是60,則目標時間可以約為16ms。
[0054]作為比較結果,如果當前窗口中包括的目標的渲染時間大于目標時間,則動畫控制單元120可以確定當前窗口中包括的對象的數量是否等于或大于預設數量。在該情況下,可以通過考慮內容中包括的對象的總數來設置預設數量。
[0055]如果當前窗口中包括的對象的數量等于或大于預設數量,則動畫控制單元120可以調整當前窗口的大小。例如,當前窗口的大小可以指示當前窗口中包括的對象的數量,并且動畫控制單元120可以調整當前窗口的大小以調整其中包括的對象的數量。也即是說,動畫控制單元120可以調整當前窗口的大小以減小當前窗口中包括的對象的數量。
[0056]如果當前窗口中包括的對象的數量小于預設數量,則動畫控制單元120可以減小目標FPS。當目標FPS被減小時,目標時間增加,且相應地當前窗口中包括的對象的渲染時間可以等于或小于調整后的目標時間。
[0057]否則,作為比較結果,如果當前窗口中包括的對象的渲染時間等于或小于目標時間,則動畫控制單元120可以增加當前窗口的大小以增加當前窗口中包括的對象的數量。
[0058]雖然未示出,但是裝置100還可以包括渲染模塊。渲染模塊可以從動畫控制單元120接收渲染執行命令,并且可以渲染對象。渲染模塊可以在一幀內渲染一個窗口中包括的對象。
[0059]當當前窗口中包括的對象被渲染時,動畫控制單元120可以移動當前窗口使得當前窗口包括循環隊列中存儲的后續對象。
[0060]根據示例實施例,動畫控制單元120可以控制內容中包括的對象中具有比其他對象更高重要性的對象存儲在單獨的循環隊列中,以與其他對象的渲染頻率相比增加渲染頻率。例如,動畫控制單元120可以控制具有比預設值更小重要性的對象存儲在第一循環隊列中,并且控制具有與預設值相比相等或更大重要性的對象單獨地存儲在第二循環隊列中。在該情況下,動畫控制單元120可以單獨地控制第一循環隊列和第二循環隊列,使得第二循環隊列中存儲的重要對象的渲染頻率大于第一循環隊列中存儲的對象的渲染頻率。例如,第二循環隊列中存儲的重要對象可以針對每一幀被渲染。
[0061 ] 顯示單元140可以顯示渲染的幀。顯示單元140可以實現為等離子體顯示面板(PDP)、液晶顯示器(IXD)、有機發光顯示器(0LED)、柔性顯示器、三維(3D)顯示器等。此外,顯示單元140可以被配置為包括觸摸屏,以除了用作輸出設備之外,還用作輸入設備。
[0062]圖1中所示的裝置100的框圖僅是示意性的。可以根據要實際實現的裝置100的規格來集成、添加或省略框圖中的每一個組件。也即是說,根據環境,可以將兩個或更多個組件集成為一個組件,或者可以將一個組件分離為兩個或更多個組件。此外,在示例實施例中描述了由每一個框執行的功能,并且每一個框的詳細操作或設備不限制本發明構思的正確范圍。
[0063]圖3A至圖3D是根據本發明構思的示例實施例的用于描述處理動畫的方法的參考示意圖。
[0064]參照圖3A,動畫可以包括第一對象351至第九對象359。在該情況下,當動畫中包括的所有對象(第一對象351至第九對象359)針對每一幀都被渲染時,渲染時間大于與目標FPS相對應的目標時間,因此不能在目標時間內渲染所有對象。因此,發生跳幀,并且在該情況下,目標FPS減小,因此動畫的性能和質量變差。
[0065]根據示例實施例,動畫控制單元120可以計算渲染對象存儲單元130中存儲的對象的時間。動畫控制單元120可以測量計算對象中的每一個對象的矩陣的時間并且將測量到的時間設置為渲染時間。動畫控制單元120可以基于預設目標FPS和對象中的每一個對象的渲染時間來調整窗口的大小(要在一幀內渲染的對象的數量)。
[0066]例如,如果目標FPS被設置為60并且相應地目標時間被設置為約16ms,則動畫控制單元120可以調整窗口的大小(要在一幀內渲染的對象的數量),使得通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間是16ms或者更少。
[0067]當第一對象351的清染時間被計算為4ms,第二對象352的清染時間被計算為8ms,第三對象353的渲染時間被計算為4ms,并且第四對象354的渲染時間被計算為7ms時,動畫控制單元120可以如圖3B中所示控制第一對象351、第二對象352和第三對象353在第一幀內被渲染,使得滿足目標FPS (例如,60)。在該情況下,窗口 310的大小可以為3。
[0068]在完成對第一幀的渲染之后,窗口310可以移動以包括第四對象354、第五對象355和第六對象356。然而,第四對象354的渲染時間可以被計算為7ms,第五對象355的渲染時間可以被計算為7ms,并且第六對象356的渲染時間可以被計算為6ms。在該情況下,通過對第四對象354、第五對象355和第六對象356的各個渲染時間進行求和所獲得的時間(20ms( =7ms+7ms+6ms))大于目標時間(16ms)。
[0069]因此,如圖3C所示,動畫控制單元120可以將窗口 320的大小(窗口 320中包括的對象的數量)減小為2。此外,動畫控制單元120可以控制第四對象354和第五對象355在第二幀內被清染。
[0070]在完成對第二幀的渲染之后,窗口320可以移動以包括第六對象356和第七對象357。然而,第六對象356的渲染時間可以被計算為6ms,并且第七對象357的渲染時間可以被計算為5ms。在該情況下,通過對第六對象356和第七對象357的各個渲染時間進行求和所獲得的時間(I Ims ( = 6ms+5ms))小于目標時間(16ms)。
[0071]因此,如圖3D所示,動畫控制單元120可以將窗口 330的大小(在窗口 330中包括的對象的數量)增加為3。當窗口 330的大小增加為3時,在窗口 330中包括第八對象358。第八對象358的渲染時間被計算為5ms,并且通過對第六對象356、第七對象357和第八對象358的各個渲染時間進行求和所獲得的時間(16ms)等于目標時間(16ms)。
[0072]動畫控制單元120可以控制第六對象356、第七對象357和第八對象358在第三幀內被渲染。
[0073]圖4A和圖4B是根據本發明構思的另一示例實施例的用于描述處理動畫的方法的參考示意圖。
[0074]根據示例實施例,動畫控制單元120可以控制內容中包括的對象中具有比其他對象更高重要性的對象被存儲在單獨的循環隊列中,以與其他對象的渲染頻率相比,增加具有更高重要性的對象的渲染頻率。例如,參考圖4A,動畫控制單元120可以控制具有與預設值相比相等或更大的重要性的第一對象351和第三對象353被存儲在第一循環隊列371中,并且控制具有比預設值更小重要性的第二對象352和第四對象354至第九對象359被存儲在第二循環隊列372中。在該情況下,動畫控制單元120可以單獨地控制第一循環隊列371和第二循環隊列372。動畫控制單元120可以控制第二循環隊列372的目標FPS,使得存儲在第一循環隊列371中的重要對象針對每一幀被渲染。備選地,動畫控制單元120可以調整第二循環隊列372的窗口 385的大小,使得通過對存儲在第二循環隊列372中的對象中要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間等于或小于第二循環隊列372的目標時間。
[0075]例如,參照圖4A,動畫控制單元120可以控制第一循環隊列371中存儲的第一對象351和第三對象353以及第二循環隊列372中存儲的第二對象352和第四對象354在第一幀內被渲染。此外,參照圖4B,動畫控制單元120可以控制第一循環隊列371中存儲的第一對象351和第三對象353和第二循環隊列372中存儲的第五對象355在第二幀內被渲染。
[0076]圖5示出了根據本發明構思的示例實施例的處理動畫的方法的流程圖。
[0077]參照圖5,在操作S410,裝置100計算當前窗口中包括的對象中的每一個對象的渲染時間。
[0078]對象的渲染時間可以包括向渲染設備(例如,渲染模塊)發送渲染執行命令的時間和計算用于渲染的對象的坐標、矩陣等的時間。裝置100可以測量計算對象中的每一個對象的矩陣的時間并且將測量到的時間設置為對象中的每一個對象的渲染時間。
[0079]例如,裝置100可以通過使用性能功能去測量當前窗口中包括的對象的渲染起始時間點和針對對象中的每一個對象進行的矩陣計算的結束時間點,來計算對象中的每一個對象的渲染時間。性能功能是提供當前時間點的功能,并且通過使用性能功能,可以測量起始時間點和結束時間點,并且可以基于起始時間點與結束時間點之差來計算經過時間。
[0080]此外,可以使用對象中的每一個對象的動畫參數來計算對象中的每一個對象的矩陣。動畫參數可以指示多少像素被對象移動、對象被放大或縮小了多少等等。
[0081]在操作S420,裝置100可以將通過對當前窗口中包括的對象的各個渲染時間進行求和所獲得的時間與目標FPS進行比較。
[0082]例如,裝置100可以將對象的渲染時間與和目標FPS相對應的目標時間進行比較。在該情況下,目標時間可以被計算為目標FPS的倒數。例如,當目標FPS等于60時,目標時間可以約為16ms。
[0083]在操作S430中,裝置100根據比較結果來調整窗口的大小和目標FPS中的至少一項。
[0084]現在將參照圖6來詳細描述操作S430。
[0085]圖6示出了圖5的操作S420和S430的詳細流程圖。
[0086]圖6中指示的操作S510可以與圖5中指示的操作S420相對應,并且圖6中指示的操作S520至S560可以與圖5中指示的操作S430相對應。
[0087]參照圖6,在操作S510中,裝置100通過以下方式來確定通過對窗口中包括的對象的各個渲染時間進行求和所獲得的時間是否大于目標時間:將通過對渲染時間進行求和所獲得的時間與目標時間進行比較。
[0088]在操作S520,如果求和得到的時間大于目標時間,則裝置100確定窗口的大小小于預設大小。在該情況下,可以基于內容中包括的對象的總數來確定預設大小。
[0089]在操作S530,如果窗口的大小等于或大于預設大小,則裝置100減小窗口的大小以減小窗口中包括的對象的數量。
[0090]否則,如果窗口的大小小于預設大小,則在操作S540中裝置100減小目標FPS。相應地,目標時間增加。
[0091]如果在操作S510求和得到的時間小于或等于目標時間,則裝置100在操作S550中確定對象是否可以被添加到當前窗口。
[0092]例如,裝置100甚至可以在新對象被添加到當前窗口之后確定通過對當前窗口中的對象的各個渲染時間進行求和所獲得的時間是否小于或等于目標時間。
[0093]如果甚至在新對象被添加到當前窗口之后通過對當前窗口中包括的對象的各個渲染時間進行求和所獲得的時間小于或等于目標時間,則在操作S560中,裝置100增加窗口的大小。相應地,裝置100可以增加當前窗口中包括的對象的數量。
[0094]否則,如果在新對象被添加到當前窗口之后通過對當前窗口中包括的對象的各個渲染時間進行求和所獲得的時間大于目標時間,則裝置100維持當前窗口的大小。
[0095]根據本發明構思的一個或多個示例實施例的處理動畫的方法可以以程序指令的形式執行,所述程序指令可以通過各種計算機或處理設備執行并且記錄在非瞬時性計算機可讀記錄介質中。非瞬時性計算機可讀記錄介質可以包括單獨的程序指令、數據文件、數據結構等或其組合。在非瞬時性計算機可讀記錄介質中記錄的程序指令可以根據一個或多個示例實施例被特別地創建和配置,或者可由計算機軟件領域的普通技術人員公知的和可使用的。非瞬時性計算機可讀記錄介質的示例是磁性介質(例如,硬盤、軟盤和磁帶)、光學介質(例如,⑶-ROM和數字多功能盤(DVD))、磁光介質(例如,光磁軟盤)和硬件設備(例如,只讀存儲器(ROM)、隨機存取存儲器(RAM)、閃存等),其被特別配置為存儲和執行程序指令。程序指令可以不僅包括例如由編譯器制作的機器語言代碼,而且還可以包括計算機可以使用解譯器等執行的高級語言代碼。
[0096]根據示例實施例中的一個或多個,即使當動畫內容中包括特定數量的對象時,也可以最小化跳過動畫的情況,從而提高動畫的質量。
[0097]此外,即使當使用低規格硬件來處理動畫時,也可以通過啟發式地調整動畫的FPS和要在一幀內渲染的對象的數量來提高動畫的感知性能。
[0098]應當理解的是:本文所述的示例實施例應當僅在說明意義上被考慮,而不用于限制的目的。每個示例實施例中的特征或方面的描述通常應當被看作是可用于其他示例實施例中的其他類似特征或方面。
[0099]雖然已經參照附圖描述了一個或多個示例實施例,但是本領域普通技術人員應該理解:在不脫離由所附權利要求限定的精神和范圍的情況下,可以在形式和細節上對其進行各種改變。
【主權項】
1.一種用于處理動畫的裝置,所述裝置包括: 對象存儲設備,用于存儲動畫內容中包括的對象;以及 動畫控制單元,包括基于硬件的處理器,所述基于硬件的處理器被配置為通過計算要在一幀內渲染的對象的渲染時間并且將所述渲染時間與預定的目標每秒幀數FPS進行比較來選擇性地調整以下至少一項:所述動畫內容中包括的對象中要在一幀內渲染的對象的數量、以及所述目標FPS。2.根據權利要求1所述的裝置,其中,所述動畫控制單元被進一步配置為:如果通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間大于與所述目標FPS相對應的目標時間并且要在一幀內渲染的對象的數量等于或大于預設數量,則減小要在一幀內渲染的對象的數量。3.根據權利要求1所述的裝置,其中,所述動畫控制單元被進一步配置為:如果通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間大于與所述目標FPS相對應的目標時間并且要在一幀內渲染的對象的數量小于預設數量,則減小所述目標FPS。4.根據權利要求1所述的裝置,其中,所述動畫控制單元被進一步配置為:如果通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間小于與所述目標FPS相對應的目標時間,則增加要在一幀內渲染的對象的數量。5.根據權利要求1所述的裝置,其中,所述對象存儲單元被進一步配置為:以循環隊列形式存儲要清染的對象。6.根據權利要求5所述的裝置,其中,所述動畫控制單元被進一步配置為:控制所述對象存儲單元來設置窗口,以順序地包括所述對象存儲單元中存儲的預設數量的對象。7.根據權利要求6所述的裝置,其中,所述窗口中包括的對象是要在一幀內渲染的對象。8.根據權利要求6所述的裝置,還包括:顯示單元,被配置為顯示通過渲染所述窗口中包括的對象而產生的幀。9.一種處理動畫的方法,所述方法包括: 計算動畫內容中包括的對象中要在一幀內渲染的對象的渲染時間; 將所述渲染時間與預定的目標每秒幀數FPS進行比較;以及 基于所述渲染時間和所述預定的目標FPS的比較結果,選擇性地調整要在一幀內渲染的對象的數量和所述目標FPS中的至少一項。10.根據權利要求9所述的方法,其中,調整要在一幀內渲染的對象的數量和所述目標FPS中的至少一項包括:如果通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間大于與所述目標FPS相對應的目標時間并且要在一幀內渲染的對象的數量等于或大于預設數量,則減小要在一幀內渲染的對象的數量。11.根據權利要求9所述的方法,其中,調整要在一幀內渲染的對象的數量和所述目標FPS中的至少一項包括:如果通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間大于與所述目標FPS相對應的目標時間并且要在一幀內渲染的對象的數量小于預設數量,則減小所述目標FPS。12.根據權利要求9所述的方法,其中,調整要在一幀內渲染的對象的數量和所述目標FPS中的至少一項包括:如果通過對要在一幀內渲染的對象的各個渲染時間進行求和所獲得的時間小于與所述目標FPS相對應的目標時間,則增加要在一幀內渲染的對象的數量。13.根據權利要求9所述的方法,還包括:以循環隊列形式存儲所述動畫內容中包括的對象。14.根據權利要求13所述的方法,還包括:設置窗口,以順序地包括要渲染的預設數量的存儲對象, 其中,所述窗口中包括的對象是要在一幀內渲染的對象。15.根據權利要求14所述的方法,還包括:顯示通過渲染所述窗口中包括的對象而產生的幀。
【文檔編號】G06T13/00GK105869199SQ201510999078
【公開日】2016年8月17日
【申請日】2015年12月28日
【發明人】南基勛, 桂寅豪
【申請人】三星電子株式會社