safe sleep CPU in idle

This commit is contained in:
2018-11-08 11:53:50 +07:00
parent f12d7e8e22
commit e5e355c825
5 changed files with 45 additions and 39 deletions

View File

@@ -214,7 +214,6 @@ namespace
.add_vertices(vertex_buffer1_)
.add_vertices(vertex_buffer2_);
begin_game_time_ = time::now_ms();
return true;
}
@@ -224,7 +223,6 @@ namespace
return false;
}
const auto game_time = (time::now_ms() - begin_game_time_).cast_to<f32>().value;
const auto framebuffer_size = the<window>().real_size().cast_to<f32>();
const auto projection = math::make_perspective_lh_matrix4(
make_deg(45.f),
@@ -233,15 +231,14 @@ namespace
100.f);
const auto MVP =
math::make_rotation_matrix4(make_rad(game_time) * 0.001f, 1.f, 0.f, 0.f) *
math::make_rotation_matrix4(make_rad(game_time) * 0.001f, 0.f, 1.f, 0.f) *
math::make_rotation_matrix4(make_rad(game_time) * 0.001f, 0.f, 0.f, 1.f) *
math::make_rotation_matrix4(make_rad(the<engine>().time()), 1.f, 0.f, 0.f) *
math::make_rotation_matrix4(make_rad(the<engine>().time()), 0.f, 1.f, 0.f) *
math::make_rotation_matrix4(make_rad(the<engine>().time()), 0.f, 0.f, 1.f) *
math::make_translation_matrix4(0.f, 0.f, 0.f) *
math::make_loot_at_lh_matrix4({0.f,0.f,-3.f}, v3f::zero(), v3f::unit_y()) *
projection;
material_.properties()
.property("u_time", game_time)
.property("u_MVP", MVP);
the<render>().execute(render::command_block<64>()
@@ -260,12 +257,13 @@ namespace
vertex_buffer_ptr vertex_buffer2_;
render::material material_;
render::geometry geometry_;
milliseconds<i64> begin_game_time_;
};
}
int e2d_main() {
auto params = engine::parameters("sample_01", "enduro2d");
auto params = engine::parameters("sample_01", "enduro2d")
.timer_params(engine::timer_parameters()
.maximal_framerate(100));
modules::initialize<engine>(params).start<game>();
return 0;
}