日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MGD 调试 Lives2d 文字破碎问题 (MX2)

發布時間:2023/12/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MGD 调试 Lives2d 文字破碎问题 (MX2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天把FreeType加入到Lives2D中,在Win上表現正常,但是在Android上面,文字一閃而過,然后就糊掉了,猜測是Texture被損壞,于是計劃用MGD來調試GLES查看具體問題。


MGD需要Root手機,我手里的是魅族MX2,魅族的Flyme 首先需要在設置的個人中心里面開放權限,然后再安裝KingRoot完全開啟Root權限,其它Root軟件是不行的。


然后電腦連接手機,在MGD中安裝MGD Android App 和 Root Interceptor。



?安裝好之后,雙擊設備,就可以開始監聽了。

轉自http://blog.csdn.net/huutu http://www.liveslives.com

在手機上打開MGD,設置里面選擇監聽所有應用,然后在列表中打開應用。

電腦上的MGD就開始收集ES的渲染信息。


在左側幀列表選擇一幀,右側就可以看到詳細的DrawCall調用。


來看看問題。

Lives2d 使用FreeType來生成文字紋理,在Win上面一切安好。文字能正常 顯示。


在MX2上表現為文字破碎



在MGD中,顯示第3幀的時候,才有字體紋理,并且紋理上只有Ag 2個字母。轉自http://blog.csdn.net/huutu http://www.liveslives.com


為什么界面上顯示有好多字母,但是實際上這一幀的紋理卻只有Ag 2個字母呢?


在我的代碼中,對 label_name 先生成紋理,然后繪制。然后對 label_Age 生成紋理,再繪制。

在生成紋理的操作中,會先檢測當前字符是否已經生成過紋理,如果生成過,就直接返回UV。


按照上面的測試,反映出來的是對 label_Age生成紋理的操作中,把label_name對應的紋理 刪掉了。


然后再看第4幀。


第四幀的時候,字體紋理沒有了。


可見代碼中的錯誤,導致下一幀會清空上一幀生成的 字體紋理。


原因是這樣的,在繪制文字之前,我又調用了一次glTexImage2D,生成了新的Texture,覆蓋了生成好的文字Texture。是復制代碼的時候,直接粘帖過來,導致了問題。


刪除這句代碼后,Android上也可以正常顯示了。



詳情請看我在Github上的Commit:

https://github.com/ThisisGame/Lives2D/commit/951dc800ceb6c10720da7eceac223f2741f5ec74#diff-3a1dd030e46b971c7eda6511eea59bd4

MGD功能強大,這次的文字破碎問題直接看GL Function調用應該也能看出來,不過我對MGD和GL還是不太熟悉,所以就直接看文字紋理了。

總結

以上是生活随笔為你收集整理的MGD 调试 Lives2d 文字破碎问题 (MX2)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。