Skip to content

Commit 4785bc4

Browse files
authored
small performance improvements (#35)
1 parent e8d0614 commit 4785bc4

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

src/config/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
logger = logging.getLogger(__name__)
77

88
APP_NAME = "meikipop"
9-
APP_VERSION = "v.1.4.1"
9+
APP_VERSION = "v.1.4.2"
1010
MAX_DICT_ENTRIES = 10
1111
IS_LINUX = sys.platform.startswith('linux')
1212
IS_WINDOWS = sys.platform.startswith('win')

src/ocr/providers/glensv2/provider.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ def _process_image_for_upload(self, image: Image.Image) -> Tuple[bytes, int, int
4242
processed_image.save(bio, format='PNG')
4343
return bio.getvalue(), new_width, new_height
4444
elif config.quality_mode == 'balanced':
45-
processed_image = image.convert('RGB')
45+
processed_image = image if image.mode == 'RGB' else image.convert('RGB')
4646
with io.BytesIO() as bio:
4747
processed_image.save(bio, format='JPEG', quality=90)
4848
return bio.getvalue(), image.width, image.height
4949
else:
50-
processed_image = image.convert('RGB')
50+
processed_image = image if image.mode == 'RGB' else image.convert('RGB')
5151
with io.BytesIO() as bio:
5252
processed_image.save(bio, format='PNG')
5353
return bio.getvalue(), image.width, image.height

src/screenshot/screenmanager.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,14 @@ def run(self):
5050
processing_duration = time.perf_counter() - start_time
5151
logger.debug(f"Screenshot {screenshot.size} complete in {processing_duration:.2f}s")
5252

53-
if self.last_screenshot and self.last_screenshot == screenshot:
53+
if self.last_screenshot and self.last_screenshot.raw == screenshot.raw:
5454
logger.debug(f"Screen content didnt change... skipping ocr")
5555
self._sleep_and_handle_loop_exit(0.1)
5656
continue
5757

5858
self.last_screenshot = screenshot
59-
self.shared_state.ocr_queue.put(screenshot)
59+
img = Image.frombytes("RGB", screenshot.size, screenshot.bgra, "raw", "BGRX")
60+
self.shared_state.ocr_queue.put(img)
6061
except:
6162
logger.exception("An unexpected error occurred in the screenshot loop. Continuing...")
6263
self._sleep_and_handle_loop_exit(1)
@@ -65,7 +66,7 @@ def run(self):
6566
def take_screenshot(self):
6667
with mss.mss() as sct:
6768
sct_img = sct.grab(self.monitor)
68-
return Image.frombytes("RGB", sct_img.size, sct_img.bgra, "raw", "BGRX")
69+
return sct_img
6970

7071
def set_scan_region(self):
7172
scan_rect = RegionSelector.get_region()

0 commit comments

Comments
 (0)