MacWorld forum Just nu i M3-nätverket
Jump to content
Giggs

TrueBlueEnvironment

Recommended Posts

Hej!

 

Har suttit ett par dar och spelat gamla Civ1 på en iMac G4 i Classicläge (den kan inte starta i OS 9, bara köra Classic). Jag blev lite förvånad när det laggade och strulade då och då, det verkar som om datorn inte riktigt orkar med - vilket är konstigt då jag spelade Civ 1 på en Mac IIvi med 16 MHz-propp och 4MB minne redan på 90-talet utan problem. Jag kollade därför i Aktivitetskontroll och det som verkligen drar resurser är en process som kallas TrueBlueEnvironment, vilket jag antar är det som gör att Classic funkar öht.

 

TBE(!?) drar alla processorresurser som finns, över 90%, när spelet är igång, men sjunker tillbaka till ca 3% när man inte spelar men då Classicmiljön fortfarande är aktiv i bakgrunden så att säga. Kan man ändra nåt nånstans så att det inte drar så mycket? Nån slags optimering av TBE alltså, alt. av OS 9 eller spelet i sig (tror dock inte att det är i OS 9 eller i spelet i sig som problemet ligger)?

 

Minnet verkar räcka till btw, jag hade fortfarande ledigt minne när jag kollade. Vad innebär det när det står att TBE har ca 24MB verkligt minne och över 1GB virtuellt minne, är det vad det tar av RAM-minnet resp. vad det reserverar på HD?

Share this post


Link to post
Share on other sites

Det verkar som om du har för lite RAM-minne i datorn, och därför används virtuellt minne. Då får datorn jobba med att skriva och läsa väldigt mycket och ofta på hårddisken, eftersom den inte har plats för all data som behövs i minnet.

 

Lösningen är alltså att skaffa mer minne till datorn.

Share this post


Link to post
Share on other sites

Tror du verkligen det? Sidor in/ut visar just nu 21368/7 - den skriver ju nästan inget mot hårddisken. Jag har iofs bara 512MB, men som jag sa ovan så har jag alltså fortfarande minne ledigt och detta trots att jag nu har Safari igång också, något jag inte haft tidigare. Jag har just nu ca 180MB aktivt, ca 280MB inaktivt och ca 50 resident

Share this post


Link to post
Share on other sites
TBE(!?) drar alla processorresurser som finns, över 90%, när spelet är igång, men sjunker tillbaka till ca 3% när man inte spelar men då Classicmiljön fortfarande är aktiv i bakgrunden så att säga. Kan man ändra nåt nånstans så att det inte drar så mycket? Nån slags optimering av TBE alltså, alt. av OS 9 eller spelet i sig (tror dock inte att det är i OS 9 eller i spelet i sig som problemet ligger)?
Jo, jag tror att det är i spelet felet ligger.

Det är troligen baserat på anropet "GetNextEvent" som gamla program oftast är. Det innebär att programmet hela tiden kollar "har något hänt", "har något hänt", "har något hänt", "har något hänt" och då klockar CPU-procenten iväg.

Nyare program använder "WaitNextEvent", som betyder "Väck mig om en stund eller när något händer". Detta naturligtvis mycket snällare mot CPU-procenten.

Det verkar som om du har för lite RAM-minne i datorn, och därför används virtuellt minne. Då får datorn jobba med att skriva och läsa väldigt mycket och ofta på hårddisken, eftersom den inte har plats för all data som behövs i minnet.

 

Lösningen är alltså att skaffa mer minne till datorn.

Det tror jag inte alls, se ovan.

Share this post


Link to post
Share on other sites

Håller på att läsa den här diskussionen: http://discussions.apple.com/thread.jspa?messageID=3050456 och får intrycket att det är Classic under Tiger som strular och som Telly säger, just med vissa program. Har inte läst hela tråden än, så jag vet inte om det finns någon problemlösning.

Share this post


Link to post
Share on other sites
Tror du verkligen det? Sidor in/ut visar just nu 21368/7 - den skriver ju nästan inget mot hårddisken. Jag har iofs bara 512MB, men som jag sa ovan så har jag alltså fortfarande minne ledigt och detta trots att jag nu har Safari igång också, något jag inte haft tidigare. Jag har just nu ca 180MB aktivt, ca 280MB inaktivt och ca 50 resident

Oki! Ja, då lutar det ju åt att Telly har rätt.

Share this post


Link to post
Share on other sites

