Refactor quest perf fix (#111)

* cargo fmt and removed the unessecary examples.

* fixed android logging errors and moved waitframe to fix perf on quest and fixed android example perf by turning off msaa
This commit is contained in:
Malek
2024-05-29 16:57:08 -07:00
committed by GitHub
parent 35725eaa8b
commit 0f9ccf7f04
3 changed files with 23 additions and 11 deletions

View File

@@ -31,7 +31,6 @@ impl Plugin for OxrRenderPlugin {
PreUpdate,
(
init_views.run_if(resource_added::<OxrGraphicsInfo>),
wait_frame.run_if(session_started),
locate_views.run_if(session_running),
update_views.run_if(session_running),
)
@@ -44,7 +43,8 @@ impl Plugin for OxrRenderPlugin {
.chain()
.run_if(session_running)
.before(TransformSystem::TransformPropagate),
);
)
.add_systems(Last, wait_frame.run_if(session_started));
app.sub_app_mut(RenderApp)
.add_systems(
Render,
@@ -353,11 +353,23 @@ pub fn begin_frame(mut frame_stream: ResMut<OxrFrameStream>) {
pub fn release_image(mut swapchain: ResMut<OxrSwapchain>) {
let _span = info_span!("xr_release_image");
#[cfg(target_os = "android")]
{
let ctx = ndk_context::android_context();
let vm = unsafe { jni::JavaVM::from_raw(ctx.vm().cast()) }.unwrap();
let env = vm.attach_current_thread_as_daemon();
}
swapchain.release_image().unwrap();
}
pub fn end_frame(world: &mut World) {
let _span = info_span!("xr_end_frame");
#[cfg(target_os = "android")]
{
let ctx = ndk_context::android_context();
let vm = unsafe { jni::JavaVM::from_raw(ctx.vm().cast()) }.unwrap();
let env = vm.attach_current_thread_as_daemon();
}
world.resource_scope::<OxrFrameStream, ()>(|world, mut frame_stream| {
let mut layers = vec![];
for layer in world.resource::<OxrRenderLayers>().iter() {