Default heuristics for variable-format displays

Tony Nelson tonynelson at georgeanelson.com
Tue Sep 22 22:53:58 UTC 2009


On 09-09-21 11:46:41, Alexander Boström wrote:
> Here's my suggestion...
> 
> 	def mode_megapixels(mode):
> 		return mode.width * mode.height
> 
> 	# Sort by best refresh rate.
> 	modes.sort(key=lambda mode: -mode['refresh'])
> 
> 	# Prefer to balance refresh rate vs. pixels.
> 	if dpi_known:
> 		acceptable = filter(lambda mode: mode.dpi >= 90,
> modes)
> 		if len(acceptable) > 0:
> 			# Anything above 90 DPI is good enough
> 			# for a default.

This is wrong, as it will produce more or less random resolutions up to 
the maximum supported by the monitor, which is in fact the motivation 
for doing better.  The modes close to 90 DPI should be preferred.

> 			# Pick the one with the best refresh.
> 			return acceptable[0]
> 
> 	# DPI not known or too low, balance refresh vs. pixels.
> 	best_megapixels = max(modes, mode_megapixels)
> 	acceptable = filter(lambda mode: megapixels(mode) >=
> 			best_megapixels / 2)
> 	# Pick the mode with the highest refresh rate and at least
> 	# half the max possible number of pixels.
> 	acceptable[0]

-- 
____________________________________________________________________
TonyN.:'                       <mailto:tonynelson at georgeanelson.com>
      '                              <http://www.georgeanelson.com/>




More information about the fedora-devel-list mailing list