You are not logged in.

Read the FAQ and Knowledge Base before posting.
We won't make a 3DS/2DS emulator.



#1 2015-06-05 01:40:34

Nintendo Maniac 64
Member
From: Northeast Ohio, USA
Registered: 2010-02-24
Posts: 92

hq3x magnification filter? (there's already hq2x and hq4x...)

Seems a bit silly to have hq2x and hq4x but not hq3x...

Last edited by Nintendo Maniac 64 (2015-06-05 03:13:23)

Offline

#2 2015-06-05 20:15:58

rogerman
Member
Registered: 2011-06-04
Posts: 380

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

The HQ3x and HQ3xS pixels scalers are now included as of r5196.

These filters are exposed only in the Cocoa port right now. Support for other ports may be coming at a later date.

Offline

#3 2015-06-05 20:22:21

Nintendo Maniac 64
Member
From: Northeast Ohio, USA
Registered: 2010-02-24
Posts: 92

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

Wait, are you saying you just added them between now and yesterday or are you saying that they were already present in a trunk build and I should have looked there first?

Offline

#4 2015-06-05 20:23:09

rogerman
Member
Registered: 2011-06-04
Posts: 380

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

I just added them between now and yesterday.

In fact, I only added them just a few minutes ago. HQ3x and HQ3xS weren't present in trunk before that.

Last edited by rogerman (2015-06-05 20:25:32)

Offline

#5 2015-06-05 20:26:54

Nintendo Maniac 64
Member
From: Northeast Ohio, USA
Registered: 2010-02-24
Posts: 92

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

Wow, mad props to you.

Now, how about that --fullscreen commandline argument, the one that was targeted for 0.9.10? tongue  You know, so that I can take full advantage of this hq3x on my small laptop's 1366x768 display for games that have the DS rotated 90/270 degrees (256 x 3 = 768).

Last edited by Nintendo Maniac 64 (2015-06-05 20:28:02)

Offline

#6 2015-06-05 20:39:52

rogerman
Member
Registered: 2011-06-04
Posts: 380

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

Whoa whoa whoa, I'm just the Mac developer. I don't work on Windows UI features.

The reason I added HQ3x/HQ3xS was because:
1. The only 3x scaling option up until now was 3xBRZ. Adding HQ3x/HQ3xS now presents a lower CPU option for users with lesser hardware.
2. The HQ3x code already exists, and could easily be ported to DeSmuME with only a few modifications.
3. It is far easier to expose new filters in the Cocoa port, which speeds up testing considerably.

In short, it was an easy addition, so I just went ahead and did it. And just to warn you -- adding new UI features to the Windows port can be tough due to limitations in its current architecture. Sorry, but you'll just have to wait for a Windows dev to show some interest in this.

Oh yeah, one more thing: If you're wanting a feature where you can automatically start DeSmuME in full screen mode with the display rotation already set, the Cocoa port already has that feature. smile

Last edited by rogerman (2015-06-05 20:43:15)

Offline

#7 2015-06-05 20:46:01

Nintendo Maniac 64
Member
From: Northeast Ohio, USA
Registered: 2010-02-24
Posts: 92

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

Perhaps I did not put enough emphasis on the ":P" - I was not being entirely serious.  While I would love such a setting, I currently make due just fine with Windows' own generic /max command argument which starts DeSmuME maximized (it can result in some graphical corruption in the bottom-right in 0.9.11, but it seems to work perfectly in newer trunk builds)

And I am aware that you are specifically the Mac dev; I found your post stating that Mac DeSmuME supports mapping multiple keys to a single DS button (where you could have the keys Enter and/or Shift both independently work as the Start button).

Lastly, regarding CPU performance of hq3x, I actually found it very similar to 3xBRZ in regards to performance when I tested it in VBA-M.

Last edited by Nintendo Maniac 64 (2015-06-05 20:53:38)

Offline

#8 2015-06-05 20:58:07

rogerman
Member
Registered: 2011-06-04
Posts: 380

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

Just keep in mind that an NDS has considerably more pixels to process than a GBA, so any performance differences between filters will become more apparent for NDS compared to GBA.

NDS has dual 256x192 screens, so a total of 98304 source pixels --> 884736 destination pixels.
GBA has a single 240x160 screen, so a total of 38400 source pixels --> 345600 destination pixels.

In other words, any given 3x pixel scaler would have to do 2.56x the amount of work on NDS compared to GBA, so it's much more likely that you'll see a performance difference between HQ3x/HQ3xS and 3xBRZ on NDS vs GBA.

Offline

#9 2015-06-05 21:02:56

Nintendo Maniac 64
Member
From: Northeast Ohio, USA
Registered: 2010-02-24
Posts: 92

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

And that's why you're supposed to apply the filters to the textures themselves, not to the entire screen. tongue

That's assuming the thing was smart and it only applied said filter one time and then made copies for any repeating textures...

Offline

#10 2015-06-05 21:29:26

rogerman
Member
Registered: 2011-06-04
Posts: 380

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

Watch out! The number of separate textures you may need to upscale could be large, so you may end up doing way more work in the texture upscaling than simply doing a single post-processing pass on the output framebuffer!

Remember: An NDS is not a 3D system. It really is a 2D system at its core which merely uses one of its 2D layers as a 3D rendering target. Since not all games will do 3D rendering, its better to just do a single post-processing pass on the output framebuffer for the sake of performance and so that have we something that works for all games.

That being said, I've already done a lot of experimentation with texture upscaling, but I haven't been satisfied with it to make any worthwhile commits for the feature. An NDS has some very unique ways of handling textures, not to mention that NDS final 2D layer blending can throw off the output framebuffer in some pretty nasty ways if upscaled textures are used. Also, performing texture upscaling with CPU-based pixel scalers hurts performance way too much. And there are more issues on top of this, but these are some of the major ones.

And really, this is why DeSmuME doesn't have texture upscaling yet: There are a LOT of problems to overcome for such a feature to be viable. Now, if the NDS were a natural 3D system that handled textures the normal way, then adding a texture upscaling feature is no problem at all. Unfortunately, the NDS has its own unique quirks that we have to deal with, so you shouldn't expect texture upscaling to come out any time soon.

Last edited by rogerman (2015-06-05 21:35:09)

Offline

#11 2015-06-05 22:13:11

Nintendo Maniac 64
Member
From: Northeast Ohio, USA
Registered: 2010-02-24
Posts: 92

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

Um, I just realized that DeSmuME doesn't have HQ4xS...

So, uh...you know...

Last edited by Nintendo Maniac 64 (2015-06-05 22:13:56)

Offline

#12 2015-06-05 22:34:57

rogerman
Member
Registered: 2011-06-04
Posts: 380

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

Actually, HQ4xS has been around since v0.9.9 on Mac and v0.9.11 on Linux. HQ4xS hasn't been exposed on Windows yet.

Last edited by rogerman (2015-06-05 22:39:55)

Offline

#13 2015-06-09 05:54:02

zeromus
Radical Ninja
Registered: 2009-01-05
Posts: 6,169

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

Nintendo Maniac 64 wrote:

And that's why you're supposed to apply the filters to the textures themselves, not to the entire screen. tongue

No, that's an entirely different goal, an entirely different process, an entirely different topic, and an entirely higher magnitude of complexity, times 1000, and it has nothing to do with this thread.

Offline

#14 2015-06-13 13:53:45

toxicshadow
Member
Registered: 2014-08-21
Posts: 4

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

The introduction of RenderHQ3X appears to break the build process on linux with the following errors:

../filter/videofilter.o:(.rodata+0x4a0): undefined reference to `RenderHQ3X(SSurface, SSurface)'
../filter/videofilter.o:(.rodata+0x4d0): undefined reference to `RenderHQ3XS(SSurface, SSurface)'
collect2: error: ld returned 1 exit status

the hq3x.o file is not being created so if I had to hazard a guess I suspect it is not included in the make file.

Offline

#15 2015-06-13 21:01:38

rogerman
Member
Registered: 2011-06-04
Posts: 380

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

Okay, compiling for the various Linux ports should now be fixed in r5202.

Offline

#16 2015-06-14 15:33:10

toxicshadow
Member
Registered: 2014-08-21
Posts: 4

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

Confirmed working. Thanks.

Offline

#17 2015-09-18 06:53:07

Nintendo Maniac 64
Member
From: Northeast Ohio, USA
Registered: 2010-02-24
Posts: 92

Re: hq3x magnification filter? (there's already hq2x and hq4x...)

So I couldn't help but notice that HQ3x, HQ3xS, and HQ4xS aren't available in the GUI for Windows build r5277...

Last edited by Nintendo Maniac 64 (2015-09-18 06:53:39)

Offline

Board footer

Powered by FluxBB