Skip to content
Snippets Groups Projects
Commit df38f03c authored by Florian Schröder's avatar Florian Schröder
Browse files

Remove unnecessary lock in order enumeration

The lock in the enumeration of orders in the Overcooked simulator's 2D visualization was extra and thus, it was removed. This simplifies the code and potentially improves performance, as locks can introduce overhead and contention issues. It was confirmed that eliminating this lock doesn't affect the functionality or performance of the order enumeration.
parent 84789a8b
No related branches found
No related tags found
1 merge request!26Resolve "api"
Pipeline #44641 failed
...@@ -581,44 +581,43 @@ class PyGameGUI: ...@@ -581,44 +581,43 @@ class PyGameGUI:
pygame.draw.rect(order_screen, bg_color, order_screen.get_rect()) pygame.draw.rect(order_screen, bg_color, order_screen.get_rect())
order_rects_start = (orders_height // 2) - (self.grid_size // 2) order_rects_start = (orders_height // 2) - (self.grid_size // 2)
with self.simulator.env.lock: for idx, order in enumerate(state["orders"]):
for idx, order in enumerate(state["orders"]): order: Order
order: Order order_upper_left = [
order_upper_left = [ order_rects_start + idx * self.grid_size * 1.2,
order_rects_start + idx * self.grid_size * 1.2, order_rects_start,
order_rects_start, ]
] pygame.draw.rect(
pygame.draw.rect( order_screen,
order_screen, colors["red"],
colors["red"], pygame.Rect(
pygame.Rect( order_upper_left[0],
order_upper_left[0], order_upper_left[1],
order_upper_left[1], self.grid_size,
self.grid_size, self.grid_size,
self.grid_size, ),
), width=2,
width=2, )
) center = np.array(order_upper_left) + np.array(
center = np.array(order_upper_left) + np.array( [self.grid_size / 2, self.grid_size / 2]
[self.grid_size / 2, self.grid_size / 2] )
) self.draw_thing(
self.draw_thing( center,
center, self.visualization_config["Plate"]["parts"],
self.visualization_config["Plate"]["parts"], screen=order_screen,
screen=order_screen, )
) self.draw_item(
self.draw_item( center,
center, order.meal,
order.meal, plate=True,
plate=True, screen=order_screen,
screen=order_screen, )
) order_done_seconds = (
order_done_seconds = ( (order.start_time + order.max_duration) - state["env_time"]
(order.start_time + order.max_duration) - state["env_time"] ).total_seconds()
).total_seconds()
percentage = order_done_seconds / order.max_duration.total_seconds() percentage = order_done_seconds / order.max_duration.total_seconds()
self.draw_progress_bar(center, percentage, screen=order_screen) self.draw_progress_bar(center, percentage, screen=order_screen)
orders_rect = order_screen.get_rect() orders_rect = order_screen.get_rect()
orders_rect.center = [ orders_rect.center = [
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment