narzoul / DDrawCompat

DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11
BSD Zero Clause License
925 stars 70 forks source link

Simcity 4 runs perfectly with DDrawCompat #77

Closed rainman7cn closed 3 years ago

rainman7cn commented 3 years ago

Dear narzoul, Thank you so much for your splendid work, I see many oldie lovers have the benefit of it, it saves my Simcity 4 as well, Before this i have tried dgvoodoo and dxwrapper, they all has the defects somewhere, My laptop has two Graphics, indicated intel 670 and dedicated GeForce 1050ti, dgvoodoo could make SC4 runs in dedicated card, but it has some flickering in full scree mode and a bit screen tearing in window mode. and dxdrapper couldn't set Dd7to9 = 1 to let game runs in Nvidia. But with your DDrawCompat, … Amazing! Though even though SC4 still ran with my indicated Intel Graphics, But Whatever i zoomed in/out or how fast i dragged the screen, None issue there, i built a big city with HD trees everywhere and moved very fast, the FPS still stays high and the whole process is quite smooth. Unbelievable that it happened on my indicated card and just need one file be put into app folder (this is the biggest ddraw.dll i have ever tried*:D). I want to know if there is chance so that Simcity 4 could use my dedicated card with your DDrawCompat, since this game has to customize two Graphic rule files (card's vendor id and hd id)to recognize the new Hardware, i thought that maybe the reason. Thank you again for the efforts you put into this, Frankly, i hope i could find a way to repay you. I mean it.^v^ Sincerely, -- Raymond

narzoul commented 3 years ago

Are you using Windows 10? According to NVIDIA, Optimus laptops (those that have both integrated and NVIDIA GPUs) don't support the NVIDIA GPU for DirectX 8 and older APIs (source: https://nvidia.custhelp.com/app/answers/detail/a_id/3733/~/games-based-on-directx-8-and-older-versions-of-directx-will-only-run-on). DDrawCompat is built on top of the native DirectDraw (DirectX 1-7) API so the same restriction applies.

You'd have to use a wrapper that converts DirectDraw to at least Direct3D 9 to use your NVIDIA GPU. This isn't supported by DDrawCompat, nor will it ever be (most likely), since it doesn't do any API conversion.

That said, I think integrated GPUs nowadays should be fast enough to handle all of those old games anyway, so it shouldn't be a big issue. Why do you need to use NVIDIA specifically?

I'm closing this since converting to Direct3D 9+ is out of scope for this project, at least for the foreseeable future.

rainman7cn commented 3 years ago

Dear narzoul, Yes i'm using an optimus laptop not a mux, sorry that i mistook assumption that DDrawCompat would convert ddraw to d3d(like dgvoodoo), And in terms of Simcity 4, it's a quite special old game, its fans kept developing new Mods in HD(high definition) , and though you don't apply any mods just play it with vanilla resources of game, My integrated card still couldn't handle increasingly calculating on True3d models and new Buildings that's getting more and more in city all the time. My comp could handle GTA5 but not on this, Opps, it's kind off-topic, Anyway, you will see it when you give it a try someday, since you're expert.😊 But as i said, Your great work significantly changes this, I have suggest others give it a shot and they replied me with Amazing as well, so i give up my thought about buy a new PC or a mux laptop tentatively, Thanks a million. Sincerely, -- Raymond

elishacloud commented 3 years ago

I agree that DDrawCompat is a great tool! I also like SimCity! @rainman7cn, you may want to check out the thread here. There are details here on how to get SimCity 4 working in 4k resolution. It also allows you to use DDrawCompat, since that is included here.

rainman7cn commented 3 years ago

Hiya @elishacloud Thank you so much, it's just because of Durfsurn's kind sharing of dxwrapper(your work), i began to delve into this: https://community.simtropolis.com/forums/topic/759666-how-to-run-simcity-4-natively-above-1920x1080-in-hardware-mode/ with it we got game runs with indicated card when set Dd7to9 = 0 and D3d8to9 = 1, but when we want game runs with dedicated card and set Dd7to9 = 1 and D3d8to9 = 0, SC4 popped up an error "could not initialize Direct Draw" but the game could get into a Region, but crashing down when entered a city map, i could see game starts to use dedicated (GeForce 1050ti) from SC4' log, i hope you could understand it due to my English is awful. Appreciate any tips on this, Thank you!!

rainman7cn commented 3 years ago

@narzoul i'm very sorry that i might ruin here with an issue in a wrong place, i will tidy up results of my test a bit and consult @elishacloud later in his thread, Sorry!