問題タブ [high-resolution]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - Linuxでのマイクロ秒精度(またはそれ以上)のプロセスタイミング
プログラムの一部の時間を計る非常に正確な方法が必要です。これには通常の高解像度クロックを使用できますが、ウォールクロック時間が返されます。これは必要な時間ではありません。プロセスの実行に費やす時間が必要です。
ブックマークを忘れてパッチの名前も忘れてしまったことを除けば、プロセスのタイミングをナノ秒の精度にできるLinuxカーネルパッチを見たことをはっきりと覚えています:(。
私はそれがどのように機能するかを覚えています:
すべてのコンテキストスイッチで、高解像度クロックの値を読み取り、最後の2つの値のデルタを実行中のプロセスのプロセス時間に追加します。これにより、プロセスの実際のプロセス時間の高解像度で正確なビューが生成されます。
通常の処理時間は通常の時計を使用して維持されます。これはミリ秒の精度(1000Hz)であり、私の目的には大きすぎます。
私が話しているカーネルパッチを誰かが知っていますか?また、前後に文字が入った単語のようだったのを覚えています。「rtimer」などのようなものですが、正確には覚えていません。
(他の提案も大歓迎です)
Markoによって提案されたCompletelyFairSchedulerは、私が探していたものではありませんが、有望に見えます。私が抱えている問題は、処理時間を取得するために使用できる呼び出しが、まだ十分にきめ細かい値を返さないことです。
- times()はミリ秒単位で値21、22を返します。
- clock()は、同じ粒度の値21000、22000を返します。
- getrusage()は210002、22001(およびそのようなもの)のような値を返します。それらは少し精度が高いように見えますが、値は著しく同じに見えます。
だから今私がおそらく抱えている問題は、カーネルが私が必要とする情報を持っているということです、私はそれを返すシステムコールを知らないだけです。
c++ - コードの高解像度タイミング部分
ループ内の関数の速度を測定したい。しかし、なぜ私のやり方では、9桁の10進精度(つまり、ナノ/マイクロ秒)の高解像度タイミングではなく、常に「0」を出力するのですか?
それを行う正しい方法は何ですか?
関連する質問:
perl - Perlでシンボリックリンクの高解像度mtimeを取得するにはどうすればよいですか?
数千回ls --full-time
呼び出すオーバーヘッドを回避するために、Perl スクリプトからの出力を再現したいと考えています。statls
関数を使用して、そこからすべての情報を取得したいと考えていました。ただし、 ls 出力のタイムスタンプは高解像度クロックを使用するため、ナノ秒数も含まれます (GNU docs によると、これは --full-time が と同等であり、full-iso 時間スタイルにナノ秒)。--format=long --time-style=full-iso
Time::HiResモジュールに出くわしました。これは、標準の stat 関数を atime/mtime/ctime を浮動小数点数として返す関数でオーバーライドしますが、lstatのオーバーライドはありません。シンボリックリンクで stat を呼び出すと、リンク自体ではなく、リンクされたファイルの情報が返されるため、これは問題です。
私の質問はこれです - Time::HiRes::stat と同じ方法で atime/mtime/ctime を返す lstat のバージョンはどこにありますか? それに失敗した場合、シンボリックリンクの modtime を高解像度で取得する別の方法があります (ls を呼び出す以外に)。
iphone - iPhone 4 (HD) の CGImageCreateWithImageInRect の使用方法
次のコードを使用して、スプライトから画像を取得します。また、iPhone 4 (HD バージョン) を除くすべての場所で問題なく動作します。
iPhone 4 は、sprite.png の代わりに HD バージョンの画像 (sprite@2x.png) を自動的に読み込みます。元の画像の縮尺は 2 ですが、結果の画像の縮尺は 1 でサイズが間違っています。
iPhone 3G[s] と iPhone 4 の異なる縮尺を考慮して、この動作をどのように処理しますか?
私はこのドキュメントを読みましたが、ここでCGImageCreateWithImageInRectを使用することについては何も言いません。
uiview - UIView を iPhone4 の ScaleFactor 2.0 にアップデート
私は自分の iPhone 4 で見事に動作するプログラムを持っています。私が作成したクラス UIView (TestView と呼ばれます) を使用して、Quartz を使用してグラフィックを描画します (ほんの数本の CG 線と円などの非常に単純なグラフィック)。ただし、iPhone 4 の新しい高解像度画面を利用する必要があります。現在、iPhone 3 との後方互換性を確保するために、コード内で単一の「ポイント」を移動すると、iPhone 4 画面上で 2 ピクセルの移動が発生します。 . UIView を 2.0 のスケール ファクターに更新することにより、マッピングを論理座標空間からピクセル空間に変更して、iPhone 4 のより高い解像度を利用できます。簡単なはずです。UIView 倍率を変更する方法に関するドキュメントが見つかりません。
たとえば、関数 CGContextSetLineWidth(context, 1.0); で指定する必要がある線を描画します。2 ピクセル幅の線を描画することになります。実際に 1 ピクセル幅で描画するには、これを変更する必要があります。
説明はありますが、高解像度画面のサポートに関する Apple の説明にスケール係数を変更する例や方法はありません。
UIView ドキュメントは contentScaleFactor 属性を提供しますが、「設定」メソッドは提供しません。以下の行を ttp:// から http:// に変更して、URL に変換します。
ttp://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/cl/UIView
iphone - iPhone用の高解像度タイマー?
いくつかのパフォーマンス タイミングを実行するために、iPhone 用の高解像度タイミング コードを探しています。次のようなコードを書きたいと思います。
iphone - uiwebview の高解像度画像
以下のコードに示すように、画像を表示する Web ビューがあります。このバンドルには、iPhone4 で使用するための 128x128 の寸法の DGT64@2x.png も含まれています。DGT64@2x.png は表示されません。iPhone か iPhone4 かによって表示する方法はありますか?
objective-c - iPhone Simulator 4.0.2ではUIScreenの倍率は1.0ですか?
iPhone4の@2xグラフィックスについて何かが足りませんか?
iPhoneシミュレーターで4.0.2SDKを実行していますが、UIScreenのスケールは1.0ですが、2.0であり、高解像度の画像を自動的にロードするのではないでしょうか。
これが私がテストしているものです:
そしてそれは印刷します:
システムバージョン:4.0.2
スケールファクター:1.0
シミュレーターに問題がありますか?または、UIScreenで2倍のグラフィックスを許可するために有効にする必要がある魔法のキーがありませんか?
objective-c - [UIImage imageWithContentsOfFile:] と高解像度画像を機能させる方法
多くの人が不満を言っているように、Retina ディスプレイ用の Apple SDK にはバグがあり、imageWithContentsOfFile は実際には 2x 画像を自動的にロードしないようです。
UIScreen スケール ファクターを検出し、低解像度または高解像度の画像を適切に読み込む関数を作成する方法について、素敵な投稿を見つけました ( http://atastypixel.com/blog/uiimage-resolution-independence-and-the-iphone-4s -retina-display/ )、しかし、ソリューションは 2 倍の画像をロードし、画像の倍率は 1.0 に設定されたままです。これにより、2 倍に拡大された 2 倍の画像が生成されます (つまり、実際の外観よりも 4 倍大きくなります)。
imageNamed は、低解像度と高解像度の画像を正確にロードしているようですが、私には選択肢がありません。
imageNamed または imageWithContentsOfFile の自動読み込みを使用せずに、低/高解像度の画像を読み込むためのソリューションはありますか? (または、最終的には imageWithContentsOfFile を正しく機能させる方法を解決します)