resize immediately
This commit is contained in:
parent
411b997b87
commit
121c9c5258
@ -21,7 +21,6 @@ pub fn new<'a>(
|
|||||||
device:wgpu::Device,
|
device:wgpu::Device,
|
||||||
queue:wgpu::Queue,
|
queue:wgpu::Queue,
|
||||||
)->crate::compat_worker::INWorker<'a,Instruction>{
|
)->crate::compat_worker::INWorker<'a,Instruction>{
|
||||||
let mut resize=None;
|
|
||||||
crate::compat_worker::INWorker::new(move |ins:Instruction|{
|
crate::compat_worker::INWorker::new(move |ins:Instruction|{
|
||||||
match ins{
|
match ins{
|
||||||
Instruction::ChangeMap(map)=>{
|
Instruction::ChangeMap(map)=>{
|
||||||
@ -29,18 +28,15 @@ pub fn new<'a>(
|
|||||||
graphics.generate_models(&device,&queue,&map);
|
graphics.generate_models(&device,&queue,&map);
|
||||||
},
|
},
|
||||||
Instruction::Resize(size,user_settings)=>{
|
Instruction::Resize(size,user_settings)=>{
|
||||||
resize=Some((size,user_settings));
|
println!("Resizing to {:?}",size);
|
||||||
|
let t0=std::time::Instant::now();
|
||||||
|
config.width=size.width.max(1);
|
||||||
|
config.height=size.height.max(1);
|
||||||
|
surface.configure(&device,&config);
|
||||||
|
graphics.resize(&device,&config,&user_settings);
|
||||||
|
println!("Resize took {:?}",t0.elapsed());
|
||||||
}
|
}
|
||||||
Instruction::Render(frame_state)=>{
|
Instruction::Render(frame_state)=>{
|
||||||
if let Some((size,user_settings))=resize.take(){
|
|
||||||
println!("Resizing to {:?}",size);
|
|
||||||
let t0=std::time::Instant::now();
|
|
||||||
config.width=size.width.max(1);
|
|
||||||
config.height=size.height.max(1);
|
|
||||||
surface.configure(&device,&config);
|
|
||||||
graphics.resize(&device,&config,&user_settings);
|
|
||||||
println!("Resize took {:?}",t0.elapsed());
|
|
||||||
}
|
|
||||||
//this has to go deeper somehow
|
//this has to go deeper somehow
|
||||||
let frame=match surface.get_current_texture(){
|
let frame=match surface.get_current_texture(){
|
||||||
Ok(frame)=>frame,
|
Ok(frame)=>frame,
|
||||||
|
Loading…
Reference in New Issue
Block a user