744
efficient game design rule (lemmy.blahaj.zone)
top 47 comments
sorted by: hot top controversial new old
[-] Zwiebel@feddit.org 103 points 2 months ago

That can happen with any program, and should be a simple fix on the dev side

[-] mogoh@lemmy.ml 86 points 2 months ago

It is also something that can happen easily. Just program to log an error and then the error happens unexpected every frame.

[-] 9point6@lemmy.world 73 points 2 months ago* (last edited 2 months ago)

So

300×1024×1024= 314,572,800kb

Assuming something like 200 bytes per log line

x5 = 1,572,864,000 logs

Assuming this is your standard console port with a 60fps frame rate lock:

÷60fps ÷ 60 seconds ÷ 60 minutes ÷ 24h = 303.407... days

You would need to play for nearly a year solid to generate that many logs at a rate of one per frame.

Given that's probably not what's happened, this is a particularly impressive rate of erroring

[-] mogoh@lemmy.ml 51 points 2 months ago

Yeah, that does not add up, you are right. There must be several error or it must include the stacktrace or something.

[-] rtxn@lemmy.world 31 points 2 months ago

It's possible that the log writer wanted to fseek to the end of the file and write something, but the target pointer value was somehow corrupted. Depending on the OS, the file might end up having a fuckton of zeroes in the skipped part.

[-] TheEntity@lemmy.world 10 points 2 months ago

That should result in a sparse file on any sane filesystem, right?

[-] rtxn@lemmy.world 9 points 2 months ago

Theoretically, yes. Theoretically NTFS supports sparse files, but I don't know if the feature is enabled by default.

[-] The_Decryptor@aussie.zone 2 points 2 months ago

It supports it, but it's opt-in by apps.

Enabling compression is another option (Though with a speed and size penalty), it's user visible at least.

[-] fallingcats@discuss.tchncs.de 8 points 2 months ago

If you're getting a stack trace every frame youd be there much sooner. Maybe like a week.`

[-] dustyData@lemmy.world 37 points 2 months ago

It's a crash log, not an error log. It's probably dumping the entire memory stack to text instead of a bin dump every time it crashed. I would also suspect the crash handler is appending to the log instead of deleting old crashes and just keeping the latest. At several dozen gigas of RAM it would just take a couple of game crashes to fill up the 300GB.

[-] ICastFist@programming.dev 24 points 2 months ago

To happen every frame without crashing the game, it's more likely a warning ⚠️ "Warning, the texture is named 1.png instead of 1.PNG"

[-] theangryseal@lemmy.world 16 points 2 months ago

It happened to my cousin awhile back with Photoshop. She’s a professional photographer and it shut her down for a few days. I found it pretty quickly and an update stopped it from happening. It wasn’t removing temporary files and totally filled her drive up.

Poor thing was ready to buy a new hard drive.

[-] thawed_caveman@lemmy.world 5 points 2 months ago

I vaguely remember the Nvidia driver generating tons of log files, so many that they piled up over years and filled my drive

[-] yetAnotherUser@discuss.tchncs.de 84 points 2 months ago* (last edited 2 months ago)

Ok, but the second tweet is a bit redundant

Like what else would a .log file be? A video file? A Word Document? An executable?

Do you really need to inspect the properties to be told: "This .log file is certainly containing text. Thank you for installing Windows 10. Save 5% on your Office 365 subscription with code 'ILOVEMICROSOFT'"

[-] pixeltree@lemmy.blahaj.zone 82 points 2 months ago* (last edited 2 months ago)

You should have rolling log files of limited size and limited quantity. The issue isn't that it's a text file, it's that they're not following pretty standard logging procedures to prevent this kind of thing and make logs more useful.

Essentially, when your log file reaches a configured size, it should create a new one and start writing into that, deleting the oldest if there are more log files than your configured limit.

This prevents runaway logging like this, and also lets you store more logging info than you can easily open and go through in one document. If you want to store 20 gb of logs, having all of that in one file will make it difficult to go through. 10 2 gb log files is much easier. That's not so much a consumer issue, but that's the jist of it.

[-] Toribor@corndog.social 14 points 2 months ago

As a sysadmin there are few things that give me more problems than unbounded growth and timezones.

[-] biscuitswalrus@aussie.zone 1 points 2 months ago

Printers. Desk phones. Wmi service crashing at full core lock under the guise of svchost.

[-] yetAnotherUser@discuss.tchncs.de 14 points 2 months ago

Fully agree, but the way it's worded makes it seem like log being a text file is the issue. Maybe I'm just misinterpreting intent though.

[-] meeshen@vegantheoryclub.org 29 points 2 months ago

200GB of a text log file IS weird. It's one thing if you had a core dump or other huge info dump, which, granted, shouldn't be generated on their own, but at least they have a reason for being big. 200GB of plain text logs is just silly

[-] xantoxis@lemmy.world 8 points 2 months ago

no, 200gb of plain text logs is clearly a bug. I run a homelab with 20+ apps in it and all the logs together wouldn't add up to that for years, even without log rotation. I don't understand the poster's decision to blame this on "western game devs" when it's just a bug by whoever created the engine.

[-] MoonMelon@lemmy.ml 5 points 2 months ago

Agreed, and there's a good chance that log is full of one thing spamming over and over, and the devs would love to know what it is.

[-] pancakes@sh.itjust.works 1 points 2 months ago

