-
Notifications
You must be signed in to change notification settings - Fork 29
BLiNX: the time sweeper [MS-019] [1.05] #184
Comments
From @furrya on March 17, 2017 6:47 Now the game has regression - black screen with an exception code And here two KrnlDebug files |
The first real difference between those two logs is that Alas, the older log doesn't contain the HLE log, so it can't be compared, but the newer log mentions |
From @furrya on March 30, 2017 13:41 It's fixed with Cxbx-Reloaded/Cxbx-Reloaded@3eb9b7d5, intro videos returned ^^ |
From @furrya on April 18, 2017 11:50 Cxbx-Reloaded/Cxbx-Reloaded@77933ad8 Video in the game is broken now in Cxbx-Reloaded/Cxbx-Reloaded@77933ad8. Just black screen with laggy sounds in the background. Updated - Cxbx-Reloaded/Cxbx-Reloaded@42e87e7b The video has appeared, but not stretched normally. Controller emulation does not seem to work now, I am not able to skip the intros. |
From @furrya on May 4, 2017 7:46 Blinx - the time sweeper doesn't show videos anymore, instead the game shows a loading screen and crashes. Cxbx-Reloaded/Cxbx-Reloaded@9173d4ab |
Latest logs, taken from #266 |
Update on this one, just tested it out! Looks like it's back to flashing the loading screen for a second and then crashing. The log says that it couldn't assemble a recompiled pixel shader. |
For all regressions, we're most interested in hearing about which commit broke it (using a git bisect), so we can quickly zoom into the issue Oh, also make sure to clean the HLE cache when switching to another build, because function detection was and is still very much in flux. |
Whoops, just saw this! Did a clean of the HLE cache, posted logs over in the main blinx issue, but I'll also pop them over here for ease of access. Not sure which build broke it as I'm pretty new to the CXBX project but if there's any way I could help to figure out which commit it was I'd love to help with that. :) |
I've done a test with this title and get a flashing loading screen before it crashing, did you get the same results with these logs? Also an xbe dump (Edit>Dump Xbe Info To...) would be helpful in verifying that we have the same version of the game. |
Yes, that's correct, currently getting a flashing loading screen. Attached is the dump! |
Updated, and to be clear this issue originally was for the PAL version while the attached dump appears to be NTSC - though I don't know if it warrants separation into two issues because as far as I know the end result is the same on either version. |
Awesome! Yeah- so far I've tested both regions and they seem to be about the same in terms of issues at the moment. If there's anything else I can do to help provide additional info, let me know^ Would be awesome to see the game get to the menus. :D |
@CakeLancelot If both PAL and NTSC has the same library version. It should be acceptable to have both PAL and NTSC in same issue. Unless both have a different failure says otherwise. In the dump of NTSC build is 4831 library version. |
Crashing before video again I guess from reading this post. CxbxDebug.txt My Specs: |
DescriptionBooting, but when playback FMV has crash with CreateTexture Failed!.
DumpsStatusPrevious behavior: Current behavior: ScreenshotsAdditional InformationTested with Cxbx-Reloaded/Cxbx-Reloaded@735a4bcf |
https://www.youtube.com/watch?v=SoeDh6kObz4 New video from John GodGames showing Blinx now gets in-game, though it seems you need wire-frame in order to see what you're doing. Game looks like it is extremely slow right now as well, but nice progress nontheless! EDIT: This actually seems to be footage from a WIP branch from Luke; just thought I should make that clear. |
Cxbx-Reloaded/Cxbx-Reloaded@d784ce1f: tested using HLE mode, Windows 10, Nvidia GPU |
Cxbx-Reloaded/Cxbx-Reloaded@a59df66b |
NTSC version has videos not playing for me, but menu works nicely. When starting a game, frames take roughly 20 seconds to render what seems to be a solid color. |
The game displays the first two loading screens then shows a blackscreen. Audio is working perfectly. Pressing the A button on the controller gets you to the main menu. The main menu (and all sub-menus) are fully functional but only partially load. The animated backgrounds are just a black screen. When attempting to start a new game the audio for the intro video plays perfectly, but again, it just displays a black screen. Skipping the intro video makes the game attempt to load, the FPS drops to around one and the game never actually renders anything, but again, the sound plays perfectly. Note: If you wait long enough you can see behind the loading screen, but like I said, nothing renders. 1.05, tampered with: Xbe.txt If anyone wants me to log anything specific, please let me know. |
Getting pretty much the same here. I have a feeling it's rendering this slow in-game because it's supposed to run at 30fps, or some unoptimal code in the DirectX stuff. But what happens if I hack the game to run at 60fps...? |
It'll probably run even slower seeing as it'd have to produce more frames (and at a faster rate) than 30fps. |
The reason it renders so slowly is probably because the game renders the models (they aren't visible, but are still there) in around 600 chunks each due to what I'm guessing is an emulation bug. Just try using a graphics debugger or model ripper (like NinjaRipper) and you will get hundreds to thousands of meshes, each being around 3-6 tris. |
There IS indeed a situation that results in that last described behaviour, I'll look it up and link it here. EDIT : See this comment in code : https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/blob/develop/src/core/hle/D3D8/Direct3D9/Direct3D9.cpp#L7528
So I guess we can add this title to the list of test cases |
The reason I chose for that approach, is to avoid yet another resource conversion (in this case index buffers), which would also require a cache and a costly modification check, all requiring additional complexity and code to maintain.
So there's no other way than to keep doing it like this, or to convert index buffers. |
Converting is the best idea because that results in less draw calls, and the number of draw calls made is one of the largest impacts to performance in graphics programing. The vertex caches should negate the need for multiple conversions per-draw. |
Regression. Cxbx-Reloaded/Cxbx-Reloaded@c0cdb011 |
Slowness due to repeated indexed quadlist draws will be addressed in issue Cxbx-Reloaded/Cxbx-Reloaded#1749 (pending PR : Cxbx-Reloaded/Cxbx-Reloaded#1757) |
I would of been able to test the quad draw fix out months ago, but due to a regression problem ("Failed to create vertex buffer"), I can't. I would try and attempt to find what commit broke it, but it is not a priority to me right now. |
Welp, seems I (almost) have the answer, I went through my previously downloaded builds, and found that between commits Cxbx-Reloaded/Cxbx-Reloaded@1a62f5e1 and Cxbx-Reloaded/Cxbx-Reloaded@5f5e19a3 that the game somehow has been broken. I'd delve into this deeper by downloading every build between those two, but AppVeyor's 6 month build deletion policy complicates things, which means I have to download every commit and compile them manually, which I'm too lazy to do unless it could be done automatically . |
@jthecodebuilder please try this : https://git-scm.com/docs/git-bisect |
Well, I think I figured it out. When the vertex cache was implemented, it broke BLiNX (and maybe a couple of others too). (I suspect that BLiNX uses an uncommon implementation of its quad rendering?) So therefore, Cxbx-Reloaded/Cxbx-Reloaded@f36cd05 broke the game. Not sure what is happening, but I will try to get the debug log. Not sure this will be enough to debug this, but it's all I'm able to do. |
Just saying, but I feel like an issue should be opened to keep track of (almost) all games that have regressed due to this recent implementation of the vertex conversion (cache). |
This PR # 2048 (Optimize vertex stream cache for partial buffer access), dated November 27, 2020, was tested by an user and showed that it's helped to get this game to go in-game with some decent visuals.
|
Just wanted to add for the record, aside from the low performance, there's also missing textures in-game and some extremely stretched "wonky" 3d objects, similar to SSX 3 [#1083] I will say that this is amazing, and I can't wait to see further compatibility with this game |
Wikipedia
Description
Previously the game displayed intro screens, but on the current build that is not the case and instead the loading screen will flash briefly before crashing.
Also if you have no controllers plugged in you can hear the menu music
(needs confirmation? see this video)
Dumps
KrnlDebug.txt
CxbxDebug.txt
BlinxXbe.txt
Status
Previous behavior:
Showed intro videos, albeit laggy and with incorrect sound.
Current behavior:
Flashes loading screen briefly before crashing
Screenshots
Current Behavior:
Video
Previous Behavior:
Additional Information
Tested on version 6a798ad5 (Oct 8 2017)
Copied from original issue: Cxbx-Reloaded/Cxbx-Reloaded#235
Xbe.txt
The text was updated successfully, but these errors were encountered: