1. 程式人生 > >Unity RawImage載入Image到底在什麼時候用哪一種方法

Unity RawImage載入Image到底在什麼時候用哪一種方法

先看看 RawImage載入Image的區別:

RawImage核心程式碼比Image少很多,Raw Image不支援互動,可用於顯示任何圖片而不僅僅是Sprite,一般用在背景、圖示上,支援UV Rect(用來設定只顯示圖片的某一部分),而Image不支援UV Rect

前提:

從這可以看出當需要顯示一張(外部)載入的圖片時  切不用與之互動時

  這時候我們就看當地用哪一種方法顯示了

直接說吧  我載入一張image解析度 1000*1030 載入賦值一百次  所用時長

載入一張同樣解析度的圖片  以RawImage賦值一百次  所用時長

差距自己計算,自己掂量一下該怎麼使用

直接上測試程式碼

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Test3 : MonoBehaviour {

    public Image ImageObject;

    public RawImage RawImageObject;

    public void OnClickImageButton() //Image元件賦值方法
    {
        var path = Application.streamingAssetsPath + "/1.jpg";//外部圖片地址
        var tex = Download(path).texture;//使用www載入外部圖片(這個方法是自己寫的, 不會的話自己上網百度下)
        var time = Time.realtimeSinceStartup;
        for (var i = 0; i < 100; i++)
        {
            var sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
            ImageObject.sprite = sprite;
        }
        Debug.Log("Image賦值100次使用時間: " + (Time.realtimeSinceStartup - time));
    }


    public void OnClickRawImageButton()//RawImage元件賦值方法
    {
        var path = Application.streamingAssetsPath + "/2.jpg";//外部圖片地址
        var tex = Download(path).texture;//使用www載入外部圖片(這個方法是自己寫的, 不會的話自己上網百度下)
        var time = Time.realtimeSinceStartup;
        for (var i = 0; i < 100; i++)
            RawImageObject.texture = tex;
        Debug.Log("RawImage賦值100次使用時間: " + (Time.realtimeSinceStartup - time));
    }

    public  WWW Download(string path)
    {
        WWW  www = new WWW(path);

        YieldToStop(www);

        return www;
    }

    private  void YieldToStop(WWW www)
    {
        var @enum = DownloadEnumerator(www);
        while (@enum.MoveNext()) ;
    }

    private  IEnumerator DownloadEnumerator(WWW www)
    {
        while (!www.isDone) ;

        yield return www;
    }

}

相關推薦

Unity RawImage載入Image到底在什麼時候方法

先看看 RawImage載入Image的區別: RawImage核心程式碼比Image少很多,Raw Image不支援互動,可用於顯示任何圖片而不僅僅是Sprite,一般用在背景、圖示上,支援UV Rect(用來設定只顯示圖片的某一部分),而Image不支援UV Rect

removeFromParentAndCleanup引數為false當快取方法

node->retain() node->removeFromParentAndCleanup(false)node的引用計數過程:create                      

unity中經常委託代理