Testade nyss Civ 2 i på samma sätt i Classicläge och TBE kräver nu bara 3-4% av processorkraften. Mer rimligt... Det lutar åt att Telly har rätt.

 

Kan man göra något åt detta att vissa program anropar systemet hela tiden eller kräver detta avancerad/omfattande omprogrammering i källkoden?

Share this post


Link to post
Share on other sites

Det krävs tyvärr ändring i källkoden.

Share this post


Link to post
Share on other sites
Det krävs tyvärr ändring i källkoden.

Ja, tyvärr.

 

Men är detta något riktigt problem? Om du spelar så spelar du och om du ska göra något annat så stänger du bara av spelet.

Share this post


Link to post
Share on other sites
Men är detta något riktigt problem? Om du spelar så spelar du och om du ska göra något annat så stänger du bara av spelet.

Ja, jag kan inte gå runt med mina enheter i Civ mha tangentbordet. Datorn registrerar inte rätt, antingen blir det för få steg eller blir det för många steg när jag trycker ner tangenterna, så att mina enheter hamnar ute i terrängen istf för att fortsätta längs en väg t ex. Störigt!

Share this post


Link to post
Share on other sites
Ja, jag kan inte gå runt med mina enheter i Civ mha tangentbordet. Datorn registrerar inte rätt, antingen blir det för få steg eller blir det för många steg när jag trycker ner tangenterna, så att mina enheter hamnar ute i terrängen istf för att fortsätta längs en väg t ex. Störigt!

Har nog inte med CPU-användandet att göra, snarare att programmet är riktigt gammalt och din Mac är för snabb. Eller så är programmet inte skrivet enligt Apples föreskrifter, helt enkelt.

 

Om du vill spela så måste du nog köpa en gammal mac som kan boota i OS 9.

Share this post


Link to post
Share on other sites
Har nog inte med CPU-användandet att göra, snarare att programmet är riktigt gammalt och din Mac är för snabb. Eller så är programmet inte skrivet enligt Apples föreskrifter, helt enkelt.

 

Om du vill spela så måste du nog köpa en gammal mac som kan boota i OS 9.

En sån gammal Mac har jag redan, men jag vill kunna spela på iMacen. Det borde ju gå, tycker jag.

 

Varför skulle det inte bero på CPU:n menar du? Det funkar ju hur bra som helst om man bootar i OS 9, men just i Classic strular det och det kan då emellanåt bli väntetider, lagg och fel när man går runt med enheterna mha siffertangenterna (det funkar däremot när man går runt mha musklick, men det är långsamt och omständligt för mig som spelare). Skillnaden mellan Classic och OS 9 är ju i det här fallet att processorn i Classicmiljön är fullt upptagen med att ägna sig åt annat än att spela mitt spel. Minnet räcker ju till, systemet som spelet kommunicerar med är ju fortfarande OS 9 och spelet och allt annat vad jag kan förstå är ju också detsamma. Skillnaden är ju just att TBE drar alla lediga processresurser och att jag och spelet därför knappt får en syl i vädret.

 

Har för mig att jag spelade Civ i Classicmode under Panther på en iBook G4 utan att uppleva det här strulet. Jag kan iofs minnas fel, det kan ha varit bootat i OS 9. Jag får kanske installera Panther nånstans och se om problemen kvarstår även under Panther.

Share this post


Link to post
Share on other sites
En sån gammal Mac har jag redan, men jag vill kunna spela på iMacen. Det borde ju gå, tycker jag.

 

Varför skulle det inte bero på CPU:n menar du? Det funkar ju hur bra som helst om man bootar i OS 9, men just i Classic strular det och det kan då emellanåt bli väntetider, lagg och fel när man går runt med enheterna mha siffertangenterna (det funkar däremot när man går runt mha musklick, men det är långsamt och omständligt för mig som spelare).

Det är rätt, det BORDE gå.

 

Men det verkar som om spelmakaren inte följt Apples uppmaningar i programmeringsböckerna "Inside Macintosh" till punkt och pricka. Då blir det ofta problem i Classic.

Skillnaden mellan Classic och OS 9 är ju i det här fallet att processorn i Classicmiljön är fullt upptagen med att ägna sig åt annat än att spela mitt spel.
Nej, processorn ägnar sig nästan helt åt att spela ditt spel. I OS 9 kan spelet gå direkt på hårdvaran, trots att Apple skriver att det ska man inte göra. I Classic så kan spelet inte gå direkt på hårdvaran (eftersom det skulle kunna få OS X att krascha). Detta förutsätter då att spelet är korrekt skrivet och använder de funktioner som Apple officiellt stödjer, något som inte verkar vara fallet.

CPU-procenten stiger (som jag skrev) när spelet inte har något att göra, men det betyder inte att processorn ägnar sig åt annat när spelet HAR något att göra (som att svara på ett musklick eller en tangenttryckning).

Share this post


Link to post
Share on other sites
Det är rätt, det BORDE gå.

 

Men det verkar som om spelmakaren inte följt Apples uppmaningar i programmeringsböckerna "Inside Macintosh" till punkt och pricka. Då blir det ofta problem i Classic.

Nej, processorn ägnar sig nästan helt åt att spela ditt spel. I OS 9 kan spelet gå direkt på hårdvaran, trots att Apple skriver att det ska man inte göra. I Classic så kan spelet inte gå direkt på hårdvaran (eftersom det skulle kunna få OS X att krascha). Detta förutsätter då att spelet är korrekt skrivet och använder de funktioner som Apple officiellt stödjer, något som inte verkar vara fallet.

CPU-procenten stiger (som jag skrev) när spelet inte har något att göra, men det betyder inte att processorn ägnar sig åt annat när spelet HAR något att göra (som att svara på ett musklick eller en tangenttryckning).

Jaha, då är det tydligen bara att "gilla läget" dårå...

 

Tack för all hjälp och info!

 

:)

Share this post


Link to post
Share on other sites
Jaha, då är det tydligen bara att "gilla läget" dårå...

Ja, tyvärr.

 

