Jump to content
sebasboy

SimCity 4 with PowerPC - Any way to fix unexplained lag?

12 posts in this topic Last Reply

Highlighted Posts

Posted:
Last Online:  
 

heya good day.

 

still messing with old power pc stuff here.

 

got another powerbook g4 here..

 

this time a 1ghz titanium powerbook g4 overclocked to 1.27 ghz with 64 mb vram and a radeon 9000?

 

anyhow. even on this g4.. the game run 100% smoothly if you stay static. animations. cars. ect stay smooth.

 

but the moment i either edge scroll. or right click scroll. the fps tanks to like 1 to 2 fps. and cpu usage shoots from idle 15/25 percent to 0.

 

but if i do the same in SimCity 4 non deluxe.. sure it lags a bit.. but its usable.

like it somewhat feels like sc4 deluxe is running in software rendering mode instead of hardware.

 

but if i switch from hardware to software rendering mode ingame and restart.

 

its reverted the setting back to hardware rendering.

 

it seems to be only that setting. if i change anything else it saves fine.. but if i both change graphics and the rendering mode it wil revert the other settings back too.

 

any way to see if i can force software rendering mode to see if that might fix it?

 

here is a example of what i'm talking about 

 

 

 

sure as you can see it lags a bit with the tornado doing it's thin on the tutorial city.. but the performance is not bad if you dont move..

 

 

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 
On 29/08/2021 at 8:28 PM, sebasboy said:

and a radeon 9000?

Anything lower than a 9500 doesn't have the necessary hardware to support certain graphical modes SC4 uses.

Again this is information from the PC side of things, where DirectX is in use, which is surely not the case for you. It's not absolute that the same would be true of the Mac Port, but it certainly seems worthy of consideration.

Spoiler

  # The Radeon series has a very slow path for partial
   # depth buffer copies. This has apparently been
   # fixed for 9500 and later models in the latest drivers,
   # but cannot be fixed on previous Radeons because of
   # hardware limitations.
   # NOTE: disabling this rule unnecessarily may lead to 
   # very poor graphics performance.
   partialRule "Radeon"
      stringMatch cardIdentity "*Radeon*"
      
      partialRule "SlowSubrectDepthCopy" -any
         stringMatch cardIdentity "*7?00*"
         stringMatch cardIdentity "*8?00*"
         stringMatch cardIdentity "*9000*"
         stringMatch cardIdentity "*9100*"
         stringMatch cardIdentity "*9200*"
         stringMatch cardIdentity "*9300*"
         stringMatch cardIdentity "*9400*"
         stringMatch cardIdentity "ATI, Radeon"
         stringMatch cardIdentity "ATI, Radeon VE"
         stringMatch cardIdentity "ATI, Radeon Mobility"
         stringMatch cardIdentity "ATI, Radeon FireGL"
          
         # results in special low-impact scrolling mode.
         property noPartialBackingStoreCopies true
         
         # try to reduce the number of dirty rects.
         property dirtyRectMergeFrames 8
         
         # use black and white cursors. The Radeons seem
         # to work with colour for a while, but in low
         # memory situations revert to flickering. 
         option $Cursor $CursorBW
      end
   end

Note that this is from files that came with my Mac version of the game, but these are essentially identical to the Windows version. In-short, a special "low impact scrolling mode" exists for these cards, which should be set if you have one of the identified cards. However, from what I see in the most recent version of SC4, these scripts don't actually seem to run with the Mac version. If they do, it's not reflected in the -config-log.txt file, which in Windows gives a clear log of exactly what "Profiles" are in use.

So the question is, how can you invoke the 3 properties (orange) that should alleviate this problem? Honestly, there are really no configuration options for the Mac version that I know of. If you have one, could you attach the config-log.txt file from your Documents\SimCity 4 folder to a follow up post. Maybe we can at least see if any of these settings are being correctly invoked or not.

  • Like 1
  • Thanks 1