using UnityEngine; using System.Collections; public class EventDispatcher : MonoBehaviour {// Use this for initializationpublic delegate

程序員的十級別,看看你屬於

時間 中國 利用 其中 二級 獲取 自己的 十種 -s 第一級:神人,天資過人而又是技術狂熱者同時還擁有過人的商業頭腦,高瞻遠矚,技術過人,大器也。     第二級:高人,有天賦,技術過人但沒有過人的商業頭腦,通常此類人不是頂尖黑客就是技術總監之流。      第

編程語言適合人工智能?

多功能 進展 適合 本質 tro 可視化工具 智能 圍棋 shel 用Python機器學習庫,opencv和haarcascading概念來培訓。建立了樣品POC來檢測通過安置在不同地點的無線攝像頭傳遞回來基礎情感像幸福,生氣,悲傷,厭惡,懷疑, 谷歌的

人“cai”在兄弟連戰狼班Java培訓,你屬於?

心態 而且 心理 一點 四種 熱血 沒有 喜歡 這樣的 四種人“cai”在兄弟連戰狼班Java培訓,你屬於哪一種? 大家好, 俺叫劉小財,這個名字的是父母起的,俺覺得父母是這個意思,無論做什麽要給自己留一個後路。 俺來到兄弟連二個月,也慢慢適應了這裏的生活,每天都過

Centos下批量創建戶並且新建的戶可登錄的方法

用戶 批量創建 可以登錄 [[email protected] tmp]# touch username.txt 創建用戶名文件[[email protected] tmp]# vi username.txt[[email protected] tmp]#

java算法面試題:排序都有方法?請列舉。JAVA實現一個快速排序。選擇冒泡快速集合至少4方法排序

算法 err div println rda print 算法面試 ++ 快速排序 package com.swift; import java.util.ArrayList; import java.util.Collections; import java.util

創建線程有幾不同的方式?你喜歡?為什麽?

什麽 all HR thread 同時 應用設計 創建線程 callable 應用程序 創建線程有四種不同的方式: 1、繼承Thread類 2、實現Runnable接口 3、應用程序可以使用Executor框架來創建線程池 4、實現Callable接口 我更喜歡實現Ru

2分鐘精準鑒別初級、中級、高級程序員,你是

為什麽 tinyproxy har bug 高級 業務 我會 sgx 是什麽 源 / 頂級程序員 文 / An先生 @jonde初級:產品是大爺中級:懟過產品高級:打過產品 初級:加班中級:不加班高級:你們加班 @sunsulei初級:嗯?中級:嗯。高級:嗯? @ti

Vue來進行移動Hybrid開發和客戶端間資料傳輸的方法

如果大家覺得有用,更多的模組請點選檢視 即上一篇Vue 頁面狀態保持頁面間資料傳輸的一種方法,今天我們說說我們團隊是怎麼和客戶端進行互動。 為什麼到了今天,還要提hybrid開發,就我所在團隊從中獲得的好處有: 團隊較小、業務較重、迭代頻繁、需要緊急響應的團隊和專案比較適合用 使用單頁應用技術

型別的程式設計師,你屬於

在我的程式設計生涯中,我碰到過很多奇奇怪怪的對手和同盟。我把這些編碼戰士們分成五類,有些人是你隊伍中的好夥伴,有些人則是搗蛋者,讓你的每一個計劃都完不成。 不管怎麼說,他們在軟體開發的諸神殿上都佔有一席之地。如果你的團隊中沒有一個合適健康的比例,混合這些不同型別的程式設計師,要麼你會發現你的專案跌跌

為複IP構建UVM驗證環境的方法

本文轉自:http://www.eetop.cn/blog/html/28/1561828-437264.html 基於複用IP的設計方法學已經被廣泛應用在SOC設計中,複用IP數量的增多使得IP的驗證與整合變為一個不小的挑戰,在本篇論文中,我們將介紹一種通用的搭建複用IP驗證環境的方法,這種方

精準鑑別初級、中級、高階程式設計師,你是

@jonde 初級:產品是大爺 中級:懟過產品 高階:打過產品   @PureWhiteWu  初級:加班 中級:不加班 高階:你們加班   @sunsulei 初級:嗯? 中級:嗯。 高階:嗯?

Unity Android IL2CPP 編譯報錯的可能原因

Unity 版本 5.6.6f2 在使用 Android 的 IL2CPP 時,發生編譯報錯,報錯內容如下所示: stdout: IL2CPP error (no further information about what managed code was being co

Python實現"佇列實現棧"的方法

使用佇列實現棧的下列操作: push(x) -- 元素 x 入棧 pop() -- 移除棧頂元素 top() -- 獲取棧頂元素 empty() -- 返回棧是否為空 Example: MyStack stack = new MyStack(); stack.p

判斷字串的編碼型別,判斷出字串value的編碼方式為charset中的,然後返回。

public static String charset(String value, String charsets[]) throws UnsupportedEncodingException { String probe = StandardCharsets.UT

資料驅動業務的七型別,你目前在

作者:接地氣的陳老師 ------------------------------------------------------ 我們總說資料驅動業務,可平時看到的,卻總是業務部門追著資料部門屁股要資料。哪裡是驅動業務了,分明是被人牽著鼻子走啊!很多同學都有類似的疑惑:到底資料分析對企業有什麼用?我的資

職場進階的10姿勢,你是呢?

除了埋頭苦幹,你的職場晉升之路還剩下哪些優勢? 這個世界充滿假象,唯有痛苦從不說謊! 職場如戰場,本就是優勝劣汰適者生存,只會埋頭苦幹的人,不過算是機械式運作的流水線工人,做得再多,再努力認真,也不過是生產力較高的的優秀的機械式員工。 簡言之,誰敢指望一頭只會低頭幹活,

不同的程式設計師,你屬於?如果要裁員,你會讓誰走?

秋招剛過,網際網路上便掀起了程式設計師”縮招“的風波,傳言華為已經停止社招,BAT等Offer也遲遲沒有響應。2019年將近,網際網路公司開始有大動作了。作為生存率較低的群體,網際網路公司每年都會進行或少或多的裁員,不少大型網際網路公司都有著一套末尾淘汰制度(比