没有设置可以加快速度
WWW。如果速度较慢,则说明它要么在移动设备上实施不佳,要么设备又旧又慢。请注意,您的计算机大多数时候都比移动设备快,因此这可能是您认为很慢的原因。
替代方案 :
1 现在,让我们假设这
WWW是问题所在。有一个应该替换的新Unity API
WWW。那就是
UnityWebRequestAPI。
真的很容易使用:
IEnumerator makeReuest(){ UnityWebRequest www = UnityWebRequest.Get("YourURL"); yield return www.Send(); string text = www.downloadHandler.text;}
2。使用
C#
WebRequest发出请求。将proxy变量设置
null为,以加快请求速度。您必须在另一个应用程序中使用它,
Thread或者使用其异步功能发出请求,否则,您将冻结游戏直到请求完成。
UnityThread从这里开始抓取,因为本示例将使用Unity
ThreadPool,
UnityThread如果您想使用Unity
API(例如
Text来自另一个组件的组件),则需要使用
Thread。
void Awake(){ //UnityThread.initUnityThread(); downloadData();}void downloadData(){ ThreadPool.QueueUserWorkItem(new WaitCallback(makeRequest));}private void makeRequest(object a){ string url = ""; string result = ""; var request = (HttpWebRequest)WebRequest.Create(url); //Speed up request.Proxy = null; using (var response = (HttpWebResponse)request.GetResponse()) { var encoding = Encoding.GetEncoding(response.CharacterSet); using (var responseStream = response.GetResponseStream()) using (var reader = new StreamReader(responseStream, encoding)) result = reader.ReadToEnd(); } UnityThread.executeInUpdate(() => { //Use in Unity Thread yourTextComponent.text = result; });}
希望其中之一可以加快您的请求。如果那没有发生,那就是您设备的限制。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)