Head over to my Lot and Mod Shack to keep abreast of my latest developments.

Do you like custom textures, but don't like all the work involved creating them?, take a look at the Texture Automation options here. Change the look and feel of your transit networks, with the minimum of effort, for example customised versions of my Sidewalk NAM (SWN) and Terrain Grass NAM (TGN) mods, and much more besides.

New to the NAM? Check out my tutorials on YouTube. Latest upload: How to: RHW - MHO Roundabout Interchanges. (Nov 25).

p.s. - I'm MGB over on SC4D and a member of the NAM team.

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 
47 minutes ago, rsc204 said:

config-log.txt file from your Documents\SimCity 4 folder

Isn't that in the Apps folder of the Installation folder?

  • Thanks 1

Chance favors the prepared mind. ― Louis Pasteur  
Remember, a few hours of trial and error can save you several minutes of looking at the README. -- I Am Devloper (on Twitter)

Clickable ---> The Best of Cori's Posts  (scroll down a wee bit there)    Something fun: MySimtropolis - Invitation to become a SimCity 4 MySim

Are you new here? Check out the Introduction and Guide to Simtropolis.

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 
4 hours ago, CorinaMarie said:

Isn't that in the Apps folder of the Installation folder?

Not on the Mac, since no such folder exists. Not to mention, Mac's use libraries with one file containing everything for the application. You can edit these, the files inside them, but as part of the App sandboxing, apps (I know, even the app itself SC4) probably can't access or write files there. I'm guessing it's why they moved it to the folder in Documents.

  • Like 1
  • Thanks 2

Head over to my Lot and Mod Shack to keep abreast of my latest developments.

Do you like custom textures, but don't like all the work involved creating them?, take a look at the Texture Automation options here. Change the look and feel of your transit networks, with the minimum of effort, for example customised versions of my Sidewalk NAM (SWN) and Terrain Grass NAM (TGN) mods, and much more besides.

New to the NAM? Check out my tutorials on YouTube. Latest upload: How to: RHW - MHO Roundabout Interchanges. (Nov 25).

p.s. - I'm MGB over on SC4D and a member of the NAM team.

Share this post


