diff --git a/Cargo.toml b/Cargo.toml index 6f790bf..ea27abb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "glyphon" description = "Fast, simple 2D text rendering for wgpu" -version = "0.8.0" +version = "0.6.0" edition = "2021" homepage = "https://github.com/grovesNL/glyphon.git" repository = "https://github.com/grovesNL/glyphon" license = "MIT OR Apache-2.0 OR Zlib" [dependencies] -wgpu = { version = "24", default-features = false, features = ["wgsl"] } +wgpu = { version = "22", default-features = false, features = ["wgsl"] } etagere = "0.2.10" cosmic-text = "0.12" lru = { version = "0.12.1", default-features = false } @@ -16,11 +16,6 @@ rustc-hash = "2.0" [dev-dependencies] winit = "0.30.3" -wgpu = "24" -resvg = { version = "0.44", default-features = false } -pollster = "0.4.0" -criterion = { version = "0.5", features = ["html_reports"] } - -[[bench]] -name = "prepare" -harness = false +wgpu = "22" +resvg = { version = "0.42", default-features = false } +pollster = "0.3.0" diff --git a/benches/prepare.rs b/benches/prepare.rs deleted file mode 100644 index 8907e20..0000000 --- a/benches/prepare.rs +++ /dev/null @@ -1,121 +0,0 @@ -use cosmic_text::{Attrs, Buffer, Color, Family, FontSystem, Metrics, Shaping, SwashCache}; -use criterion::{criterion_group, criterion_main, Criterion}; -use glyphon::{ - Cache, ColorMode, Resolution, TextArea, TextAtlas, TextBounds, TextRenderer, Viewport, Weight, -}; -use wgpu::{MultisampleState, TextureFormat}; - -mod state; - -fn run_bench(ctx: &mut Criterion) { - let mut group = ctx.benchmark_group("Prepare"); - group.noise_threshold(0.02); - - let state = state::State::new(); - - // Set up text renderer - let mut font_system = FontSystem::new(); - let mut swash_cache = SwashCache::new(); - let cache = Cache::new(&state.device); - let mut viewport = Viewport::new(&state.device, &cache); - let mut atlas = TextAtlas::with_color_mode( - &state.device, - &state.queue, - &cache, - TextureFormat::Bgra8Unorm, - ColorMode::Web, - ); - let mut text_renderer = - TextRenderer::new(&mut atlas, &state.device, MultisampleState::default(), None); - - let attrs = Attrs::new() - .family(Family::SansSerif) - .weight(Weight::NORMAL); - let shaping = Shaping::Advanced; - viewport.update( - &state.queue, - Resolution { - width: 1000, - height: 1000, - }, - ); - - for (test_name, text_areas) in &[ - ( - "Latin - Single Text Area", - vec![include_str!("../samples/latin.txt")], - ), - ( - "Arabic - Single Text Area", - vec![include_str!("../samples/arabic.txt")], - ), - ( - "Latin - Many Text Areas", - include_str!("../samples/latin.txt") - .repeat(100) - .split('\n') - .collect(), - ), - ( - "Arabic - Many Text Areas", - include_str!("../samples/arabic.txt") - .repeat(20) - .split('\n') - .collect(), - ), - ] { - let buffers: Vec = text_areas - .iter() - .copied() - .map(|s| { - let mut text_buffer = Buffer::new(&mut font_system, Metrics::relative(1.0, 10.0)); - text_buffer.set_size(&mut font_system, Some(20.0), None); - text_buffer.set_text(&mut font_system, s, attrs, shaping); - text_buffer.shape_until_scroll(&mut font_system, false); - text_buffer - }) - .collect(); - - group.bench_function(*test_name, |b| { - b.iter(|| { - let text_areas: Vec