Ben Harris 58511aa009 Same Game: more efficient tile_redraw
I've rewritten tile_redraw to reduce the number of calls to
draw_rect().  Before, it would generally make five calls to
draw_rect() when drawing a tile.  Now it makes at most three, and
usually two.  That's one draw_rect() for each colour that appears in
the tile, which is as good as it can get.  This reduces the time to
draw a large puzzle by about 35% on Firefox 102.

This is of significance to me because CanvasRenderingContext2D on my
test KaiOS device seems to have a limit on the number of fill() and
fillRect() calls that it will tolerate in a short time.  This means
that if you issue more than 1024 fillRect() calls in rapid succession,
the later ones are simply ignored.

Same Game's largest preset called draw_rect() so much that it hit this
limit.  That meant that the right-hand side of the grid didn't get
properly drawn when starting a new game.  Now that it is less
profligate with draw_rect() it fits comfortably within the limit and I
get to see the entire grid.
2023-07-30 11:52:05 +01:00
2023-07-14 08:31:44 +01:00
2021-04-25 09:59:15 +01:00
2023-04-20 18:42:50 +01:00
2023-06-11 00:33:27 +01:00
2023-01-15 20:59:22 +00:00
2023-06-11 00:33:27 +01:00
2023-03-26 20:32:38 +01:00
2023-06-11 00:33:27 +01:00
2023-06-16 19:04:50 +01:00
2023-06-11 00:33:27 +01:00
2023-06-16 19:04:50 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-16 19:04:50 +01:00
2023-06-16 19:04:50 +01:00
2017-09-20 18:03:44 +01:00
2021-05-21 09:10:53 +01:00
2023-06-11 00:33:27 +01:00
2021-03-29 19:02:23 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2018-11-13 21:48:24 +00:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-11 00:33:27 +01:00
2023-06-16 19:04:50 +01:00
2023-06-11 00:33:27 +01:00
2023-06-16 19:04:50 +01:00
2023-06-11 00:33:27 +01:00
2017-05-07 16:25:56 +01:00

This is the README accompanying the source code to Simon Tatham's
puzzle collection. The collection's web site is at
<https://www.chiark.greenend.org.uk/~sgtatham/puzzles/>.

The puzzle collection is built using CMake <https://cmake.org/>. To
compile in the simplest way (on any of Linux, Windows or Mac), run
these commands in the source directory:

  cmake .
  cmake --build .

The manual is provided in Windows Help format for the Windows build;
in text format for anyone who needs it; and in HTML for the Mac OS X
application and for the web site. It is generated from a Halibut
source file (puzzles.but), which is the preferred form for
modification. To generate the manual in other formats, rebuild it,
or learn about Halibut, visit the Halibut website at
<https://www.chiark.greenend.org.uk/~sgtatham/halibut/>.
Description
No description provided
Readme 26 MiB
Languages
C 93.3%
JavaScript 1.4%
Objective-C 1.1%
CMake 1.1%
HTML 0.8%
Other 2.2%