主頁 > 移動端開發 > 請教一個大難題,qt怎么在一個fb基礎下,一個執行緒畫波形,一個執行緒主UI

請教一個大難題,qt怎么在一個fb基礎下,一個執行緒畫波形,一個執行緒主UI

2020-09-11 21:39:50 移動端開發

我們都知道,UI都是只能一個執行緒的,我的嵌入式芯片不是很強,只有一個FB,用于QT的主UI執行緒。但是我有個很關鍵的需求,就是40ms實時重繪波形不能有任何卡頓,目前波形本身繪制是不占什么資源的,就幾個點,但是其他東西在主執行緒繪制時,極大幾率都會有超過40ms的情況,甚至幾百毫秒,如果畫波形的執行緒和它們在一起,就必然要等待,效果就是一卡一卡的。有沒有什么思路方案能解決這個問題,改原始碼都可以的。雙FB合成的方案我也試過了,雖然波形不卡了,但是合成速率=刷屏速率=幀數,和解析度掛鉤,結果就是整體UI變卡了,只能放棄,有沒單UI單FB的方案?

uj5u.com熱心網友回復:

Linux系統嗎?
設定執行緒優先級試過嗎?

uj5u.com熱心網友回復:

參考 1 樓 弓人水 的回復:
Linux系統嗎?
設定執行緒優先級試過嗎?
qthread 針對unix系統,無法設定執行緒優先級,在qt檔案有說明了,而且這個也不是執行緒優先級的問題,不過怎么子執行緒,最侄訓圖都必然落到主執行緒,其他東西的繪圖占用多少時間,輪到波形貼出來時就必然會等到其他東西的繪圖事件結束。我希望是比如打開一個選單,這個選單在主執行緒繪圖,卡了1秒,這1秒時間內,整個主執行緒UI都卡住等待選單的彈出,但波形要像個沒事人一樣繼續按照40ms的間隔往前繪圖行進。

uj5u.com熱心網友回復:

看一下QCoreApplication::processEvents()有沒有用

uj5u.com熱心網友回復:

參考 3 樓 芒果黑 的回復:
看一下QCoreApplication::processEvents()有沒有用
這個應該用處不大,只要其他控制元件或者表單正在主執行緒執行著超過40ms的事情,比如某個大視窗彈出時的paintevent,那么波形的paintevent就一定會等別人干完了,才輪到他,就算你把波形優先貼,但是別人事遲早都要干的,干的程序中,干多久,波形就要等多久才輪到,除非像單片機那樣子中斷嵌套。換句話說,這個問題我覺得沒辦法從事件回圈角度去解決的。
  拋開代碼,總結就是只有1個執行緒,干A事和干B事,干A事每40ms就觸發一次,只干0.000001ms,迅速解決,但是干B事呢,就有可能要100ms,那么干A事就會在B事來到并且正在干的時候,必須等待它干完,才輪到A事。所以我才說這是大難題,因為QT的UI是不允許子執行緒的,估計是為了安全。畢竟只有1個framebuffer,我們知道假如2個行程同時對1framebuffer寫值,會發生什么事?那就是你的LCD屏會瘋狂閃爍。

uj5u.com熱心網友回復:

這個不是什么資料填寫和貼圖分開這些基礎問題。而是主執行緒正在被占用時并且CPU沒有100% (畢竟如果100%,就沒有討論意義了),波形要繼續貼出來,是貼出來,是能看到正在走動的貼出來。

uj5u.com熱心網友回復:

又想把耗時的放ui,又想讓ui快速重繪,找到了這種框架麻煩告訴我

uj5u.com熱心網友回復:

參考 6 樓 龔建波 的回復:
又想把耗時的放ui,又想讓ui快速重繪,找到了這種框架麻煩告訴我
可能你沒看懂我的問題,主ui要畫界面控制元件,必然會耗時,而這個耗時的時間,是很容易超過波形的貼圖間隔,就算把除了繪圖的其他事情全放到子執行緒,但是你畫界面就都必然落到主執行緒,這個畫界面的程序,必然會把貼波形的程序卡一下,所以才希望把波形的貼圖放子執行緒。當然,我發帖只是在找做過這方面的人,沒做過這方面的人,都會覺得不可能做到,或者連題目都還沒理解。因為我們有一個成熟方案確實做到了,但是效果和解析度掛鉤,而且中間為了顯存安全不沖突,還做了些損失效率的“無用功”,導致幀數不達到預期,所以才看看有沒其他人弄過。沒弄過的人,我感覺很難會有思路的,這個甚至還有人寫了專利,思路是對的,但是寫的很上層,看了也白看。

uj5u.com熱心網友回復:

基本大多數的GUI庫都是只允許由主執行緒來操作UI吧。你可以在子執行緒中去處理幀快取,主執行緒里只需要把你處理好的幀快取顯示到UI上

uj5u.com熱心網友回復:

