どの程度のサイズのバイナリコードが変換されるかは動的に変化する(
キャッシュメモリと同じような概念で、必要なプログラムコードを任意の容量読み込んだ上でx86コードに変換するため、逐一命令を変換する
エミュレータとはいささか趣を異にする)。アプリケーションのコード全体をインテル用コードに変換してから実行する機能はない。
ユニバーサルバイナリ対応のソフトでは自動的にインテル用コードが実行される。また、
Dashboardウィジェットは
ダイナミックHTMLベースであるため、CPUの違いの影響を受けない。
Rosetta環境下で実行されるPowerPCバイナリはx86コードへと変換され、ユーザー側からはCPU種別を意識することなくアプリケーションを実行できる。ただし、前述の動作方法ゆえに速度の低下は避けられず、シングルコアG5より高速と言われるIntel Core Duoで同クロックのG4の50〜80%以下の速度になる(メモリ容量や周辺ハードウェアの違いに左右されるため一概には言えない)といわれている。当初RosettaはG3互換の環境とされていたが、実際には
AltiVecに対応したG4互換の環境として出荷された。G5ネイティブのコードについては現在もサポートされていない。
Rosettaを利用した場合、たとえ最新のCore 2 Duoでも、PowerPC時代のPowerMacと比べても性能はあまり伸びない。PowerPCアプリケーションのほぼ全てが
エンディアンをビッグエンディアンに揃えていて、それをIntelシステム上で動くコードに置き換えるとき、リトルエンディアンへのバイトスワップとアライメント調整を行うコードを大量に出力してしまうのが最大の原因と言われている。メモリの読み書きはCPUにとって基本的な機能であり、そこに足かせがつけられてしまうのはアプリケーション性能に重大な影響を与えてしまう。逆を言えばバイトスワップが発生しないバイトオーダーの処理がメインのアプリケーションでは非常に優れたパフォーマンスを発揮し得る。しかしそのようなソフトウエアは少なく、例えば画像処理など基本的にバイトオーダーで処理するソフトウエアでもワードアクセスした後バンドル処理を行うといったチューニングが施されている為、Rosettaの上で動かそうとすると裏目に出る結果となる。
なおRosettaは
クラシック環境をサポートせず、スクリーンセーバやシステム環境設定など、非アプリケーションのバイナリも実行できない。PowerPCコードとx86コードの混在した
プロセスも処理できず、
アプリケーションソフトウェアのPowerPC対応プラグインを使用するには、アプリケーション全体をRosettaで起動しなくてはならない。この点はMixed Mode Managerにより
68kコードとPowerPCコードの混在したプロセスを処理可能としていた
Mac OSのコード変換機構と異なり、注意が必要である。