Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。展開し保存するという処理を書いているのですがレスポンスで受け取ったデータをMemoryStreamに書き込む時5Mのファイルを書き込み終わるのに40秒近くかかっており、どうにかして高速したく調査しています。Tarファイルは全部で80個で500Mほどあり、リソースを全て落とすのに1時間ほどかかっています。この処理はダウンロード中非同期に動作させたいので別スレッドで動作しています。Androidでは、これほど時間がかからず10分程で完了しておりiOSでのみ起こっているので、他にも原因があるかもしれないのですがまずはログを貼って判明したこの現象からつぶしていきたいと思っています。・貼り付けたソースのdo~whileで回しているところで5MのファイルのバイナリーをMemoryStreamに書き込んでいるのですが、このループを抜けるまでに40秒ほど掛かっています。buffer.Length);の戻り値のcountが16384になり16kバイトづつしか読めてないようなのですが、このサイズは何を基準算出されるのでしょうか?●ソースコードを抜粋しています。4.0以降であればStream.CopyTo()メソッドが使えます...が、コピーの仕方が原因ということはないでしょう。WebRequestクラスがそもそも遅いのかもしれません。UnityWebRequestクラスは使えないでしょうか?このサイズは何を基準算出されるのでしょうか?一般にStreamは一度に読み出せる量に保証がありません。結果的に16KBとなったとしか言いようがありません。高速で処理したいのでダウンロード機能のみをC#のスレッドを使って別スレッドにしております、別スレッドではUnity関係の処理を使うことができず、UnityWebRequestクラスはUnityのスレッドでしか使用できないと思われます。>一般にStreamは一度に読み出せる量に保証がありません。結果的に16KBとなったとしか言いようがありません。4:23マルチスレッドをやめてシングルスレッドにて、WWWとHtttpWebRequestとUnityWebRequestを比較したところ、おっしゃるようにHtttpWebRequestに原因があるようでWWWやUnityWebRequestを使用したところ、1時間かかっていたものが3分~5分になりました。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。