Link to post
Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     
    On 31/08/2021 at 10:12 AM, rsc204 said:

    Anything lower than a 9500 doesn't have the necessary hardware to support certain graphical modes SC4 uses.

    Again this is information from the PC side of things, where DirectX is in use, which is surely not the case for you. It's not absolute that the same would be true of the Mac Port, but it certainly seems worthy of consideration.

      From Graphics Rules.sgr (Hide contents)

      # The Radeon series has a very slow path for partial
       # depth buffer copies. This has apparently been
       # fixed for 9500 and later models in the latest drivers,
       # but cannot be fixed on previous Radeons because of
       # hardware limitations.
       # NOTE: disabling this rule unnecessarily may lead to 
       # very poor graphics performance.
       partialRule "Radeon"
          stringMatch cardIdentity "*Radeon*"
          
          partialRule "SlowSubrectDepthCopy" -any
             stringMatch cardIdentity "*7?00*"
             stringMatch cardIdentity "*8?00*"
             stringMatch cardIdentity "*9000*"
             stringMatch cardIdentity "*9100*"
             stringMatch cardIdentity "*9200*"
             stringMatch cardIdentity "*9300*"
             stringMatch cardIdentity "*9400*"
             stringMatch cardIdentity "ATI, Radeon"
             stringMatch cardIdentity "ATI, Radeon VE"
             stringMatch cardIdentity "ATI, Radeon Mobility"
             stringMatch cardIdentity "ATI, Radeon FireGL"
              
             # results in special low-impact scrolling mode.
             property noPartialBackingStoreCopies true
             
             # try to reduce the number of dirty rects.
             property dirtyRectMergeFrames 8
             
             # use black and white cursors. The Radeons seem
             # to work with colour for a while, but in low
             # memory situations revert to flickering. 
             option $Cursor $CursorBW
          end
       end

    Note that this is from files that came with my Mac version of the game, but these are essentially identical to the Windows version. In-short, a special "low impact scrolling mode" exists for these cards, which should be set if you have one of the identified cards. However, from what I see in the most recent version of SC4, these scripts don't actually seem to run with the Mac version. If they do, it's not reflected in the -config-log.txt file, which in Windows gives a clear log of exactly what "Profiles" are in use.

    So the question is, how can you invoke the 3 properties (orange) that should alleviate this problem? Honestly, there are really no configuration options for the Mac version that I know of. If you have one, could you attach the config-log.txt file from your Documents\SimCity 4 folder to a follow up post. Maybe we can at least see if any of these settings are being correctly invoked or not.

    sure no problem.

    sorry for the late response.. i dont seem to get proper email notifications

    sm4.zip

    the ppc version generates these files in documents indeed

    double checked and the specs indeed say Mobility Radeon 9000

    i have attached both the config log and the cfg file

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    So the first interesting difference between the newer Mac version and the old one, is that Rules are being applied, here is an extract from the current Aspyr release:

    Quote

    Numbers
    -------
    cpuSpeed = 2500
    memory = 8192
    freeMemory = 2016
    screenWidth = 2560
    screenHeight = 1440
    screenBPP = 32
    videoMemory = 512
    textureMemory = 512
    textureStages = 2
    bogoFPS = 0
    bogoMPPS = 0

    Rules
    -----

    Options
    -------
    Visual Effects       current:   3 recommended:   3
    Cars/Sims            current:   3 recommended:   3
    Shadows              current:   3 recommended:   3
    Atmospheric effects  current:   1 recommended:   1
    Water effects        current:   1 recommended:   1
    Software/Hardware    current:   1 recommended:   1
    Cursor               current:   1 recommended:   1
    VariableSpeedAutomata current:   1 recommended:   1
    Translucent UI       current:   1 recommended:   1
    Graphic Detail       current:   3 recommended:   3
    Building Load Speed  current:   3 recommended:   3
    Texture Quality      current:   3 recommended:   3

    As you can see, the Rules section is completely blank, suggesting that the mechanism was changed, probably since the earliest supported Intel Macs would comfortably exceed the game's graphical requirements. In other words, you could set everything to default to high and worry no more.

    However, your config-log clearly shows the rules being applied, if you look at the Options and Properties sections, the specific settings used are all listed there.

    Quote

    Options
    -------

    Cursor               current:   1 recommended:   1

    Properties
    -------

    nopartialbackingstorecopies = false
    dirtyrectmergeframes = 4

    These three options from your config-log, do not match the optimal setup for your Radeon card, but the good news is, it does seem you can follow the Windows method to force your card to be properly detected. In short, we want to force the "partialRule "Radeon" to be applied, which is inside of the Graphics Rules.sgr file, in other words the snippet of code I previously posted. We can also see how the card is detected by the game:

    Quote

    cardName = ATY,RV250M9
    cardVersion = Vendor: 1002, Device: 4c66, Board: 0000, Chipset: 0000
    cardIdentity = ATY,RV250M9

     We can use this information to edit the Graphics Rules.sgr file, such that it should enable the best configuration for your GPU.

    Quote

       # The Radeon series has a very slow path for partial
       # depth buffer copies. This has apparently been
       # fixed for 9500 and later models in the latest drivers,
       # but cannot be fixed on previous Radeons because of
       # hardware limitations.
       # NOTE: disabling this rule unnecessarily may lead to 
       # very poor graphics performance.
       partialRule "Radeon"
          stringMatch cardIdentity "*Radeon*"
          
          partialRule "SlowSubrectDepthCopy" -any
             stringMatch cardIdentity "*7?00*"
             stringMatch cardIdentity "*8?00*"
             stringMatch cardIdentity "*9000*"
             stringMatch cardIdentity "*9100*"
             stringMatch cardIdentity "*9200*"
             stringMatch cardIdentity "*9300*"
             stringMatch cardIdentity "*9400*"
             stringMatch cardIdentity "ATI, Radeon"
             stringMatch cardIdentity "ATI, Radeon VE"
             stringMatch cardIdentity "ATI, Radeon Mobility"
             stringMatch cardIdentity "ATI, Radeon FireGL"
             stringMatch cardIdentity "*RV250M9*"
              
             # results in special low-impact scrolling mode.
             property noPartialBackingStoreCopies true
             
             # try to reduce the number of dirty rects.
             property dirtyRectMergeFrames 8
             
             # use black and white cursors. The Radeons seem
             # to work with colour for a while, but in low
             # memory situations revert to flickering. 
             option $Cursor $CursorBW
          end
       end

    Adding the line in Orange as shown, should ensure the correct settings are applied. You can check them with the config-log, which refreshes after reopening the game. If everything has worked, you'll either see the rule Radeon under Rules, otherwise the Option for the cursor should be 0 not 1 and the two lines in green should be set to True and 8 respectively:

    property noPartialBackingStoreCopies true
    property dirtyRectMergeFrames 8

    Once these three properties are set, hopefully you should see an improvement.

    • Thanks 2

    Head over to my Lot and Mod Shack to keep abreast of my latest developments.

    Do you like custom textures, but don't like all the work involved creating them?, take a look at the Texture Automation options here. Change the look and feel of your transit networks, with the minimum of effort, for example customised versions of my Sidewalk NAM (SWN) and Terrain Grass NAM (TGN) mods, and much more besides.

    New to the NAM? Check out my tutorials on YouTube. Latest upload: How to: RHW - MHO Roundabout Interchanges. (Nov 25).

    p.s. - I'm MGB over on SC4D and a member of the NAM team.

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     
    On 9/5/2021 at 3:08 PM, rsc204 said:

    So the first interesting difference between the newer Mac version and the old one, is that Rules are being applied, here is an extract from the current Aspyr release:

    As you can see, the Rules section is completely blank, suggesting that the mechanism was changed, probably since the earliest supported Intel Macs would comfortably exceed the game's graphical requirements. In other words, you could set everything to default to high and worry no more.

    However, your config-log clearly shows the rules being applied, if you look at the Options and Properties sections, the specific settings used are all listed there.

    These three options from your config-log, do not match the optimal setup for your Radeon card, but the good news is, it does seem you can follow the Windows method to force your card to be properly detected. In short, we want to force the "partialRule "Radeon" to be applied, which is inside of the Graphics Rules.sgr file, in other words the snippet of code I previously posted. We can also see how the card is detected by the game:

     We can use this information to edit the Graphics Rules.sgr file, such that it should enable the best configuration for your GPU.

    Adding the line in Orange as shown, should ensure the correct settings are applied. You can check them with the config-log, which refreshes after reopening the game. If everything has worked, you'll either see the rule Radeon under Rules, otherwise the Option for the cursor should be 0 not 1 and the two lines in green should be set to True and 8 respectively:

    property noPartialBackingStoreCopies true
    property dirtyRectMergeFrames 8

    Once these three properties are set, hopefully you should see an improvement.

    sorry for the super late reply i had to wait for a new battery to arrive before being able to continue

     

    what software can i use to edit .sgr files? 

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    8 minutes ago, sebasboy said:

    what software can i use to edit .sgr files?

    I highly recommend Notepad++ which is an excellent program for editing any plain text file (as .sgr files are). Even regular Windows Notepad will do though perfectly fine. You may wish to associate the .sgr file extension so it'll allow double clicking to open them easily. See this article for how to do that if unsure of the precise steps.

    Hope this helps!

    • Like 1

    Quick Links

    “SimCity 4 is not just a game, but a tool driven by our own imagination and creativity.”

    Buy me a coffee

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    I’m just using the Text Editor built into MacOS, such files won’t open by default, but are really just .txt files given a special file extension. 


    Head over to my Lot and Mod Shack to keep abreast of my latest developments.

    Do you like custom textures, but don't like all the work involved creating them?, take a look at the Texture Automation options here. Change the look and feel of your transit networks, with the minimum of effort, for example customised versions of my Sidewalk NAM (SWN) and Terrain Grass NAM (TGN) mods, and much more besides.

    New to the NAM? Check out my tutorials on YouTube. Latest upload: How to: RHW - MHO Roundabout Interchanges. (Nov 25).

    p.s. - I'm MGB over on SC4D and a member of the NAM team.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    On 9/5/2021 at 3:08 PM, rsc204 said:

    So the first interesting difference between the newer Mac version and the old one, is that Rules are being applied, here is an extract from the current Aspyr release:

    As you can see, the Rules section is completely blank, suggesting that the mechanism was changed, probably since the earliest supported Intel Macs would comfortably exceed the game's graphical requirements. In other words, you could set everything to default to high and worry no more.

    However, your config-log clearly shows the rules being applied, if you look at the Options and Properties sections, the specific settings used are all listed there.

    These three options from your config-log, do not match the optimal setup for your Radeon card, but the good news is, it does seem you can follow the Windows method to force your card to be properly detected. In short, we want to force the "partialRule "Radeon" to be applied, which is inside of the Graphics Rules.sgr file, in other words the snippet of code I previously posted. We can also see how the card is detected by the game:

     We can use this information to edit the Graphics Rules.sgr file, such that it should enable the best configuration for your GPU.

    Adding the line in Orange as shown, should ensure the correct settings are applied. You can check them with the config-log, which refreshes after reopening the game. If everything has worked, you'll either see the rule Radeon under Rules, otherwise the Option for the cursor should be 0 not 1 and the two lines in green should be set to True and 8 respectively:

    property noPartialBackingStoreCopies true
    property dirtyRectMergeFrames 8

    Once these three properties are set, hopefully you should see an improvement.

    sorry for the delay once again. for some reason i cannot log into my discord account that i used to sign up here?

     

    anyways. i checked out your suggestions and applied the string of text in graphiles rules.sgr. but nothing changed, i checked the log and nothing changed aswel.

     

     

     

    i'll attach both the log and the graphics rules since i see some info talking about the mac port in graphics rules file.

     

    used notepad++ on windows to edit it and then put it back in the sim folder 

    Documents.zip

     

     

     

    edit i tried to change everything in the file to use the sample value for example
    property dirtyRectMergeFrames 8

     

    now the log shows that it is indeed at 8 instead of 4. but no difference in performance

     

    theres a note attached to property noPartialBackingStoreCopies true saying not to enable this on the mac port. 

     

    so i tried to enable it anyway by removing the # but it didn't change in the log. i feel like that option is what should fix the issues?

     

    i have noticed the SimCity 4 audio skipping when scrolling so definitely something with scrolling.

     

    i think the rules are not applied to begin with hence me having to manually change the values.


      Edited by sebasboi  

    found more infoo

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    20 hours ago, sebasboi said:

    edit i tried to change everything in the file to use the sample value for example

    This would be my recommendation, it seems it's not correctly picking up your card, so rather than try to force which profile is used, we can just edit one we know is being applied from the Rules section of the log, to invoke the settings we want. I would just add the strings/properties I wanted under the Not Slow GeForce rule, since we can see that is being used with your hardware. The way this code works means it's important to put custom commands towards the end of the script, the last few lines are usually:

    Quote

             property dirtyRectMergeFrames 2
          end
       end
    end

    Add the three commands that may be needed for your GPU before the 2nd to last end, as follows:

    Quote

             property dirtyRectMergeFrames 2
          end
       property dirtyRectMergeFrames 8
       property noPartialBackingStoreCopies true
       option $Cursor $CursorBW

       end
    end

    This means you can quickly toggle these settings whilst you try to find the optimal configuration for your hardware.

    20 hours ago, sebasboi said:

    now the log shows that it is indeed at 8 instead of 4. but no difference in performance

    20 hours ago, sebasboi said:

    theres a note attached to property noPartialBackingStoreCopies true saying not to enable this on the mac port. 

    I think since you are having issues, you should maybe see what enabling the noPartialBackingStoreCopies does. This is supposed to enable a special low-impact scrolling mode, but no doubt there are trade offs from using it, but under Windows with your hardware this is absolutely essential. Now maybe it's not best enabled on the Mac port, but that won't change the fact that your hardware has problems handling this part of the game.

    I'd also try toggling the BW cursor, since it's part of the scripts for these Radeons too.

    At this point all you can do is try to test every combinations of these three settings, to see if you can improve things. It's very hard to explain what a dirtyRectMergeFrame is, the short version is that it has to do with how much cached data is held, to speed up scrolling. The optimal value seems to be 2, if your hardware can handle it, 4 and 8 are used for lesser hardware, this is all stuff you can determine from reading the script. You could try all those values in combination with toggling on/off the PartialBackingStoreCopies and CursorBW options.

    But when it comes down to it, this is a card which is known not to perform well with SC4, you may simply be at the limits of what the game can do with your hardware. There really isn't anything else I can think of after getting down to configuring things at this level.

    20 hours ago, sebasboi said:

    i have noticed the SimCity 4 audio skipping when scrolling so definitely something with scrolling.

    Which is exactly what these older Radeon cards have problems with, the special settings can't bypass this, I guess they just help alleviate things to some degree. Assuming the Mac port is using some kind of emulated DirectX, it certainly seems to be, but then the current version apparently uses a modified OpenGL engine, I honestly don't know. Either way you've another layer of code that doesn't exactly help if you've already got performance troubles.

    • Thanks 2

    Head over to my Lot and Mod Shack to keep abreast of my latest developments.

    Do you like custom textures, but don't like all the work involved creating them?, take a look at the Texture Automation options here. Change the look and feel of your transit networks, with the minimum of effort, for example customised versions of my Sidewalk NAM (SWN) and Terrain Grass NAM (TGN) mods, and much more besides.

    New to the NAM? Check out my tutorials on YouTube. Latest upload: How to: RHW - MHO Roundabout Interchanges. (Nov 25).

    p.s. - I'm MGB over on SC4D and a member of the NAM team.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    that indeed appears to have fixed the entire issue

     

    its about as smooth as SimCity 4 non deluxe now..

     

    maybe it's handy to put this info somewhere incase anyone else wonders across this.

     

    quite a few retro discords  have complained about the issue before without a fix

     

    • Like 2

    Share this post


    Link to post
    Share on other sites

    Sign In or register to comment...

    To comment in reply, you must be a community member

    Sign In  

    Already have an account? Sign in here.

    Sign In Now

    Create an Account  

    Sign up to join our friendly community. It's easy!  

    Register a New Account


    ×

    Thank You for the Continued Support!

    Simtropolis depends on donations to fund site maintenance costs.
    Without your support, we just would not be in our 24th year online!  You really help make this a great community. *:thumb:

    But we still need your support to stay online. If you're able to, please consider a donation to help us stay up and running. This helps sustain a platform where we can share our community creations for years to come.

    Make a Donation, Get a Gift!

    Expand your city with the best from the Simtropolis Exchange.
    Make a Donation and get one or all three discs today!

    STEX Collections

    By way of a "Thank You" gift, we'd like to send you our STEX Collector's DVD. It's some of the best buildings, lots, maps and mods collected for you over the years. Check out the STEX Collections for more info.

    Each donation helps keep Simtropolis online, open and free!

    Thank you for reading and enjoy the site!

    More About STEX Collections