LV. 24
GP 722

【心得】FPS 不是越高越好(電競除外)

樓主 Tom predator8137
GP187 BP97
標題故意打得有點聳動,想吸引人進來,先說聲抱歉。

這篇主要是想跟大家談一些有關螢幕頻率與遊戲體驗的小概念,
希望能幫助到一些人提升遊戲體驗,
FPS 不是越高越好」只是其中的一個要點。

會想發這篇文,是因為剛剛在別篇文看到有人說
「56、59 FPS 和 60 FPS 根本分不出來」
但事實上,59 跟 60 FPS 不但很容易分得出來,
59 FPS 還是所有繪圖張數裡面遊戲體驗最糟的一個。
從某種角度來看,甚至比 30、40 FPS 還糟
同理,61 FPS 的遊戲體驗也會是很糟糕的。

有玩遊戲機的巴友們不知道有沒有想過,
為什麼遊戲機永遠只鎖 30FPS 跟 60FPS,
從來沒有遊戲鎖 35 40 50 55 等數字?

原因在於,遊戲每秒繪圖的張數必須與螢幕的刷新率呈倍數關係
才有辦法產生流暢的畫面。(G-synch 螢幕除外)
為什麼? 因為螢幕更新畫面的速度是固定的。

以 60Hz 的螢幕來說,每張畫面的間隔都是 16.66 毫秒。
如果你的顯卡餵給它每秒 60 張的畫面,
那螢幕每一次刷新都可以換上一張新的畫面,
而且每張畫面的間隔時間都相同
這樣的結果就是最完美的流暢感
同理,120 Hz 也是一樣完美。

如果餵給螢幕每秒 30 張,
雖然螢幕每刷新兩次才有辦法換上一張新畫面,
但畫面的間隔仍會是穩定的 33.33 毫秒,
雖然因此流失一半的畫面,但影像的流動仍是順暢的

重點來了,
那如果顯卡餵給螢幕每秒 59 張呢?
前面講了,螢幕的刷新頻率就是固定每秒 60 次
如果硬要在 60 次的刷新率中放入 59 張畫面,
那勢必每秒會有 1 張畫面待在螢幕的時間是其他 58 張的 2 倍。
同理,如果顯卡餵給螢幕每秒 61 張畫面,
勢必有其中 1 張畫面會被跳過

這兩種情形都會讓玩家覺得畫面有頓挫感

因此,純粹從畫面品質(暫不考慮延遲)的角度來看,
60Hz 螢幕最完美的 FPS 值就是 60 跟 120,次完美的就是 30。
其他任何數值都一定不可能產生流暢的畫面。

那有沒有甚麼折衷的辦法?
難道沒辦法達到 60 FPS 就一定要降到 30 嗎?

我個人的論點是,其實還有一個可以接受的數字,就是 40FPS,
因為 40 是頓挫頻率最高的 FPS 值(每秒 20 次),
因為頻率太高,反而很容易可以感到習慣

反之,59 跟 61 就是最糟糕的 FPS 值,
因為每一秒頓挫一下,這樣的頻率最容易被人眼察覺

結論,純粹以畫面品質(而暫不考慮延遲)的角度來看,FPS 並不是越高越好。
除非能夠一次衝到 120 FPS,不然高於 60FPS 的畫面品質
理論上是不如穩定 60 FPS 來得好。

至於 G-sync 螢幕如何解決這一切的問題,
就交給其他板友來解說吧。

---------------------------------------------------------------
4/14 更新:我在 16 樓轉貼了一些參考資料,希望可以為我的說法提供部份佐證。
---------------------------------------------------------------
4/14 第二次更新:
我錄了一些影片,就讓大家自己決定是否有差吧,
記得影片品質要選 720p 60。
有些影片有音樂,小心不要被嚇到喔。
----------------------------------------------------------------
2018/4/10 更新:
我把影片拿掉了,換一個更容易理解的。
請拜訪這個網站

中間 Demo: 的標籤可以選各種模擬情境
從它的展示可以很清楚的看到,只有兩種前提可以產生順暢的畫面:
1. Vsync ON +  FPS 穩定符合刷新率
2. 使用 G-sync 或其他 VRR 技術

