簡體   English   中英

OpenGL ES 2.0:可以安全地假設混合在移動設備上相對便宜嗎?

[英]OpenGL ES 2.0: Safe to assume that Blending is relatively cheap on Mobile Devices?

到處都是,我讀到了Blending的一個重要表現,直到我發現一條評論,由於它們的架構,它在iOS設備上並不那么昂貴。

現在,美妙的超級控制的Apple世界與Android有點不同,但是我做了一些測試,看起來我的Blending只是性能的一半,而不是從RGB555切換到RGBA8888(在我試過的兩個設備上) )。

問題:

  • 有沒有經驗法則,雖然Android設備的硬件差異很大,但是“屏幕分辨率的GPU計算能力”不會低於某個閾值?

  • 這樣的規則是否也適用於混合?

  • 某些基礎測試設備列表是否是某些系統市場分析的結果? 以下形式:如果它在這些設備上運行,它會在任何合理的設備上運行嗎?

  • 您是否使用混合,以及它為您的客戶帶來了什么樣的體驗?

我看到使用混合的替代方案,所以我很想知道要投資什么或者是否應該避免,嗯,未知。

我懷疑是否有任何經驗法則,在Apple世界,明天他們可能會決定轉向其他架構並且你所有的假設都被搞砸了。 對於Android,有太多的供應商和架構來決定哪個混合閾值對每個閾值都有好處。 唯一的經驗法則是在您真正需要時使用混合。 所以你的問題的答案是:假設混合在移動設備上相對便宜是不安全的。 混合需要從內存中讀取,並且移動設備上的內存很慢。

我做了一些我認為我會分享的額外研究。 如果你欣賞我的調查,那么讓我知道(upvote?),我可能會分享更多,因為我了解更多。

由於只有1.8%的Android設備運行API 8 / 2.2 / Froyo之前的版本,因此98.2%的Android設備支持OpenGL ES 2.0(盡管2.2 API存在一些缺陷)。

我找到了以下品牌的最高/最大/最新信息,這些芯片支持GLES20(給定最大時鍾頻率):

  • Adreno 200(每秒2200萬個三角形,每秒1.33億個像素)
  • Mali-200(16 mtps,275 mpps)
  • PowerVR SGX520(7 mtps,100 mpps)
  • Tegra APX 2500(40 mtps,400或600 mpps,具體取決於來源)

我今天能找到的最便宜的Android設備使用了

  • MARVELL PXA910 800MHz(10或20 mtps,200 mpps)

如果不需要繪制一半的三角形(通過剔除),那么每秒2000萬個三角形似乎是理論上的最大值。

我發現Marvell區分兩個峰值有點可疑; 也許我應該對我在營銷幻燈片和論壇上發現的Tegra數據持懷疑態度。 此外,我有一個配備PowerVR SGX530(14 mtps,200 mpps)的設備,它使我的測試應用程序至少與我的Tegra 2 T20設備(71 mtps,1200 mpps)相同的速度800x480屏幕,我嘗試在1024x600 。

我有兩個與Tegra 2 T20相同的設備,而運行Android 3的設備比運行Android 2的設備更快地運行我的測試應用程序。但兩者都運行非官方的Android版本。 我認為這可能導致GPU利用率不理想,但CPU負載顯示為非常低。 也許SurfaceView的開銷會超出一定的幀速率 - 但PowerVR設備也運行Android 2。

到目前為止,這與alpha混合沒什么關系(除了我在Nvidia芯片上讀到的那些隱含在片段着色器中完成的內容),但我覺得值得記錄起點。 但請繼續關注更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM