私は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. VB.Netアプリケーションとアセンブリの警告の作成
- 2. 自動部品番号の作成、vb.net
- 3. アセンブリ内のスイッチ、ケース構造を作成
- 4. Androidの内部キャッシュディレクトリ内にイメージファイルを作成する方法
- 5. Androidは私がのonCreate内部の下に次のコード(作品)は意図putExtra
- 6. Androidアプリケーションの返品NULL
- 7. 私のC#アプリケーションの内部に「ping」を作成する
- 8. androidの作品スレッド
- 9. Android 7.0で内部ストレージのディレクトリを作成できない
- 10. android lollipopのフォルダ内部ストレージを作成する方法
- 11. 外部の依存関係を持つすべての内部アセンブリとアセンブリ
- 12. Creo Toolkit:現在の部品、アセンブリ、図面をフェッチする方法
- 13. AndroidアプリケーションのWebサービスの作成
- 14. AndroidアプリケーションのDeep Linkの作成方法
- 15. Androidアプリケーションでの.CSVファイルの作成
- 16. アセンブリ内のすべてのタイプのLinFuインターセプタを作成する
- 17. アプリケーション内部のファイル
- 18. CXF:SOAPヘッダ内の複数の部品
- 19. Rails 3:内部プラグインシステムでアプリケーションを作成する
- 20. 作成要素は内部
- 21. androidのgpsアプリケーションを作成する
- 22. IntelliJ - Android Wearのアプリケーションを作成する
- 23. 内部ストレージにSQLiteデータベースを作成するANDROID
- 24. xmlファイルを作成して内部ストレージに保存するandroid
- 25. Androidは内部メモリにフォルダを作成します
- 26. 部品内の角2アクセスNGコンテンツ
- 27. Postgresqlの内部レコードID /作成日
- 28. ループの内部にフォームを作成
- 29. 作成ストアドプロシージャの内部結合
- 30. YDNアプリ作成時の内部エラー
ほとんどの場合、人間はコンパイラ/オプティマイザよりも優れたasmを書くことはできません。ですから、一般的には自分で自分自身を書くことから離れてください。あなたはツールに残しておくよりも、コードが悪くなり、問題が多くなる可能性があります。 (警告:Egosが干渉する可能性があります)。 –
試行錯誤しました。あなたはコンパイラよりも優れたASMを書くつもりはありません。 – SergeyA
**おそらく**間違っています。非常に特殊なコード(オーディオミキシングやフィルターが気になる)のためにコンパイラーを打ち負かすことができますが、一般的にはそれは価値がありません。 –