web-dev-qa-db-ja.com

UWP 10の開発が非常に遅いのはなぜですか?

ユニバーサルWindowsプラットフォーム10用のアプリを作成するVS2015での開発経験が非常に遅いことに問題がある人は他にいますか?コンパイル、デバッグ、さらにはウィンドウ間の切り替えでさえ、同様の基本的なWPFアプリケーションでの作業に比べて非常に時間がかかります。

グーグルでこの経験についての言及を見つけることができなかったので、私のセットアップにモンキーレンチをUWP開発者に投げ込んでいる何かがあるのだろうかと思いました。

誰かがこれを経験したことがありますか、または開発をスピードアップする方法を知っていますか?

更新

この質問のコンテキストは、RELEASE(.NETネイティブ)モードではなく、DEBUGモードでコンパイルしています。

18
BCA

2016年10月更新

Visual Studio 2015 Update 3の時点で、この回答は関連性がなくなりました。マイクロソフトは、開発環境を安定した状態に戻すために素晴らしい仕事をしました。現在、XAMLデザイナーに問題がありますが、コーディングとビルドははるかに高速で楽しいものです。 XAMLデザイナーで見つかった衰弱させる問題のほとんどが次のVisual Studio 15で解決されることを願っています。


誰かがこれを経験したことがありますか

はい

私のチームの全員がUWPのために髪を失っています。私は、Microsoftが私にC#とXAMLを嫌うことを望んでいるとほぼ確信しています。

...または開発をスピードアップする方法を知っていますか?

アプリをUWPに移植していますが、Win8のサポートを終了できません。だから、私は同じソリューションで両方のプロジェクトを持っています。私の場合、処理を高速化するために、ビルド構成を「Debug-UWP」と「Release-UWP」に変更して、Windows10アプリで作業しているときにWin8アプリケーションとプロジェクトを除外しました。これはほんの小さな安心です。構築はまだ苦痛な経験です。

また

NuGetを無効にして、ビルドごとにパッケージを復元できます。 Options>NuGet Package Managerに移動し、[自動的に欠落していないかどうかを確認する]のチェックを外しますVisualStudioでのビルド中のパッケージ。」これもマイナーですが、少しでも役に立ちます。

2
Laith

たった2セントですが、最近、UWPプロジェクトで作業するときに大きな問題があることに気付きました。

Android/iOS/WP8およびUWPで互換性のあるアプリを作成するために、Xamarinを使用してプロジェクトに取り組んでいました。

しかし、最近Visual Studio 2015 Update 2(W10を使用)で作業していると、パフォーマンスが非常に遅くなり、インターフェイス、ビルド、デバッグ、XAMLが非常に遅くなり、すべてが非常に遅くなりました。

次に、非常にひどいことを発見しました。UWPプロジェクトをソリューションの開始プロジェクトとして設定すると、Visual Studio2015は非常に遅くなります。私は本当の問題は何ですか?しかし、これは私にとって本当の問題でした!

スタートアッププロジェクトを、UWPとWP8以外のソリューション内の他のプロジェクトに設定しました。デバッグする必要がある場合は、ソリューションエクスプローラーで右クリックして起動し、[デバッグ]をクリックします。

それ以来、VS2015にはパフォーマンスの問題はありません。

5
Guillaume ZAHRA

魅力的...単に魅力的です。

メインのUWPアプリのビルドプロパティで[.NETネイティブツールチェーンを使用してコンパイルする]をオフにします。 UWPライブラリは、ネイティブツールチェーンオプションを提供していないようです。

私は、ファイル解析アプリケーションの実行に、デバッグビルドよりもリリースビルドの約2倍の時間がかかる(ビルドではない)理由の問題と戦っていました。起こったはずのことの完全に逆。また、リリースビルドを完了するのに長い時間がかかったことにも気づきましたが、それは当面の二次的な問題でした。

完全な再構築中に出力ウィンドウを見ると、ライブラリが以前と同じくらい速く構築されることに気付くでしょう。次に、メインアプリは行き詰まるアプリになります-たくさん。

プロジェクトのビルドプロパティを確認し、メインのUWPアプリにのみ[.NETネイティブツールチェーンでコンパイル]オプションがあることに注意してください。図書館にはそれがありません。また、デフォルトでは、リリースビルドのみが有効になっています。デバッグビルドはそうではありません。案の定、リリースビルドでオフにすると、リリースビルドはデバッグビルドと同じ速さで完了し始めます。

次に、奇妙な奇妙さ...私のUWPアプリリリースビルドは、以前は2倍近く遅く実行されていたときに、デバッグバージョンよりも約10%速く実行されるようになりました。

これはすべて非常に直感に反します。ネイティブビルドは、非ネイティブビルドと同じくらい速く実行する必要があります。 Visual Studioのコンパイラには、プロセッサのビルドを最適化するためにさらに多くの労力を費やすオプションが確かにあります。

ネイティブビルドツールの問題について他に何か公開されているものがあるのか​​、そして説明があるのだろうか。ビルド時間が遅いことは、ビルドツールが特定のネイティブプロセッサ用に最適化しようとして非常に困難になっている場合に完全に理解できます。ただし、ネイティブコードの実行速度が非ネイティブコードよりも大幅に遅いという事実は、完全に直感に反します。このような状況でMSFTがネイティブビルドツールをリリースするのに苦労したことは意味がないようです。そのため、ツールが正しく使用されていないのか、その他の誤解が足元にあるのか疑問に思います。

3
kburgoyne