你應該是用的qPainter吧,你可以在子執行緒中使用QPainter對同一張QPixmap進行繪圖,主執行緒去繪制這張qPixmap,需要注意的就是你顯示這張pixmap的時機以及何時去清空這張pixmap,如果你不需要持續的實時繪制,你完全可以在主執行緒同時繪制這兩個圖形的pixmap,只不過如果某個pixmap如果沒有繪制完成,你只需要給這張pixmap填充透明色,子執行緒繪圖(或者重置)完畢,只需要發送一個信號,在主執行緒重繪一下界面即可

uj5u.com熱心網友回復:

參考 9 樓 Italink 的回復:
你應該是用的qPainter吧,你可以在子執行緒中使用QPainter對同一張QPixmap進行繪圖,主執行緒去繪制這張qPixmap,需要注意的就是你顯示這張pixmap的時機以及何時去清空這張pixmap,如果你不需要持續的實時繪制,你完全可以在主執行緒同時繪制這兩個圖形的pixmap,只不過如果某個pixmap如果沒有繪制完成,你只需要給這張pixmap填充透明色,子執行緒繪圖(或者重置)完畢,只需要發送一個信號,在主執行緒重繪一下界面即可
謝謝回答,但我好像沒看明白什么意思,是指波形區域用一個qpixmap嗎?然后子執行緒對這個pixmap繪圖。但是要眼睛看到這個pixmap,就要主執行緒真正呼叫drawpixmap把它畫出來才能看到。那假設我定時器40ms去呼叫drawpixmap,但是假如這個時候彈出一個大選單,主執行緒就會去畫這個選單,這個時候波形的drawpixmap就要等這個選單畫完并貼到螢屏上,因為它們都在一個執行緒上呀。這樣子看起來就是波形會被卡了下。我是希望波形要像單片機中斷一樣,定時時間一到,強制畫圖,強制輸出到framebuffer,眼睛必須看到波形被貼出來,效果是絲滑地、持續地走動。

uj5u.com熱心網友回復:

40ms重繪的影片,幀數并不是很高,即便是你對整個螢屏進行一個實時的繪制也不會卡頓,占用都不會很高。也就是說單純進行一個圖形的繪制,沒有太多處理,實時繪制是完全可以做到的。卡頓的原因你也清楚,是因為主執行緒的阻塞導致的。假設你這個主選單對應A(pixmap),波形區域對應B,使用定時器去重繪界面,在主執行緒中只負責繪制這兩個pixmap,也就是說主界面只能接觸到這兩個pixmap(從全域來看,你只是寫了一個顯示兩張圖片的視窗,而當下的計算機性能是很輕松就能完成的),而你要繪制波形區域,則是在子執行緒中對這個pixmap進行處理,處理頻率可以由你自行設定,它不會導致主執行緒的阻塞

uj5u.com熱心網友回復:

我看你之前的回答,你說A需要0.01ms,B可能100ms,所以主執行緒可能40ms完成不了繪制導致卡頓,是因為你把大多事情都交給主執行緒了(比方說一些繪圖的設定操作)

你需要做的是,主執行緒40ms定時重繪,每一次重繪都去繪制兩張pixmap,不管這個pixmap里是什么。然后呢要做的就是在一個執行緒中以0.01ms去處理A對應的pixmap,以另一個執行緒以100ms來處理B對應的pixmap,這樣就能保證主執行緒同步也不會出現卡頓

uj5u.com熱心網友回復:

如果你需要更高性能的繪圖,可以學一下Qt封裝的QOpenGLWidget,不過需要3D圖形基礎,短期內很難掌握

uj5u.com熱心網友回復:

參考 13 樓 Italink 的回復:
我看你之前的回答,你說A需要0.01ms,B可能100ms,所以主執行緒可能40ms完成不了繪制導致卡頓,是因為你把大多事情都交給主執行緒了(比方說一些繪圖的設定操作)

你需要做的是,主執行緒40ms定時重繪,每一次重繪都去繪制兩張pixmap,不管這個pixmap里是什么。然后呢要做的就是在一個執行緒中以0.01ms去處理A對應的pixmap,以另一個執行緒以100ms來處理B對應的pixmap,這樣就能保證主執行緒同步也不會出現卡頓

  這個已經有點像我最開始說的雙FB合成的方案。
  我的運行平臺是嵌入式芯片,單核800MHz,linux系統,只有一個framebuffer。
  首先我們知道,qt自己的控制元件,都是默認paintevent繪制內容,且在主執行緒。我們自己畫的widget確實實作了子執行緒里對pixmap畫圖,然后發給主執行緒,主執行緒paintevent直接呼叫drawpixmap。但如果要用你的方法,就要針對到所有用到的qt控制元件,qpushbutton, qwindow之類的都要自己實作雙pixmap的更新機制,但這顯然是不現實的。實際上我們的專案有很多很多選單,用了很多qt自帶的控制元件,當然也有我們自己代碼畫的qwidget控制元件。

uj5u.com熱心網友回復:

