本文整理汇总了C++中Stopwatch::pause方法的典型用法代码示例。如果您正苦于以下问题:C++ Stopwatch::pause方法的具体用法?C++ Stopwatch::pause怎么用?C++ Stopwatch::pause使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Stopwatch
的用法示例。
在下文中一共展示了Stopwatch::pause方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LogBuffer
Ref<Image> Image::load_from_data (const Ptr<IData> data) {
static Stopwatch t;
static unsigned count = 0; ++count;
Ref<Image> loaded_image;
Shared<Buffer> buffer;
t.start();
buffer = data->buffer();
switch (buffer->mimetype()) {
case IMAGE_JPEG:
loaded_image = load_jpeg_image(data);
break;
case IMAGE_PNG:
loaded_image = load_png_image(data);
break;
//case Data::IMAGE_DDS:
// loaded_image = load_ddsimage(data);
default:
logger()->log(LOG_ERROR, "Could not load image: Unsupported image format.");
}
t.pause();
logger()->log(LOG_INFO, LogBuffer() << "*** Total time to load " << count << " images: " << t.time() << "s");
return loaded_image;
}
示例2: failed
TestCase * Grader07::testSpellCheck(std::string filename)
{
Commands07 cmds07;
std::vector<std::string> words;
std::vector<SpellCheckCmd> commands;
cmds07.readReads("words", words);
cmds07.loadSpellCheckCommands(filename, commands);
if(words.size() == 0){
return failed("cannot read input file #1");
}
if(commands.size() == 0){
return failed("cannot read input file #2");
}
Stopwatch watch;
watch.start();
ISpellCheck * checker = (ISpellCheck *) createObject("ISpellCheck");
if(checker == NULL){
return nullObject("ISpellCheck");
}
watch.pause();
checker->loadDictionary(words);
watch.unpause();
for(size_t i = 0; i < commands.size(); ++i){
SpellCheckCmd cmd = commands[i];
std::vector<std::string> product_corrections = checker->suggestCorrections(cmd.word);
watch.pause();
std::sort(product_corrections.begin(), product_corrections.end());
if(product_corrections != cmd.corrections){
return failed("corrections mismatch");
}
watch.unpause();
}
watch.stop();
return passed(watch.getTime());
}
示例3: Main
void Main()
{
Window::SetTitle(L"10.00");
Stopwatch stopwatch;
Effect effect;
const Font font(50);
const Vec2 pos = font(L"00.00").regionCenter(Window::Center()).pos;
while (System::Update())
{
if ((!stopwatch.isActive() || stopwatch.isPaused()) && Input::MouseL.clicked)
{
Graphics::SetVSyncEnabled(false);
stopwatch.start();
}
else if (stopwatch.isActive() && Input::MouseL.clicked)
{
Graphics::SetVSyncEnabled(false);
stopwatch.pause();
}
else if (Input::MouseR.clicked)
{
stopwatch.reset();
}
else if (stopwatch.isPaused() && stopwatch.ms() / 10 == 10'00)
{
Graphics::SetVSyncEnabled(true);
effect.add<Firework>(Circular(200, Random(TwoPi)) + Window::Center(), 30);
}
font(L"{:0>2}.{:0>2}"_fmt, stopwatch.s(), stopwatch.ms() % 1000 / 10).draw(pos);
if (effect.hasEffects())
{
Graphics2D::SetBlendState(BlendState::Additive);
effect.update();
Graphics2D::SetBlendState(BlendState::Default);
}
else
{
System::Sleep(4ms);
}
}
}
示例4: reload
void DynamicGameLoader::reload()
{
std::cout << ConsoleColour(Console::BLUE) << "\n**RELOADING GAME**" << std::endl;
Stopwatch timer;
core->onSuspended();
unload();
load();
hotPatch();
core->onReloaded();
timer.pause();
std::cout << "Done in " << timer.elapsedSeconds() << " seconds.\n" << ConsoleColour() << std::endl;
}
示例5: wait_for_event
// Wait until the the frame is completed or rendering is aborted.
IRendererController::Status wait_for_event(IFrameRenderer& frame_renderer)
{
bool is_paused = false;
while (true)
{
if (!frame_renderer.is_rendering())
return IRendererController::TerminateRendering;
const IRendererController::Status status = m_renderer_controller->get_status();
switch (status)
{
case IRendererController::ContinueRendering:
if (is_paused)
{
frame_renderer.resume_rendering();
m_renderer_controller->on_rendering_resume();
m_stopwatch.resume();
is_paused = false;
}
break;
case IRendererController::PauseRendering:
if (!is_paused)
{
frame_renderer.pause_rendering();
m_renderer_controller->on_rendering_pause();
m_stopwatch.pause();
is_paused = true;
}
break;
default:
return status;
}
m_renderer_controller->on_progress();
foundation::sleep(1); // namespace qualifer required
}
}
示例6: pause
/// <summary>
/// EasingControllerを一時停止します。
/// </summary>
/// <returns>
/// なし
/// </returns>
void pause()
{
m_stopwatch.pause();
}
示例7: nullObject
TestCase * Grader02::testWorkload4(int len, int order, int merge_count,
int merge_len){
std::vector<int> input;
std::vector<int> sorted;
createVector(input, sorted, order, len, false);
Stopwatch watch;
watch.start();
IPriorityQueue * queue = (IPriorityQueue *)createObject("IPriorityQueue4");
if (queue == NULL){
return nullObject("IPriorityQueue4");
}
watch.pause();
GoldPriorityQueue gold_queue(sorted);
for (size_t i = 0; i < merge_len; ++i){
int key = input[i];
std::string value = randomValue();
gold_queue.push_back(key, value);
watch.unpause();
IKeyValue * key_value = (IKeyValue *)createObject("IKeyValue4");
if (key_value == NULL){
return nullObject("IKeyValue4");
}
key_value->setKey(key);
key_value->setValue(value);
queue->enqueue(key_value);
int size = queue->size();
if (size != gold_queue.size()){
return failed("after enqueue, size is incorrect");
}
int user_key = queue->lowestKey();
IVectorString * user_values = queue->lowestValues();
gold_queue.iterate();
int gold_key = gold_queue.lowestKey();
std::vector<std::string> values = gold_queue.getValues(gold_key);
watch.pause();
if (gold_key != user_key){
return failed("after enqueue, lowest key is incorrect");
}
if (valuesEqual(user_values, values) == false){
return failed("after enqueue, values incorrect");
}
}
for (int i = 1; i < merge_count; ++i){
watch.unpause();
IPriorityQueue * queue2 = (IPriorityQueue *)createObject("IPriorityQueue4");
if (queue == NULL){
return nullObject("IPriorityQueue4");
}
watch.pause();
for (int j = (i * merge_len); j < ((i + 1) * merge_len); ++j){
int key = input[j];
std::string value = randomValue();
gold_queue.push_back(key, value);
watch.unpause();
IKeyValue * key_value = (IKeyValue *)createObject("IKeyValue4");
if (key_value == NULL){
return nullObject("IKeyValue4");
}
key_value->setKey(key);
key_value->setValue(value);
queue2->enqueue(key_value);
watch.pause();
}
watch.unpause();
queue->merge(queue2);
watch.pause();
gold_queue.iterate();
watch.unpause();
int user_key = queue->lowestKey();
IVectorString * user_values = queue->lowestValues();
watch.pause();
int gold_key = gold_queue.lowestKey();
std::vector<std::string> values = gold_queue.getValues(gold_key);
if (gold_key != user_key){
return failed("during dequeue, lowest key is incorrect");
}
//.........这里部分代码省略.........