其中 Tearing (VSYNC OFF) 的這個情境可以看到
當 FPS 高於刷新率又不開 Vsync 的時候
你會同時感覺到畫面撕裂和畫面頓挫
187
97
LV. 39
GP 652
2 樓 momo npc6666
GP8 BP-

以下是直接引述過來的

FreeSync 技術
 
  以往的畫面輸出顯示系統,都是採用沿襲傳統電視系統而來的固定更新率模式,讓圖形處理端與畫面顯示端以固定的更新率來彼此同步。但是目前的 3D 圖形處理系統,會因為個別畫面的處理負擔而有不固定的畫面產出速度。為了讓處理端與顯示端的時序同步,因此必須透過垂直同步或者捨棄 / 重複畫面等手段來應對,卻也導致輸入延遲、更新間斷的畫面延遲或畫面撕裂等問題。
 
  而 FreeSync 正是 AMD 針對此一問題所提出的解決方案 ,透過讓處理端來控制顯示端畫面更新的機制,擺脫了以往固定更新率的限制。讓處理端將畫面繪製完成後,才驅動顯示端更新顯示的畫面。使用者看到的會是完整且持續變化的畫面,不會出現以往固定更新率模式容易發生的畫面延遲、閃爍與撕裂。在畫面處理速度較低且不穩定時,該技術所帶來的視覺效果改善尤其明顯。
 
※ NVIDIA 亦曾提出獨自的「G-Sync」解決方案
 
  舉例來說,以往的電視遊樂器遊戲由於受限於電視系統的 60Hz 固定更新率,因此每秒畫面輸出張數(Frame Rate,現多譯為 幀率)多半是鎖定在 30fps 或 60fps(亦有部分遊戲採不固定的動態畫面輸出張數)。因為顯示器是固定每秒更新 60 次,當遊戲的幀率能高於 60fps 時還不至於構成問題,但一旦低於 60fps 時,因為畫面生成的速度感不上顯示器的刷新,因此只能重複顯示上一次的畫面,導致瞬間的體感幀率驟降為一半以下,玩家將會明顯感受到遊戲畫面的不流暢。如果關閉垂直同步,讓遊戲畫面的輸出不與更新率同步的話,則是容易發生畫面水平撕裂的問題。
 
  • 開啟垂直同步時,只要一有畫面沒辦法在顯示器更新之前繪製完成,就必須多等 1 個週期才能顯示,造成顯著的延遲與閃爍(取自 NVIDIA G-Sync 簡報)
  • 關閉垂直同步時,雖然畫面一繪製完就能立刻輸出,但是會造成畫面上下部內容不同步的撕裂,俗稱破圖(取自 NVIDIA G-Sync 簡報)
  但是當導入可變更新率技術之後,顯示器的畫面更新完全是依照處理端(PC、遊樂器等)的畫面輸出來驅動,意即處理端能達到多高的幀率,顯示器就以多高的更新率來顯示。如此一來即使遊戲的幀率上下波動,顯示器的畫面一樣能跟著上下變化,避免原本兩端因為固定更新率時序不同步所導致的體感幀率顯著落差問題,讓更新率與幀率完全同步化,維持畫面一貫的流暢感。
 
  此外,在導入可變更新率技術之後,遊戲的幀率將不再受限於 60Hz 的因數倍,而能自由設定為顯示器可支援的範圍,如 50fps、45fps 等。不過因為並不是所有顯示器都支援 FreeSync,加上維持相容性的考量,因此預料遊戲將不會採用這類特殊的固定幀率,而會以可變幀率來因應。
 
PS:G-SYNC跟FREESYNC是一樣原理只是不同廠商研發的技術
8
-
LV. 22
GP 216
3 樓 Lin abcabc6512
GP2 BP-
如果有在接觸CS KZ跳躍的玩家 應該都很清楚是非常有感的  我覺得還是要看你玩的遊戲
2
-
LV. 24
GP 753
4 樓 Tom predator8137
GP12 BP-
太多人說我胡說八道了,
所以我決定提供文獻佐證。

以下會挑選一些關鍵的內容翻譯,
(這都是筆者花大量個人時間打出來的,
最終的目的都是希望可以幫助其他巴友提升遊戲體驗。
你當然可以不同意,但請講出你的想法/論點,
不要一句「胡說八道」就打發掉別人心血)

