So let's me get this straight. The admin types "Bus 1, Device 2, Function 3, Head 0; resolution = 1204*768" into a text file somewhere. Then the OS find it and slaps adds "PnP ID = 0x1234" onto the end so it can figure out if the monitor has changed later. Then the device manager finds the file and parses it, but because "resolution" was supposed to begin with a capital letter it displays a "syntax error on line 1" error to nobody because there's no video driver yet. Then the admin tries to figure out what went wrong, sees the "PnP ID = 0x1234" and knows they didn't type it, so they assume something is trashing the text file and causing the unknown error, deletes it and retries. It fails again. The admin digs through the manual and finds the right mystic incantation, and fixes the capital letter and re-retries. This time the device manager parses it correctly and passes "Resolution = 1204*768, PnP ID = 0x1234" to the video driver. Now it's the video driver's turn to display an error message nobody can see because "1205*768" isn't a recognised mode.onlyonemac wrote:No admin would set every monitor to 1024x768. If people complain about the resolution of their monitors, the admin will either try to fix it (and know how to avoid messing it up) or tell them that they're not going to fix it. If they decide to try to fix it, they will try to find the correct resolution either by finding specifications or by experiment, and if they fail to find the correct resolution they will say "sorry, we can't fix it".Brendan wrote:The chance of the auto-configuration getting it wrong is extremely low (e.g. less than the chance of admin being hit by lighting). The chance of the admin getting it wrong is higher; either due to mistakes/typos, difficulty in finding the information needed (given that they can't just get it from EDID and it's not published in monitor's specs), or because the admin actually managed to get it right once upon a time but people shifted/changed monitors around 4 times since then and it's too inflexible to cope with that, or because admin simply has better things to do with their time and couldn't be bothered and set every single monitor to "1024*768" to save time.
And it's your fault if your OS is so inflexible that it just assumes that a particular configuration is correct without checking what hardware is attached. So you could say something like "as long as the EDID of the attached monitor remains the same, apply the resolution specified in the configuration file".Because it is inherent in the design of GUIs that only a limited range of options can be presented to the user (what fits on the screen, and what can be easily navigated with a mouse; long menus for example are impractical).Brendan wrote:Why have you assumed that just because Window's GUI configuration utilities are restrictive in some way; that my GUI configuration utilities would also be restrictive in some way?
Just documenting this puss in the user manual alone is more hassle than it's worth.
Um, what? The choice is between a nice dialog box that checks for valid input and tells the user something is wrong while they're entering the data (where the code that uses the file later knows it's correct and doesn't really need to do much sanity checking or handle errors); or a text file where there's no feedback while the user is writing it and doesn't know they made a simple typo until something fails later (and where the code that uses the file later has to do parsing/checking and handle errors).onlyonemac wrote:I never said that that wasn't beneficial; all I said was that if you're complaining about having to perform error-checking on every configuration option when the configuration file is saved, then don't bother because we've never had error-checking of that form on configuration files and people who frequently deal with configuration files are practiced at checking for errors themselves.Brendan wrote:What makes you think some restrictions (e.g. the inability to save the file when there's obvious errors that make it useless) aren't beneficial?
More specifically; it's about "instantaneous feedback" vs."frustrating trial and error".
It's purpose is to scale images. If there was no scaler the monitor would just do "letter boxing" (add huge margins).onlyonemac wrote:Yes - because that "scaling accelerator" isn't purpose-built; it's purpose is to try to make a somewhat-usable picture out of an incorrect video signal, not to perform the last step of your software rendering for you.Brendan wrote:You're saying that it's better to do something in software (running on CPU/s that are already overloaded) when there's a purpose built "scaling accelerator" built directly into silicon that's easy to use and doing nothing?
Any modern graphics card needs a native video driver that I probably won't have (and if I did have a native video driver it's far less likely that I'd be having rendering performance problems in the first place). The hardware in GPUs is designed for applying textures to 3D polygons (and not for specifically for scaling 2D) and costs GPU time and isn't "free".onlyonemac wrote:Besides, any modern graphics card should be able to upscale a raster in hardware, with a purpose-built piece of hardware designed for situations exactly like this (where you want to render at one resolution, but display at another). Your approach is hackish, which isn't a good idea for something that you're hoping to make a commercial project out of.
Given that I've said multiple times that it would scale the image itself (for shorter periods of "too much overhead"), and would only switch video modes for prolonged periods of "too much overhead" (to avoid the overhead of doing the scaling itself when it's obviously not a temporary problem); what made you think it'd be scaling the image itself without the ability to scale images itself?onlyonemac wrote:... instead of writing a scaling algorithm/using graphics card scaling hardware or some other more time-consuming (to implement) technique) that produces what is needed, but it doesn't do it well (because it is not the intended use of the tools that you are using to do it). Thus we can say that your design is hackish, and therefore a Bad Idea.
Cheers,
Brendan