Har själv ett program som inte går att köpa till OS X, där ett av fönstren inte fungerar i Classic. Texten blir en(!) pixel hög. Detta program funkar inte alls med SheepShaver på min IntelMac. :(

Share this post


Link to post
Share on other sites
Har själv ett program som inte går att köpa till OS X, där ett av fönstren inte fungerar i Classic. Texten blir en(!) pixel hög. Detta program funkar inte alls med SheepShaver på min IntelMac. :(

 

Det är just därför som man aldrig *aldrig!* skall göra sig av med sina gamla macar, alternativt ha en gammal maskin som klarar OS 9.

Även jag tackar dig, Telly82, för informationen!

Share this post


Link to post
Share on other sites
Det är just därför som man aldrig *aldrig!* skall göra sig av med sina gamla macar, alternativt ha en gammal maskin som klarar OS 9.

Jo, men det blir så himla trångt på skrivbordet. :(

Share this post


Link to post
Share on other sites
Testade nyss Civ 2 i på samma sätt i Classicläge och TBE kräver nu bara 3-4% av processorkraften. Mer rimligt... Det lutar åt att Telly har rätt.

 

Kan man göra något åt detta att vissa program anropar systemet hela tiden eller kräver detta avancerad/omfattande omprogrammering i källkoden?

 

Är det ett 68k spel eller ett PowerPC spel? Tyvärr har jag ingen PowerPC mac tillgänglig längre så jag kan titta på det själv, men jag är ganska säker på att det skulle gå att fixa med ett litet patch hack om det rör sig om ett egoistisktprogram.

Jag skrev ett program för ca 10 år sedan som hette Vellios Pro, det kan finnas någonstans på nätet fortfarande, men jag hittar det inte på google (och tyvärr har jag det förmodligen inte kvar på någon av mina gamla macar heller)

Men ivilketfall det gick att använda för att ställa processprioritet för MacOS Classic processer, det fanns även ett annat liknande program som hette peek-a-boo som fungerade snarlikt men det kostade tyvärr pengar vet inte om det ens tillät prioritetsjustering utan att vara registrerad.

 

Men oavsett vilket är jag ganska säker på att det skulle gå att lösa på ett eller annat sätt.

Share this post


Link to post
Share on other sites
Är det ett 68k spel eller ett PowerPC spel? Tyvärr har jag ingen PowerPC mac tillgänglig längre så jag kan titta på det själv, men jag är ganska säker på att det skulle gå att fixa med ett litet patch hack om det rör sig om ett egoistisktprogram.

Jag skrev ett program för ca 10 år sedan som hette Vellios Pro, det kan finnas någonstans på nätet fortfarande, men jag hittar det inte på google (och tyvärr har jag det förmodligen inte kvar på någon av mina gamla macar heller)

Men ivilketfall det gick att använda för att ställa processprioritet för MacOS Classic processer, det fanns även ett annat liknande program som hette peek-a-boo som fungerade snarlikt men det kostade tyvärr pengar vet inte om det ens tillät prioritetsjustering utan att vara registrerad.

 

Men oavsett vilket är jag ganska säker på att det skulle gå att lösa på ett eller annat sätt.

Det är ett 68k-spel.

 

Ska kolla efter peek-a-boo och se om jag kan använda det på nåt sätt. Jag letar väl lite efter ditt program också, men det lär jag väl inte hitta när inte ens du själv gör det.

Share this post


Link to post
Share on other sites

Har testat peek-a-boo lite nu och fattar mig kanske inte på det? Jag ställde in TBE som Low-priority, men det fortsatte att dra alla lediga systemresurser. Men det är kanske nåt annat som ska göras?

Share this post


Link to post
Share on other sites
Har testat peek-a-boo lite nu och fattar mig kanske inte på det? Jag ställde in TBE som Low-priority, men det fortsatte att dra alla lediga systemresurser. Men det är kanske nåt annat som ska göras?

 

Nej inte i MacOS X, installera det i classic.

Share this post


Link to post
Share on other sites
Det är ett 68k-spel.

 

Ska kolla efter peek-a-boo och se om jag kan använda det på nåt sätt. Jag letar väl lite efter ditt program också, men det lär jag väl inte hitta när inte ens du själv gör det.

 

Nej det kan finnas på hotline någonstans, annars så är det nog väck nu- var bara ett gratis hack jag släppte runt 1997-98, och oavsett vilket- det fungerar inte med 68k processer heller efter som det patchade via TVectors vilket enbart PowerPC:n använder (detta för att slippa behöva ha några systemtillägg som peek-a-boo använde sig av)

---

Edit:

 

(förövrigt har du provat spela det i Basillisk II istället?)

 

Och peek-a-boo "tricket" kommer enbart fungera om det beror på att programmet är egoistiskt- alltså använder GetNextEvent väldigt frekvent eller WaitNextEvent med en låg timeout.

Kanske borde nämna också att min program var egentligen inte avsett för att sätta prioritet på olika program, det var något jag lade till när jag ändå höll på kan man säga :P Egentligen gjorde jag det för jag var lat när jag skrev små test program ibland så jag kunde ha en loop som såg ut som typ while(1){WaitNextEvent(...); /* icke ljud generering eller grafikrenderingskod*/ } detta gjorde att jag kunde testa olika hack med "multitasking", problemet var att utan lite extra kod (som visserligen inte varit jobbig att skriva) så går det inte avsluta programmet utan med lite tur kunna pricka cmd-alt-esc precis när det hacket var aktivt, så min lösning var att patcha WaitNextEvent eller GetNextEvent och på så sätt se till att min "avslutningskod" kunde köras just när mitt program var aktivt (genom att jämföra PSN) det intressanta var att först trodde jag bara jag själv skulle ha nytta av det, men jag märkte snart att det faktiskt var användbart i andra sammanhang också, program som hade en tendens att krasha när man avslutade dom normalt tex (medans detta inte var en perfekt lösning så tillät det iallafall att man kunde stänga av eller starta om datorn utan att vara livrädd för en filsystems krash- vilka var ganska vanliga på classic macos) eller utomstående program som inte svarade på applevents- det var iallafall ett hack som sagt, sen var det egentligen ganska fullt gjort men det är en annan historia :)

Edited by Anvil

Share this post


Link to post
Share on other sites

Har spelat nu en stund och plötsligt insett att det faktiskt funkar bättre nu än innan, trots vad jag sa alldeles nyss. Det går att gå runt mha det numeriska tangentbordet utan att enheterna står still för att sedan helt plötsligt rusa ut i terrängen långt längre än jag tänkt. Det är inte samma flyt som t ex på en G4/400 bootad i OS 9.2, men det funkar bra - helt klart. Jag får kanske ändå leta upp peek-a-boo för OS 9 och installera det där senare och se vad som händer, om det blir ännu bättre.

 

Tack för all hjälp!

 

:)

Edited by Giggs

Share this post


Link to post
Share on other sites

Jag hittade det, har dock inte provat om filen är korrekt, men filstorleken verkar stämma ( https://www.versiontracker.com/dyn/moreinfo/macos/9156 )

 

http://web.archive.org/web/20010613204730/...ios/Vellios.sit

 

Hittade även detta

( https://www.versiontracker.com/dyn/moreinfo/macos/8282 ) Vilket också är ett gammal program jag gjorde i samma veva ;) (Först MP3 spelaren på MacOS X med IRQ styrning, Quicktime var före men är inte IRQ styrd.)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×