以下為部分文章內容節錄翻譯:
--------------------------------------------------------
「這概念其實很簡單,將楨率鎖住可以產生穩定、一致的視覺訊息,讓整體的遊戲體驗能夠更加平順........照理來說,畫格數越多,應該等於更滑順的影像和更低的輸入延遲,但實際情形並不總是如此。所以我們的問題是,主機遊戲應該要讓它輸出的越快越好,還是應該為了穩定性而加以限制?」

「簡單來說,這沒有一定的答案。不同的遊戲對遊戲體驗有不同的目標和優先順序,而玩家們往往對最佳的做法也有不同的看法。」(所以我才在內文一直強調電競除外,因為我知道對電競玩家來說畫面品質遠不及延遲來得重要)

「我們第一個測試目標是 Killzone Shadow Fall,這款遊戲沒有鎖住輸出畫格。開發商的想法是要盡可能使輸入的反應速度越快越好,讓輸入結果盡快呈現在螢幕上。然而,這樣做搭配上 v-sync 會產生一個問題。v-sync 會將遊戲的輸入頻率與螢幕刷新率連結,所以所有畫格將只能以 16ms 的間隔呈現。如果遊戲無法在 16ms 內畫出一張畫面,必須等到下一個 16ms 後才能換上新畫面。部份畫格以 16ms 的間隔呈現,剩下的卻以 33ms 呈現,結果就是震盪、不穩的畫面與操作體驗。

(因為影片本身沒有支援60fps,所以並無法以體感方式直接呈現出其中差異,觀看重點請擺在右下角的frametime圖)

但為甚麼要鎖 30fps 呢?為什麼不鎖 40fps、45fps、50fps?歸咎到底,都是因為 60Hz 的顯示標準,限制了能夠產生穩定、完全無震盪感的輸出選項。固定刷新率的問題正是 Nvidia 的 Gync 設計想要解決的。」
-----------------------------------------------------------------------
(文章很長,僅節錄了部分與本討論串相關的內容)
12
-
LV. 14
GP 1k
5 樓 DkPoXeR darkidea
GP9 BP-
必須說一下,樓主這篇的資料至少是正確無誤

你只能說這現象在現實使用電腦根本不會出現

而不能說他胡說八道

說看不出59跟60差異的人

根本就沒看懂這篇的內容

雖然我還是必須講

現實電腦遊戲已經甚少有鎖偵數這回事

其實討論這個有點多此一舉...

鎖60的我只想到阿卡漢
9
-
LV. 33
GP 1k
6 樓 武術家 copy1857
GP22 BP-
看到這個突然想起快兩年前貼的文

去挖古把他挖出來

順道做為輔助佐證(?)

目前我的螢幕是XB271HU(G-SYNC+144HZ)

就固定響應的桌面使用環境而言,高HZ對於滑鼠界面的使用上是真的滿有感的。

另外G-SYNC不得不說對遊戲方面的順滑後端呈獻(也就是使用者看到的畫面)真的很有感。
--------------------------------------------------------------

其實簡單來說就是大部分玩家平常用軟體看到的FPS
並不能完完全全即時即刻反應出當時遊玩呈現狀況+PC牽涉到的方面較多所致

目前的G-SYNC&Free-sync就是為了解決這種狀況因應而生的方案


以下是個人猜測的,並不一定是真的業界的方法

家機的FPS大多是透過穩定Frame time影格間距的方式來達到穩定優化
(優化方式大概就是先丟完整版本,
之後開始砍特效,砍到一定程度能負擔垂直同步的情況下
且FPS張數達到一定數後再處理影格間距,然後再除處理完後的BUG,及衍生的BUG)

PC版本由於配置上的不同,
所以影格間距會受到驅動及遊戲引擎還有硬體運算還有螢幕等等多方面的動態影響
(這個能靠後面多重更新補丁及設定做處理(EX顯卡商的驅動及廠商的幅度更新))
而這個也就是有時候明明60FPS但卻有頓挫感的原因之一

基本上廠商在出廠給統一配置的家機是經由特別調整過的版本(方式大概就是上面所說)

優勢上家機大概就是它的影格間距很穩定,
唯獨在後期榨乾機能後就會出現頓挫感,

而這對於家機的遊戲體驗而言是致命的

