Friday, May 31, 2013

Some final optimizations and features going into PuppyRay this week, making it almost ready to check off the list and move on to other things for now...

Friday, May 24, 2013

A screenshot generated while adding new quality presets to Puppy Ray.  Generated with a small amount of global illumination and relatively sharp shadows.

Thursday, May 9, 2013

DPI in Windows

I'm looking into DPI in Windows today, and how it is handled by the system.

We are designed to run at 96 dpi, the default Windows dpi setting.  This was fine in the old days, but with new high resolution displays coming along, and (hopefully) long standing Windows bugs being (hopefully) fixed, it is becoming more important to support different DPI settings.

Over the weekend, I watched somebody running Howler on a new pressure enabled tablet device, that featured a very high resolution.  They also had Photoshop installed (which also has formatting problems in different DPI settings) so they would switch back to 96 dpi to do actual work.

I've stated before, that historically, Windows had a bug that would delete your user account sporadically when switching DPI settings.  I really, really hope that one's been solved.  That one fact kept me from looking into the DPI problem for a number of years.

Anyways.  I've leaned a few things about how DPI is handled under Windows.
There are 2 modes in which DPI is handled.  One is to let the the OS handle some of the scaling (such as fonts and window elements) and forces the program to handle other layout things.  This is a bit of a mess, because the OS handles things differently depending on which version you're using.

The other option is to have the OS render the program offscreen at 96 dpi, and blit it onto the program window.  All the windows/buttons/text/graphics appear correctly in this mode, and at a larger size, but they appear slightly blurry because they are being bitmap scaled.  This mode is turned on by turning off(!) the "WinXP style scaling" checkbox in the dpi settings program.

Unfortunately, it's all on or all off, you can't just turn it on for a single application.  You can however exclude programs from being rendered in this mode by using the program's compatibility settings.

To further complicate things, these modes are selected differently depending on the DPI you have selected.  96 through 120 dpi get the "XP style" scaling, while other dpi settings get the XP style turned off.  It can however be changed by the user.

Wednesday, May 8, 2013

Black Icon bug

I am becoming convinced that the black icon bug in older versions of howler is related to screen dpi.  Only problem is, I've yet been able to prove it.

The only time I've been able to observe the black icon bug was when the dpi was set to something other than 72.

Supporting dpi other than 72 is becoming a priority.  Historically, Windows had an unfortunate bug, that if you changed your DPI, it would sometimes delete your user account.  That's a rather serious bug.

Actually, it renamed the account, but the effect was the same until you could get it sorted out.

Tuesday, May 7, 2013

No big update for today, or even this week.  Spent some time over the weekend at the Production Pipeline expo in Hollywood, which was then canceled.  I'm just catching up on various marketing efforts today.

Thursday, May 2, 2013

I'm running a test render on the new raytracer with the global illumination samples turned up pretty high (800 samples per pixel) to see how many it takes to eliminate grain.  It occurs to me at this point that some of those samples could be better spent on higher quality anti aliasing for not much more cost.  That's my next step.  Here's the result, anyway.  The image to the left took about an hour to render on 3 cores at 1.6 ghz. with all the settings cranked up pretty high.  Image size is 1024x768.