參考 14 樓 Italink 的回復:
如果你需要更高性能的繪圖,可以學一下Qt封裝的QOpenGLWidget,不過需要3D圖形基礎,短期內很難掌握
這個沒必要,因為我們波形區的波形繪圖速度很快,占用資源少,反而是QT自帶的控制元件,視窗占用比較高,是QT的UI卡了波形,不是波形卡了UI。總不可能把整個工程所有用到的qt控制元件,自己用qopenglwidget畫一遍,所有邏輯實作一遍來代替qt自己的控制元件把。。。最多就是把qt的后端從linuxfb改為eglfs,然后編譯的qt庫支持opengles,不過這個也需要芯片廠家的驅動支持。實際上有沒有這個并不會解決我說的問題,除非它能把我的UI所有繪圖,從幾十毫秒,幾百毫秒,直接壓縮到1毫秒,跟臺電腦一樣的速度,然而很可惜,這個CPU的圖形卡做不到這個程度。

uj5u.com熱心網友回復:

螢屏大概有一半的區域是繪制實時波形的,40ms定時繪制打點走動。其余區域有些是熱鍵,有些是定時更新的其他引數數值矩形widget塊。點開熱鍵會彈出各個選單。熱鍵都是qpushbutton實作的,選單里面還有很多qt控制元件,combobox, spinbox啊,qlabel啊之類的。new一個空白大選單,show出來,少說主執行緒就要幾十毫秒,這個程序,假如主界面其他widget也要update,那么波形看起來更加是一頓一頓的。

uj5u.com熱心網友回復:

參考 17 樓 qq_21042359 的回復:
螢屏大概有一半的區域是繪制實時波形的,40ms定時繪制打點走動。其余區域有些是熱鍵,有些是定時更新的其他引數數值矩形widget塊。點開熱鍵會彈出各個選單。熱鍵都是qpushbutton實作的,選單里面還有很多qt控制元件,combobox, spinbox啊,qlabel啊之類的。new一個空白大選單,show出來,少說主執行緒就要幾十毫秒,這個程序,假如主界面其他widget也要update,那么波形看起來更加是一頓一頓的。
有用戶互動的時候,卡頓一下算正常吧。沒有互動的時候,你不主動去重繪界面,它不會重繪的呀。   你這個定時重繪的機制可以優化一下,改成有資料變化到時間再重繪,沒變化就不用刷。

uj5u.com熱心網友回復:

參考 16 樓 qq_21042359 的回復:
Quote: 參考 14 樓 Italink 的回復:
嗯嗯,是挺麻煩的。或者應該更細致的去思考究竟是什么導致了界面的卡頓?通常情況下UI應該不會卡頓,只可能是短時間內有一個爆發性的占有提升,是否可能是因為一些不恰當的操作導致了一些關聯操作?這些操作是否有必要,如果沒有必要,可以想辦法避免這些關聯操作,如果有必要,再考慮是否可以延遲操作。代碼是你寫的,你肯定更清楚該怎么做。

uj5u.com熱心網友回復:

參考 19 樓 Italink 的回復:
Quote: 參考 16 樓 qq_21042359 的回復:
Quote: 參考 14 樓 Italink 的回復:
嗯嗯,是挺麻煩的。或者應該更細致的去思考究竟是什么導致了界面的卡頓?通常情況下UI應該不會卡頓,只可能是短時間內有一個爆發性的占有提升,是否可能是因為一些不恰當的操作導致了一些關聯操作?這些操作是否有必要,如果沒有必要,可以想辦法避免這些關聯操作,如果有必要,再考慮是否可以延遲操作。代碼是你寫的,你肯定更清楚該怎么做。
代碼沒問題,直接用qwindow, new show就能耗時了,單核800MHz的嵌入式芯片,跑qt就是這個性能的,行業內龍頭公司也是用這個芯片,UI也是這個性能,打開大視窗就是要比較久的時間,但是他們真的做到在UI干大活的時候(比如打開一個大視窗)波形一點都不卡。只打聽到他們用錢砸的,把qt工程師請過去專門給他們優化的原始碼。

uj5u.com熱心網友回復:

參考 18 樓 翅膀又硬了 的回復:
Quote: 參考 17 樓 qq_21042359 的回復:
螢屏大概有一半的區域是繪制實時波形的,40ms定時繪制打點走動。其余區域有些是熱鍵,有些是定時更新的其他引數數值矩形widget塊。點開熱鍵會彈出各個選單。熱鍵都是qpushbutton實作的,選單里面還有很多qt控制元件,combobox, spinbox啊,qlabel啊之類的。new一個空白大選單,show出來,少說主執行緒就要幾十毫秒,這個程序,假如主界面其他widget也要update,那么波形看起來更加是一頓一頓的。
有用戶互動的時候,卡頓一下算正常吧。沒有互動的時候,你不主動去重繪界面,它不會重繪的呀。   你這個定時重繪的機制可以優化一下,改成有資料變化到時間再重繪,沒變化就不用刷。
有資料變化才重繪,這些都是必做的,也已經做了,但是我們主界面除了波形以外,其他引數也是定時重繪的,資料什么時候改變無法控制,打開選單視窗那些也是需要的。這些都會卡到波形

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/7798.html

標籤:Qt

上一篇:Android 未來會被誰代替?

下一篇:QT QChart設定線條的顏色不成功

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:40:31 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:40:11 more
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:39:36 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:39:13 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:16:23 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:16:15 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:15:46 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:14:53 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:14:08 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:08:34 more