It could be a matter of storing non-text information in an uncompressed text format. Kind of like how all files are base 0s and 1s in assembly, other files could be "logged" as massive text versions instead of their original compressed file type.

[-] teejay@lemmy.world 5 points 2 months ago

Essentially, when your log file reaches a configured size, it should create a new one and start writing into that, ~~deleting~~ archiving the oldest

FTFY

[-] pixeltree@lemmy.blahaj.zone 4 points 2 months ago

Sure! Best practices vary to your application. I'm a dev, so I'm used to configuring stuff for local env use. In prod, archiving is definitely nice so you can track back even through heavy logging. Though, tbh, if you're applications getting used by that many people a db logging system is probably just straight better

[-] Alice@beehaw.org 45 points 2 months ago

I thought they were just trying to hammer home how wild it was for the file to get that big, since it's just a text file.

[-] stebo02@lemmy.dbzer0.com 36 points 2 months ago

Yeah and also when they said "300gb of crash logs", i assumed it was a folder with thousands of files, instead of all those gbs in a single text file, that's wild

[-] nicknonya@lemmy.blahaj.zone 27 points 2 months ago

if you assume the second post has ulterior meaning it could be that someone might not know what a crash log is, but most people who have interacted with computers at least once would be at least vaguely familiar window's file description and understand that text file icon + >200 gb size is not normal

this is, of course, a rather big assumption.
most people don't put that much though in a post and expecting them to will make your online experience a confusing mess.

[-] MoogleMaestro@lemmy.zip 22 points 2 months ago

Like what else would a .log file be? A video file? A Word Document? An executable?

I think their point is that a 200gb text file is a wild size usage for a crash log, and there's probably accidentally some binary data in that log. There's no way a crash log can exceed 2x the size of the game binary itself.

[-] HoloPengin@lemmy.world 22 points 2 months ago

Could be a bug in their crash handler, just like, infinitely looping and printing something over and over.

[-] leftytighty@slrpnk.net 3 points 2 months ago

Binary data is almost always more compact than text data

[-] MirthfulAlembic@lemmy.world 10 points 2 months ago

It could be a binary file, though that would probably make it smaller if anything.

I'm guessing the point was the developer didn't invent some proprietary log that also contained a dump and other things that could conceivably be very large. That would also be terrible design, but managing to create hundreds of gigs of text in a game crash log is a special kind of terrible.

[-] Liz@midwest.social 10 points 2 months ago

Most people have zero understanding of how programs work. I have slightly more understanding than the average person and I didn't catch that a crash log would nearly always be a text file.

[-] KellysNokia@lemmy.world 6 points 2 months ago* (last edited 2 months ago)

It could be a XML or JSON with some embedded binary data (but to your point Windows isn't gonna figure that out from the extension)

[-] Dave2@lemmy.blahaj.zone 69 points 2 months ago

My log file in rimworld after I add my 691st mod

[-] Sabata11792@ani.social 16 points 2 months ago

Oh no, I should probably check that.

[-] Midnitte@beehaw.org 36 points 2 months ago

Seems weird to critique "western game devs"

Developers of any region can be terrible.

[-] DragonTypeWyvern@midwest.social 6 points 2 months ago

Japanese game devs would NEVER. Because their bosses literally chain them to the desk until their code built from scratch works flawlessly.

(This belief may be out of date)

[-] Kolanaki@yiffit.net 6 points 2 months ago* (last edited 2 months ago)

I've never heard anyone accuse of game of being "western jank" but I've heard plenty be called "eurojank" or "slavjank."

Doesn't make 'em bad. Some of my favorite games are slavjank. Like STALKER.

[-] match@pawb.social 10 points 2 months ago

"westjank" should mean always-online singleplayer experiences with kernel anti-cheats and 300 gb crash logs

[-] bl_r@lemmy.dbzer0.com 30 points 2 months ago

I’ve written code that has generated logs like that. In my case, I had all of my 12 threads writing to a logger, and over the course of 2 hours it got to about 250gb, which was the remainder space on my drive

[-] PeachyMcPeachface@lemmy.blahaj.zone 19 points 2 months ago

I had this problem with my old phone...a One Plus 9. One Plus used to be so good now it's full of bloatware and bugs. Their suggested fix was factory resetting the phone to factory due to them limiting what files could be checked.

[-] scops@reddthat.com 10 points 2 months ago

Yeah, my OP9 was my third OnePlus phone and my last one. I installed a security update that made the cell radio completely non-functional and had to factory reset it. I use my phone for 2FA to get into my work computer, so this was simply unacceptable.

I realized I wasn't doing enough with my phone to warrant flagship prices and ended up switching to a Pixel 6a I got on the cheap. Other than having to add wireless charging with an accessory, I haven't looked back.

I switched to the Pixel 8. It's okay, good camera but a little buggy. Last phone I REALLY liked was the LG G5 that had a slide-out battery. I think it was t-mobile(?) had a bonus where they gave you a free extra battery and charger for that battery. I could go for a couple days at it's peak without a charger, just a battery swap

[-] friendly_ghost@beehaw.org 10 points 2 months ago

Opens with: Notepad

Does it, though?

[-] itslilith@lemmy.blahaj.zone 3 points 2 months ago

Depends, how much RAM do you have?

this post was submitted on 19 Sep 2024
744 points (97.8% liked)

196

16597 readers
1716 users here now

Be sure to follow the rule before you head out.

Rule: You must post before you leave.

^other^ ^rules^

founded 1 year ago
MODERATORS