因為家機目前普遍以30FPS為主,一旦低於且出現間距提供不穩定的狀況
會導致畫面頓挫感非常嚴重
EX:
(這邊可以看得出來PS3的硬體已經無法負荷,
FRAME TIME的峰值起伏比起PS4大許多,這是頓挫感的來源,
而無法負擔的FPS低影響的則是整體順暢感)

兩者最大差距
一個在於先天出廠前就要先處理好大部分工作,
即便後期有問題透過小幅度更新還能解決
(這邊是廠商會將處理後的最佳更新包以統一性的方式處理更新,這是沒得選的)

一個可以靠後天的硬體配置及多重驅動來做修正,
每個人能對自己的配置選取不同的設定及透過多重驅動來做不同的幅度修正
(這邊就是相反,端看個人配置的需求做調整)

影像順暢度深度解析:破解 FPS 盲點、找出影像頓呆的主因

來源:PCADV 電腦王

大概PO一下裡面的內容

流暢度影響視覺感受

動畫的原理在於利用人眼視覺暫留的特性,
當許多靜止的畫面連續播放時,只要速度夠快(約為每秒顯示16張畫面),
就會因為視覺暫留的錯覺,誤認為畫面是活動的動畫。

多數玩家在執行遊戲時,大多會調整畫面品質,將FPS目標值設在60幀,
然而遇到效能偏低的瞬間,前後畫格出現的時間可能大於1/16秒,
大於產生視覺暫留所需的最短時間,於是畫面還是會產生停頓感。


相信大多數的讀者都是透過FRAPS,
測量遊戲進行時的FPS,
姑且不論上述FPS分佈不均勻所造成的停頓感,
FRAPS的運作方式只能讓我們測量到顯示卡繪製畫格的速度,
而不是螢幕顯示畫格的速度。所以有時就會遇到FPS表現並無異常,
但仍然會感覺畫面有所停頓,並不如測試成績般流暢。
▲筆者以比較誇張的方式,解釋為何瞬間FPS的落差,
會造成畫面停頓感。當FPS為60幀且分佈均勻的情況,視覺感受是最好的,
若FPS降至30幀,且分佈也是均勻的話,畫面看起來並不會有明顯的停頓感。

然而即使FPS維持在60幀,但是前0.1秒就顯示51幀,
其餘9幀剛好平均分佈於剩下的0.9秒中,等於後半部每0.1秒才顯示1張新的畫格,
而這將造成嚴重的停頓感。
▲常見FPS速率比較

FRAPS的測試盲點

無論遊戲使用的API是Direct3D或OpenGL,API都會透過複雜的流程處理資料並進行運算。
以Direct3D為例,當遊戲送出繪圖需求與相關資料之後,
資料會先被Direct3D送入顯示卡驅動程式,並送回Direct3D的畫格佇列以及排程器,
然後再次送到顯示卡驅動程式中,最後送到GPU進行運算。

FRAPS的運作原理是記錄每個畫格繪製結束後,
攔截Direct3D發出的運算呼叫(present call),
藉由分析運算呼叫產生的時間點,FRAPS就能計算畫格資料送入API的速度,
能夠有效率地分析FPS表現。

由於FRAPS攔截運算呼叫的位置在整個運算流程的頂部,
並且只能得知每張畫格進入API的時間,
對於資料在API、驅動程式、GPU等階段之間發生的事,以及運算所花費的時間一無所知。
此外畫格佇列與frame buffer,都具有可以暫存畫格的能力,
所以各運算呼叫之間的時間間隔,並不一定等於各畫格輸出時的間格,
再加上多GPU環境運算下,資源的分配及運算流程會更加複雜,
FRAPS所測量到的數據與螢幕顯示的畫面會有不少落差,
並不適合作為畫面顯示是否流暢的指標。
▲Direct3D遊戲的顯示部份處理流程如圖所示,經過繁複的處理手續後,受各步驟延遲影響,畫格運算與顯示的速度可能會有所不同。

測不出問題畫格

除了上述的問題之外,
FRAPS也無測量到遺失畫格(drop frame)與侏儒畫格(runt frame)。

當遊戲引擎的物理、AI部分出現錯誤,或是繪製畫面時若發生錯誤時,
驅動程式很可能會直接捨棄這些畫格,
若是某特定畫格的複雜度太高,
其繪圖時間超過系統緩衝容忍的上限,也會被捨棄不予繪製,形成遺失畫格。
(減少這段時間的容忍上限維持逾恆定值並減少遺失畫格就是優化的目的之一)

