Ambernic products are nice but i recommend the 320x240 models, especially if you use the MIPS-based devices as pretty much everything made for those has its roots on the Dingoo console from ~12 years ago and the GCW Zero "spiritual successor" from around 2012 or so and both had 320x240 screens, meaning a ton of software assumes that resolution. In recent years there have been some clones of these two devices with Ambernic's being generally the better ones but some have odd resolutions like 640x240 and they do not support hardware scaling which means that some programs will either not work or have to do scaling in software - which is much slower (and these devices aren't exactly fast in the first place).
In general i recommend either the JZ4770-based devices (those are the most mature) like Ambernic's RG350 (
not RG350M as that one has a 640x480 resolution and there are people who reported issues with it), RG380M (yes, despite being a higher number it has a 320x240 resolution), RG350P (this one is basically like RG350 but has an IPS screen), GKD350H, etc or alternatively some ARM-based devices that use EmuELEC and have either 320x240 resolution or a vertical multiply of that (e.g. 640x480, 720x480) with support for hardware scaling (sadly you'll have to research that one). Some ARM devices can be more powerful and cheaper, but are more varied and can be harder to get running. If you go with ARM avoid the Android-based ones since Android adds a ton of overhead (OpenDingux on the other hand runs only a tiny graphical shell directly though the framebuffer - not even using X11 - and when a game is running it gets almost the entire device with practically zero background overhead). Also avoid anything that has an odd resolution like 320x480 or 640x240 or whatever - not only these have issues with software but they tend to be used with weaker SoCs and often without any support for hardware scaling (or even hardware accelerated graphics).
Whatever you buy, make sure it comes with OpenDingux or RetroFW (which AFAIK is based on OpenDingux but is for MIPS32r1 devices - note that not all OpenDingux software will run on RetroFW but they use the same package format -OPK- and software can be made to work in both... so some do that) - as this is mainly what the community seems to be supporting. Between the MIPS-based devices i highly recommend the JZ4770-based ones as they are the most powerful (and common).
There is a database of current handhelds here:
https://obscurehandhelds.com/current-handhelds/
Note that this list only shows the "latest"(ish) handhelds but you can find older models too.
Also some software for OpenDingux can be found here:
https://github.com/retrogamehandheld/OpenDingux - it doesn't contain everything (like, e.g.
my own game's port :-P), but contains enough to get you started. Also check the Dingoonity boards and the retro gaming handheld Discord.
EDIT: all that stuff are of interest if you care about custom software, getting new/updated emulators, homebrew games, etc on the device of course - otherwise if all you care is sticking with whatever support the device comes with out of the box then just get the cheapest and most powerful one you can find (usually some ARM-based one).