Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / Multisampling doesn't appear to work with Win7

Author
Message
Haz
8
Years of Service
User Offline
Joined: 6th Oct 2010
Location:
Posted: 8th Sep 2012 09:38
I'm having a problem getting multisampling to work in Windows 7.

I have a game that runs in 1366x768, and when I go full screen on a Windows XP machine, everything looks antialiased/smooth.

But when I go full screen on Windows 7, everything is pixelated.

I've tried this:
dbSetDisplayModeAntialias( 1366, 768, 32, 1, D3DMULTISAMPLE_NONMASKABLE, 0);

And even tried directly doing SetRenderState ( D3DRS_MULTISAMPLEANTIALIAS, TRUE );

When I do GetRenderState() on the Win7 machine, it claims that MULTISAMPLEANTIALIAS is enabled, but it still looks terrible. My text is barely readable.

Anyone know what I'm missing?
Hawkblood
9
Years of Service
User Offline
Joined: 5th Dec 2009
Location:
Posted: 8th Sep 2012 13:33
Is that resolution a valid resolution for your Win7 machine? I like to use the default window's resolution for all my programs. It usually looks really good and you KNOW it works.

The fastest code is the code never written.
Haz
8
Years of Service
User Offline
Joined: 6th Oct 2010
Location:
Posted: 8th Sep 2012 20:25
Yes, the resolution is valid on the machine, but I don't think it uses it. When the game goes to full screen, there doesn't seem to be a resolution change on the display adapter, rather just a stretching of the game window.

Same thing happens if I'm in windowed mode and resize the window. On the Win XP machine, multisampling works and smooths things out. On the Win7 machine, it doesn't work in any case.

It's almost like something in DarkGDK is disabling multisampling on Windows 7. Other games/programs running on the Windows 7 machine (not made in DarkGDK) can use multisampling just fine.

I'd like to find a way to force it back on, or a place in the source code I can prevent the disabling.
Haz
8
Years of Service
User Offline
Joined: 6th Oct 2010
Location:
Posted: 9th Sep 2012 00:39
Here's an example of what I'm talking about.

In the screenshot on the left, is a sprite png file that was displayed on a Windows XP machine. It's antialiased.

On the right, is the same sprite from the game run on Windows 7.

I'm not even sure multisampling is the cause of this. All I know is that in full screen mode, XP smooths out the sprites, and 7 does not.

Attachments

Login to view attachments
Hawkblood
9
Years of Service
User Offline
Joined: 5th Dec 2009
Location:
Posted: 9th Sep 2012 06:34
Are you using a camera effect? For some reason the camera effect kills any AA. I still think you should try using the desktop resolution on your win7 machine.

The fastest code is the code never written.
Haz
8
Years of Service
User Offline
Joined: 6th Oct 2010
Location:
Posted: 9th Sep 2012 10:25
Ah! That's the key.

I wasn't using dbSetWindowOff() so when I maximized, it was just stretching the window.

That seems to work fine in Windows XP, as it just smooths everything automatically.

dbSetWindowOff() changes the display resolution rather than just resizing, which fixes my problem in Windows 7.

Allowing the user to toggle full screen on and off means I have to reload all my images when they do, but it's a small price to pay.

Thanks for your help.
Alex_Peres
10
Years of Service
User Offline
Joined: 13th May 2009
Location: The Milky Way Galaxy
Posted: 14th Oct 2012 20:39
Hey guys!

I have the same problem! And using dbSetWindowOff() it's bad way!!!
I have many-many problems with that!

Is there any way to use dbSetWindowOn() and dbMaximizeWindow() with the smooth-AA screen in Windows 7 ??? Cann't understand why it's working on XP and doesn't work on Win7...
Any help will be very useful!!!

Login to post a reply

Server time is: 2019-09-19 19:47:20
Your offset time is: 2019-09-19 19:47:20