diff --git a/.forgejo/workflows/build-release.yml b/.forgejo/workflows/build-release.yml
index 5ef6aba..3688af2 100644
--- a/.forgejo/workflows/build-release.yml
+++ b/.forgejo/workflows/build-release.yml
@@ -161,4 +161,5 @@ jobs:
         uses: https://code.forgejo.org/forgejo/upload-artifact@v4
         with:
           name: ${{ matrix.binary_name }}.zip
-          path: artifacts
\ No newline at end of file
+          path: artifacts
+          compression-level: 0
\ No newline at end of file
diff --git a/src/main.rs b/src/main.rs
index b424169..c8df33a 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -309,7 +309,8 @@ impl WgpuState {
             &queue,
             &texture_bind_group_layout,
         );
-        let checkerboard_img = crate::texture::create_checkerboard();
+        use tracing::Instrument;
+        let checkerboard_img = crate::texture::get_checkerboard();
         let checkerboard_texture =
             texture::Texture::from_image(&device, &queue, &checkerboard_img, Some("checkerboard"))
                 .unwrap();
diff --git a/src/texture.rs b/src/texture.rs
index f5aaab1..f649bc8 100644
--- a/src/texture.rs
+++ b/src/texture.rs
@@ -1,4 +1,6 @@
-use image::GenericImageView;
+use std::sync::OnceLock;
+
+use image::{DynamicImage, GenericImageView, RgbaImage};
 use thiserror::Error;
 #[derive(Debug, Error)]
 pub enum TextureError {
@@ -16,6 +18,7 @@ pub struct Texture {
     pub sampler: wgpu::Sampler,
 }
 impl Texture {
+    
     pub fn from_bytes(
         device: &wgpu::Device,
         queue: &wgpu::Queue,
@@ -85,24 +88,33 @@ impl Texture {
         })
     }
 }
-
-pub fn create_checkerboard() -> image::DynamicImage {
-    let size = 512;
-    let tile_size = 24;
-    let mut img = image::RgbaImage::new(size, size);
+static CHECKERBOARD_IMAGE: OnceLock<DynamicImage> = OnceLock::new();
+pub fn create_checkerboard(size: u32, tile_size: u32) -> DynamicImage {
+    let mut img = RgbaImage::new(size, size);
+    let pixels = img.as_mut();
+    let bytes_per_pixel = 4; // RGBA
 
     for y in 0..size {
+        let tile_y = y / tile_size;
         for x in 0..size {
             let tile_x = x / tile_size;
-            let tile_y = y / tile_size;
             let color = if (tile_x + tile_y) % 2 == 0 {
-                [0, 0, 0, 255]
+                [0, 0, 0, 255] 
             } else {
                 [255, 5, 255, 255]
             };
-            img.put_pixel(x, y, image::Rgba(color));
+            let pixel_index = (y * size + x) as usize * bytes_per_pixel;
+            pixels[pixel_index..pixel_index + bytes_per_pixel].copy_from_slice(&color);
         }
     }
 
     image::DynamicImage::ImageRgba8(img)
 }
+#[tracing::instrument]
+pub fn get_checkerboard() -> &'static DynamicImage {
+    CHECKERBOARD_IMAGE.get_or_init(|| {
+        let size = 512;
+        let tile_size = 24;
+        create_checkerboard(size, tile_size)
+    })
+}
diff --git a/subcrates/zlog/src/lib.rs b/subcrates/zlog/src/lib.rs
index e6b64a4..648b8fb 100644
--- a/subcrates/zlog/src/lib.rs
+++ b/subcrates/zlog/src/lib.rs
@@ -101,6 +101,7 @@ where
     fn on_event(&self, event: &Event<'_>, _ctx: Context<'_, S>) {
         let metadata = event.metadata();
         let level = *metadata.level();
+        let name = metadata.name();
         let timestamp = SystemTime::now();
         #[cfg(feature = "json")]
         let additional_fields = serde_json::Map::new();
diff --git a/subcrates/zlog/src/tests.rs b/subcrates/zlog/src/tests.rs
index 13c90ab..d519b88 100644
--- a/subcrates/zlog/src/tests.rs
+++ b/subcrates/zlog/src/tests.rs
@@ -50,7 +50,7 @@ fn test_logger_sequential_consistency() {
             log.level, expected_level,
             "Log {} has incorrect level: {:?}",
             i, log.level
-        );
+        );  
 
         let expected_msg = match expected_level {
             Level::ERROR => format!("Error message {}", expected_count),
@@ -61,7 +61,7 @@ fn test_logger_sequential_consistency() {
         };
 
         assert_eq!(
-            log.message, expected_msg,
+            log.message, expected_msg,  
             "Log {} has incorrect message. Expected: '{}', Got: '{}'",
             i, expected_msg, log.message
         );