Red alert 2 issue when pausing game4/10/2024 ![]() It is also correct that there is a limited time budget, but it is not 1/60s, as that would be one complete frame. When the game is paused a "pause handler" will most likely be running, which will be waiting for the player to unpause, and telling the NMI code to do nothing (except refresh the sprites because this is a must every frame, otherwise the sprites will get corrupted). Usually it's useful to break them down like I just listed, and have a flag and a conditioned jump over all of the operation types so that the rest of the program can request certain updates from the NMI code this way, while others may not be needed all the time. and to help with this the PPU generates the NMI interrupt so that the CPU can instantly devote itself to these operations. During the Vertical Blanking period, the PPU is not accessing any of its memory, so this is the time when the CPU is free to change the nametables, palettes, refresh the sprite data by using the $4014 register, etc. You are on the right track overall in thinking that it is a time-critical part of the program. As in, the actual frames that are output to the screen will be repeated, considering your nmi code is in fact the only code that affects the ppu and that you're using buffers and these haven't been updated since the last NMI. It will be perceived as "lag" by the player. Just do them first, and then you can "pause" your code for as long as you want. So, you have a set amount of cycles to do those things. Things that "require" the ppu to be in the v-blank phase. Usually in the nmi code we do things that are ppu sensitive. You'll have to be more specific than that. The cpu has no idea which code inside your organization it is executing. The thing is, "nmi code" and "game code" are just ways to organize the code. By "pause" I imagine you mean lock the cpu inside your nmi code for too long. The ppu does not stop for you, in fact, it is always doing its thing in a loop, about 60 times per second, as you mentioned. Maybe I'll get something right, but I want to try and see! Can anyone help me with the issue, please? Thank you in advance for your time and effort, I appreciate it very much.Let me answer before someone who really knows what they are talking about does. And I tried different tunnel servers, still very little or no difference. And yes, I tried with Back Buffer on and off, it makes no difference on the slower computer and it makes the game unplayable on the faster computer, when I switch it on. So I reckon it must have something to do with some settings of some kind. I have 2 computers at home (the second one a bit slower, but should still be enough for this game) and tried playing 1v1 on those 2 computers too, but it was the same, whether playing via LAN or CNCNET. Also, I have a very decent internet connection - 250/150 fiber, ping when playing CSGO is around 20ms, for example. ![]() I have a decent-ish computer (Win10, 8gb ram, 8-core AMD processor, R9 290 graphics card) and I don't experience any issues even in newer games (Battlefront 2 runs smoothly, for example, and I don't mean the 2005 Battlefront 2 game). As soon as there is another live player in the game, the game gets laggy - any command is executed with around half a second (sometimes up to 1 second) delay and the game runs visibly slower. I have this problem when playing RA2:YR using CNCNET: My game runs completely smoothly with no lag or any issues what so ever as long as I play Skirmish or CNCNET game with AI only.
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |