問題タブ [chrono]

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.

0 投票する
1 に答える
701 参照

c++ - 時間の印刷/読み取り時の奇妙な動作

に保存std::time_pointしてstd::stream読み戻そうとしています。1 つの問題は、標準関数を使用すると、どこかで 1 時間を「失う」ことです。つまり、私が読む時間は、私が書く時間よりも 1 時間遅れています。どこかで夏時間を設定する必要があると思います。std::stringstream時間を aに出力して読み返す小さなプログラムをまとめました。

最も奇妙なことは、プログラムが次のように出力することです。

そして、プログラムの最後にある 3 行のコメントを外す (時点間の差を出力する) と、結果は次のようになります。

dst (夏時間) が突然等しくなく、時間も等しくないことに注意してください。

XCode46-DP2 を搭載した Mac OS X 10.8.2 で libc++ を使用しています。私が使用しているclang ++バージョンApple clang version 4.1clang version 3.2 (trunk 167239)

私の質問は次のとおりだと思います: A) 1 時間の違いに関しては、これは私のライブラリのバグですか、それとも標準関数を正しく使用していませんか? (後者は私を驚かせません...)

B) プログラムの最後にある 3 行のコメントを外すと、コードはどうなりますか? これは私にはバグのように見えます。自分のプラットフォームで試してみたい人はいますか?

0 投票する
2 に答える
26278 参照

c++ - GCC での std::put_time 実装ステータス?

GCC (テスト済みバージョン 4.5.1、4.6.3、4.8.4) を使用してこのサンプル プログラムをコンパイルしようとしました。

しかし、それは私に言います:


おそらくまだ実装されていないと思いました。ということで、この機能の実装状況を調べてみました。このページしか見つかりませんでした:

しかし、そこにはメモが見つかりませんでしput_timechrono。このライブラリの実装ステータスに関する情報を提供するリソースを教えてもらえますか?

0 投票する
4 に答える
83370 参照

c++ - 正確な時間測定

関数のタイミングを測定するために C++ で time.h を使用しています。

ただし、私は常に 0.0000 の時間を取得しています。clock() と t を別々に印刷すると、同じ値になります。C++ で時間を正確に (おそらくナノ秒単位で) 測定する方法があるかどうかを知りたいです。私はVS2010を使用しています。

0 投票する
4 に答える
175780 参照

c++ - int ミリ秒および float 秒として期間を取得する方法?

タイマーと期間に chrono ライブラリを使用しようとしています。

Duration frameStart;(アプリの開始から)とDuration frameDelta;(フレーム間の時間)を持つことができるようにしたい

frameDelta期間をミリ秒とフロート秒で取得できるようにする必要があります。

<chrono>新しい C++11ライブラリでこれを行うにはどうすればよいですか? 私はそれに取り組んでおり、グーグルで検索しています(情報はまばらです)。コードは非常にテンプレート化されており、特別なキャストやものが必要です。このライブラリを正しく使用する方法がわかりません。

0 投票する
3 に答える
2998 参照

c++ - Windows の正確なタイミング: CreateTimerQueueTimer または system_clock::now() でエラーが発生しましたか?

+/- ミリ秒のタイミング精度を達成するために取り組んでいます。スレッド間の時間を 10 ミリ秒にしたいのですが、時間を測定すると 15 ミリ秒近くになります。

問題が時間の測定方法に起因するのか、それとも時間を正確に測定していて遅延が発生しているのかを理解しようとしています。 CreateTimerQueueTimer

私のコードは次のようになります

出力は次のようになります

0 投票する
5 に答える
50833 参照

c++ - std::chrono::time_point を UNIX タイムスタンプに変換する

std::chrono::duration特定の日付以降を取得するにはどうすればよいですか? std::chrono::time_pointaを UNIX タイムスタンプに変換するには、これが必要です。

XXX にコードを挿入

time_pointメソッドがあることは知っていますtime_since_epoch()が、これが UNIX エポック (1970 年 1 月 1 日の 00:00:00 UTC) と同じであるとは限りません。

0 投票する
1 に答える
8771 参照

c++ - C++ Chrono を使用して更新ループを処理しますか?

私は間違いなく、新しい C++ chrono ライブラリに少し戸惑っています。

ここに更新ループがあります。次の 2 つの操作を実行します。

これらは長い操作であり、どれくらいの長さかを判断するのは困難です。

したがって、それらにかかった時間を測定し、いくつかの計算を行い、render を呼び出す前に update を徐々に呼び出す最善の方法を見つけます。

これを行うには、C++11 の Chrono 機能を使用しています。私がこれを選んだのは、より正確で、よりプラットフォームに依存するという、お得なように思えたからです。しかし、今よりも多くの問題に直面していることに気づきました。

以下は私のコードと私の主な問題です。問題または私の操作を行うための適切な方法についての助けが大いに必要です!

問題の行のすぐ横にあるコメントで質問をマークしました。これを以下で繰り返します。

ヘッダー ファイル:

簡素化された更新ループ

主な質問は次のとおりです。私の mDeltaTime は常に小さくなります。基本的に、ほぼ無限ループに陥っています。これは、kMaxDeltatime が非常に小さいためですが、1 秒あたり 60 フレームをターゲットにしている場合、正しいミリ秒を計算していませんでしたか?

上記のすべての質問は次のとおりです。

混乱させてごめんなさい。私はこの chrono ライブラリを馬鹿にしているように感じます。ほとんどのヘルプ サイト、参考資料、または直接コード自体でさえ、私がそれを何に適用しているかを読んで理解するのは非常に混乱しています。解決策やコードを探す方法についてのアドバイスは大歓迎です!

編集: Joachim は、 std::min/max がミリ秒単位で問題なく動作することを指摘しました! 変更を反映するようにコードを更新しました。

0 投票する
1 に答える
8898 参照

c++ - std::chrono: カスタム期間を time_point に追加します

次のコードはコンパイルされます ( g++ 4.7.2)。

私の問題は、どのタイプがあるかわからないことt3です。ではなくtimepoint_t、明示的に指定されたタイプの行のコメントを外すと、コンパイルされません。関数呼び出しと同じ: I can't call do_somethingwith t3.

だから私の質問は:

  • 変換が失敗するのはなぜですか?
  • 倍精度の秒数を取得する最良の方法は何ですか?

このような追加のキャストを使用できることを知っています

しかし、私はこれを避けたいです。

前もって感謝します!

0 投票する
1 に答える
2275 参照

c++ - std::put_time() の問題

こんにちは、Visual Studio 2012 でコンパイルできる非常に単純なテスト ケースがあります。ただし、実行時にエラーが発生します。この失敗を引き起こす行は、時間機能に関連する多くの例で cppreference.com にあるのとまったく同じようにコピーされます。このような例のページhttp://en.cppreference.com/w/cpp/chrono/c/localtime

この投稿をクリーンに保つために、スタック トレースをここに置きます http://ideone.com/WaeQcf

0 投票する
2 に答える
827 参照

c++ - g ++ vs intel/clang引数の受け渡し順序?

次のコード ( LWS )を検討してください。

目に見える違いがない場合があるため、数回実行する必要があります。firstしかし、との評価時間の間に目に見える違いがある場合second、結果は g++ の下で次のようになります。

および intel および clang の下の以下:

これは、g++ ではsecond引数が最初に評価され、intel と clang ではfirst引数が最初に評価されることを意味します。

C++11 標準に従って正しいのはどれですか?