プロが教える店舗&オフィスのセキュリティ対策術

https://wiki.libsdl.org/MigrationGuide
That NULL can be a subregion if you want to mess around with dirty rectangles, but chances are modern hardware can just swallow the whole framebuffer without much trouble.
転送する領域としてNULLの部分にはみ出した領域を指定しても, 現在のハードウェアならば問題なくフレームバッファ内に収まるようになるはずだ.

上は
SDL_UpdateTexture(sdlTexture, NULL, myPixels, 640 * sizeof (Uint32));
に対する原文と訳文です。
Cライブラリの説明なのに、原文の方が"mess around with"等と口語なのはフランクさを演出しているのでしょうが、口語は意味が広いのでライブラリの解説には向かないとは思います。
訳文は理解できないです。もちろん、訳してくれた人には感謝しています。無料だし(有料だったら許さないけど)。

SDL_UpdateTexture(xxx, 更新する範囲, 更新する内容);
なのですが、例のように"NULL"だと更新する範囲が全体であることを意味します。

だから、自分が訳すと
今のGPUには小さな領域を更新するなどとケチなことをさせずに、全体をサクっと書き換えさせても余裕だ。
となるのですが、訳文と違いすぎます。

SDL_UpdateTexture()個別の解説では、"This is a fairly slow function, ..."とあります。この役部分も"この関数はやや遅いので, ..."となっていますが実際は"やや"ではなく"相当"かと。
Textureは特定ハードウエアGPUを扱うのに対して更新する内容はハードウエア無視の一般的な形式なので、運が良ければ単純コピーかもしれませんが逆なら多数のドットを変換するコストを生じます。


識者として、どうでしょうか。

A 回答 (1件)

別のカテゴリで尋ねたほうが良いのではないでしょうか。

英語ができてもSDLの知識がないとさっぱりです。(そもそもSDLが何なのかもわからない)

プログラミング? 系なのか何なのかわかりませんがそちらのカテゴリで尋ねたら恐らく専門知識+英語かじってるような誰かからの回答がつくのではないかと。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!