私はMarmaldeとC/C++を使用してAndroid用のゲームを作成しています。 パフォーマンスを向上させるために、アセンブラで重要な部分を書きます。 しかし、私はこのアプリが最もAndroid搭載端末で動作するかどうかは不思議です。 (約90%) 一般的に、アセンブラコードはプロセッサに依存し、異なるアンドロイド携帯は異なるプロセッサ、例えばIntelまたはARMを持つことがあるので、これらの部分を異なるプロセッサごとに異なるアセンブラ言語で記述しなければならないでしょう!アセンブリ内のAndroidアプリケーション部品の作成
答えて
はい、もちろん、プロセッサ ABIごとにアセンブリコードを書く必要があります。
Android NDKにはspecific support for different ABIsがあります。
現在のところ、Intel x86/64、ARMおよびMIPSの3つのプロセッサファミリしかサポートされていませんが、プロセッサはファミリではなく、すべての異なるABIをターゲットにする必要があります。
MIPSデバイスは安全に削除できますが、これはまれです。
Intelデバイスはほとんどがタブレットですが、携帯電話もあります。
ARMには、大多数のデバイスがあります。あなたは既ににできるはずです
あなたは公式optimization guide from ARM v8見たりoptimization guide for Intel非常に便利で、あなたははそれが実際に良いアセンブリコードを書くには時間がかかりますが、それは何かの仕事をすることについてだけではないことを確認できる場合(簡単に)。
ヒント
はその後解体を見て、あなたはもっとうまくできるかどうか、あなたには、いくつかのサブ最適なパターンを認識することができるかどうか、最初のC++での重要な部分を書きます。
アセンブリ内のコードのみを書き換えます。
また、このようなマイクロ最適化を行う前に、より良いデータ構造、より良いアルゴリズム、およびより良いリソース処理を使用してください。
最後の文は絶対的なものであり、それをすべて集計します! – t0mm13b
- 1. 私のC#アプリケーションの内部に「ping」を作成する
- 2. Androidアプリケーションの返品NULL
- 3. androidの作品スレッド
- 4. 外部の依存関係を持つすべての内部アセンブリとアセンブリ
- 5. アプリケーション内部のファイル
- 6. Rails 3:内部プラグインシステムでアプリケーションを作成する
- 7. アセンブリ内のすべてのタイプのLinFuインターセプタを作成する
- 8. 部品内の角2アクセスNGコンテンツ
- 9. Androidは内部メモリにフォルダを作成します
- 10. xmlファイルを作成して内部ストレージに保存するandroid
- 11. AndroidアプリケーションのWebサービスの作成
- 12. Androidアプリケーションでの.CSVファイルの作成
- 13. 作成時のマゼンタディスカウント商品
- 14. 形式の日付は限り内部の部品
- 15. アプリケーション内のAndroid SDK
- 16. アプリケーション内部からのQtアプリケーションのスクリーンショット
- 17. Androidのグラフィックスの内部
- 18. Android内部オブジェクトストレージ
- 19. Windows.UI.Xaml.dllのアプリケーション内部例外
- 20. 内部WebアプリケーションのWebKitシェルブラウザ
- 21. 外部アプリケーション - グリッド内のマウスクリックイベント
- 22. アプリケーションを更新するときのAndroid内部ストレージ
- 23. MEFカタログから直接部品を作成しますか?
- 24. Android外部と内部データベースの混乱
- 25. Android NetworkOnMainThreadException AsyncTaskの内部
- 26. x64ビットプロセッサでのx86アセンブリの作成
- 27. 内部オープンソース型システムを作成する
- 28. アンドロイドで内部ファイルを作成する
- 29. 生成された.NETアセンブリを生成したアプリケーション内からデバッグする
- 30. C# - 完成したアプリケーションのコンパイル/アプリケーション内部からのファイルの使用?
ほとんどの場合、人間はコンパイラ/オプティマイザよりも優れたasmを書くことはできません。ですから、一般的には自分で自分自身を書くことから離れてください。あなたはツールに残しておくよりも、コードが悪くなり、問題が多くなる可能性があります。 (警告:Egosが干渉する可能性があります)。 –
試行錯誤しました。あなたはコンパイラよりも優れたASMを書くつもりはありません。 – SergeyA
**おそらく**間違っています。非常に特殊なコード(オーディオミキシングやフィルターが気になる)のためにコンパイラーを打ち負かすことができますが、一般的にはそれは価値がありません。 –