侏儒畫格則只會發生於多GPU的環境,
當其中某一GPU在繪圖時發生錯誤時,由於其他GPU並不會即時知道這個狀況,
所以其他GPU仍會照常運作、輸出影像,
此現象會造成該不正常畫格出現在螢幕的時間非常短,並造成畫面撕裂。

由於FRAPS偵測的訊號為運算呼叫,
當遺失或侏儒畫格產生時,運算呼叫早已送出,
所以仍會被計算為完整的1幀,
但是它們並不會正常顯示於螢幕,將會造成測試成績與實際觀看的誤差。

(FRPS偵測的點在於下圖前面Present Call,
由於誤差是發生在後面的GPU運算到螢幕端,這段期間是偵測不到的,
所以就出現fps明明顯示很高數值但畫面低於數值表現的情況

而下表的真實FPS偵測會需要比起一般電腦更較昂貴的配備,

所以會擁有的大多應該都是公司研發等級的來做除錯研究
大多家機可能都是透過類似裡面的技術去做均勻化除錯測試

在處理方面多虧於家機的簡略及統一化,
處理效率上應不會過於太麻煩

而相較於大多PC玩家使用電腦上的軟體做的fps測試
實際數值顯現是否有達到該表現則是不確定的
(也可以說是理論上出去的fps數值,實際上要看狀況)
▲若將各畫格的處理過成簡化成此示意圖,
就可以看到FRAPS的測量方式雖然可以測得效能表現(整體處理的畫格數量一樣),
但可能無法精準測出畫面停頓。

家機的優化主要就是處理縮短運算到輸出間的處理均勻化
(砍特效的用意就是減少中間的負擔達到後面電視畫面上輸出的順暢感)

以下面的測試圖表為例,在測試的過程中FPS表現相當不穩定,

大部分的frame time(畫格描繪需時)分佈於14至20ms之間,
介於16ms上下,但是當效能瓶頸產生時,frame time高鋒值高達665ms,
其停頓時間超過半秒以上,對於視覺感受影響相當嚴重。
瞬間最小FPS的波動幅度也很大,介於15~40幀之間,
流暢度有待加強,這些精確的FPS是FRAPS不容易測到的。
▲此圖為各畫格輸出時間的分佈圖,縱軸是繪圖時間,越高代表繪製該畫格需要較多時間(效能較低)。
▲最低FPS的分佈代表顯示卡運作的穩定性,曲線越接近水平代表效能分佈較為平均,畫面的流暢度趨於一致。
▲這是FCAT測得的FPS效能,黑色曲線代表FRAPS測得的FPS,藍色曲線則為FCAT測得的FPS,差異很大。

以這段為例子來說
FRAME TIME(MS)這個峰值影響的是遊戲間的頓挫感
而家機在處理上大多都是以處理到變成固定上下一定浮動值為準
所以頓挫感較低(當然也會有超出這固定浮動值外的狀況,如下)

FPS則影響到遊戲體驗的順暢感,
低於60會感覺到不順暢但不會有太大頓挫
(頓挫主要是上面的FRAME TIME不平均所產生的)

若能維持在30FPS且FRAME TIME的峰值趨近於一穩定值
實際上就不太會有卡卡的感受,頂多跟60FPS比較起來就不順
約略0:20-0:25這段
有個子彈狙擊到人的鏡頭

     這邊就很明顯的可以看的出來頓挫感情形
(FRAME TIME超出浮動值外)

在舉另一比較明顯的極端例子:PSV VS X360
前面城鎮內的VITA的FRAME TIME峰值算極端不穩定,而不穩定的狀況就是卡頓
在中間打怪的時候FPS儘管只有在20-24之間跑動,但FRAME TIME峰值沒爆
算是還可以玩,只是順暢感比起30還不順就是了
(會用這影片的原因是
裡面的X360在FPS數和FRAME TIME算完全穩定,算是完美流暢表現的對照組,
而比較組就是VITA版本,透過兩版本的比較就能佐證上面資料)

以PC為例

由於三顯卡效能各不同,其FPS順暢度也不同(裡面中間也有固定顯卡換CPU的測試),
而FRAME TIME的峰值數高低起伏也不一

可以透過更換配備或更新驅動來提升整體數值,
不過要考量到每台個人電腦使用上不同的動態因素,

所以不見得調整後都能達到絕對的穩定不頓挫
(目前除了G-SYNC&Free-sync方案之外,
最簡單的方式還是換更加強大的效能配備換取FPS的頓挫裕度)


以下是如何抓取問題畫格的測試方法

實際體驗FCAT的運作過程。

關閉垂直同步再測試

垂直同步的定義:
在於防止顯示卡繪製畫面的速度,
與送出畫面的速度不一樣,造成螢幕上同時顯示多張畫格組成的畫面,造成撕裂的狀況。


當顯示卡效能高於60FPS的時候,
當畫格繪製完成後,下一張畫格也將開始繪製,
所以當frame buffer送出畫面時,該畫面就會由前後不同畫格拼接而成。
若顯示卡效能不足時,情況也很類似,只不過顯示的畫面會由上一張與當張畫格所組成。

開啟垂直同步後,顯示卡將會將繪製速度限制為60的因數,
這樣一來在每秒顯示的60個畫格中,就都會是完整的畫面,
因此不會有撕裂的問題。

垂直同步的副作用就是可能會造成效能浪費,

當效能充足時將FPS設為60幀,但效能不足時,顯示卡會等到下一次螢幕更新時,
才將繪製完成的畫格送出,
於是瞬間FPS將依情況降為30、20、15、12、10、6、5、4、3、2、1等幀數。
若效能足以繪製55幀,但是實際運作時會受垂直同步的影響,
讓FPS只能達到30幀,其中有25幀的效能就浪費了。

使用FCAT的時目的是找出顯示卡不正常運作的狀況,
而開啟垂直同步反而會讓撕裂等問題不發生,

所以在本次測試過程中,筆者將關閉垂直同步,以免測試結果受到影響。


專注找出問題畫格

由於FCAT的針對性太強,
甚至說它是NVIDIA專門用來對付AMD的工具也不為過。

在這情況之下,可以合理假設的是,NVIDIA可能已經做好萬全的準備,
才將工具釋出給大眾使用,

這雖然代表了NVIDIA確實耗費許多心思在調校自家產品,

但卻容易產生公平性的疑慮。
因此筆者在測試過程中,避免對各家產品進行評比,

而是將測試的焦點放在找出有問題的畫格,並分析這些瑕疵對畫質造成的影響。

為了達到這個目的,筆者並不預先設定受測的顯示卡型號,
而是一一嘗試各張顯示卡,
查看在測試的過程中是否產生錯誤,若有錯誤則進行分析,若無則改為測試其他顯示卡。

整合上述測試方式,本次測試手法為「故意找出問題」,
所得到的結果會因為取樣方式不平均,
以及為了找出錯誤的測試目地而受到影響,並不宜由此結果推斷哪間廠牌的產品較出色。
▲這是典型的遺失畫格狀況,紫色色條後緊接灰色,畫面中缺少了橄欖球色代表的畫格。
(圖片來源:NVIDIA)

多套程式拼裝測試

官方也不諱言,FCAT就像拼裝車一樣,是由多套工具程式拼裝而成,
且錄影軟體是使用第三方軟體(VirtualDub)達成,
目前並沒有統一所有功能的程式可供使用。

依測試的流程來看,
最先使用的程式為Overlay工具,由它負責將色條貼入Overlay顯示層,
接著啟動測試機的受測遊戲,以及擷取機的錄影軟體,將遊戲的畫面錄下來。

待影片錄製完成後,使用萃取工具(extractor)分析影片中的色條長度,
並儲存為文字檔型式,最後再使用分析工具(analyze tool),
自動將所有資訊匯整分析,並製做圖表以利查閱。
▲VirtualDub在錄影時可以即時監控影片儲存狀況,儲存設備的速度一定要夠快,
才能讓所有畫格都正常儲存。

▲萃取工具會自動分析所有畫格中的色條長度,並記錄為分析工具可以讀取的格式,
解決了不可能人肉分析的問題。
22
-
板務人員:

1298 筆精華,02/26 更新
一個月內新增 0
歡迎加入共同維護。


face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】