DOSBox CPU cycles affect load times
8 years ago
Germany

Edit 2017-03: We're running at 40,000 fixed cycles now, and I've added it to the run's rules.

Here's my original post for the discussion's completeness:

¤ ¤ ¤

I've recorded my 31:31 run at 20,000 fixed cycles. Vortale's 30:32 run seems to use a faster setting, he reaches the fade-in of Diamondus 1 about 0.7 seconds faster than I do. His main menu navigation seems slightly faster, and the level load times are noticeably faster. I estimate a difference of 5 to 10 seconds over the 6-episode RTA.

I've played around with DOSBox cycles. Using core=auto, cputype=auto, cycles=50000, I get comparable times like Vortale's 30:32. With cycles=80000, it seems slightly faster even, comparable to CapnClever's 31:46.

Is there an agreed-on setting for cycles? Should there be one? On slow physical machines, emulating more cycles might harm performance. Should everybody use what happens to be fastest for them instead?

The best resource I found was TASVideos, even though they disallow DOSBox: "Use the largest possible value that you think makes the game run more fluently, but not larger. If uncertain, use 40000. This corresponds to an average 486." Source: http://tasvideos.org/DOSBox.html

-- Simon

편집한 사람 작성자 7 years ago
Moray, Scotland
슈퍼 모더레이터Treya
She/Her, They/Them
8 years ago

I think the best case-scenario would be is to get an IGT splitter working. IGT would get priortised over realtime.

For old records though, hmm. Someone would need to subtract the loading/menu times to calculate IGT. Fortunately, there's only three records.

The other scenario, like you said - would be to now have a ruled setting for cycles. This could cause other records which don't follow the guidelines to become invalid or cause complications, which doesn't sound so good.

Also, can we count milliseconds please? It promotes competition. Same goes for JJ2.

Czech Republic

Are you sure it only affects loading screens? From my experience, cpu cycles in DosBox also affect the gameplay speed.

Germany

Re IGT: The ideal would be autosplit IGT. The TAS [1] memory-watches the game's IGT variable and explains why it's fairest. I have no experience with TASing or observing programs from other programs, I don't feel like I could contribute to a solution.

Without autosplitting, RTA with or without DOSBox cycle restrictions feels more precise than manual IGT over the 42 levels, split by the runner during the run. While we can post-process the existing runs for precise IGT, requiring post-processing for all future runs sounds anticlimatic for streaming. :-)

Another beauty of RTA is simplicity, you can explain the competition rules to anybody in 2 or 3 sentences.

Re milliseconds: Yes, please! :-)

Re cycles affect gameplay speed: Yes, you're right. At 5,000 cycles, the game plays far slower than at 20,000. The game seems to cap at 60 FPS, and 20,000 cycles hit this cap easily. Therefore I used to play with 20,000, hoping that it would settle all questions. But apparently, the load screens behave different even above 20,000.

-- Simon

[1] TAS by Ilari, Mothrayas, slamo, http://tasvideos.org/forum/viewtopic.php?t=15553

편집한 사람 작성자 8 years ago
607 이것을 좋아함
Germany

I asked CapnClever during an unrelated stream, so he didn't have time to ponder much. His first reaction: "If the game runs smoothly at 3,000, use that. If not, and the game runs smoothly at cycles=max, use that. If not, look for a fixed value that makes the game smooth."

Problem: Max cycles produce different load times for us. With max, I get comparable load times as in my 31:31 run at 20,000 cycles, and CapnClever has blazingly fast load times.

Lacking a decision for now, I'll RTA at 40,000 for my next attempts, just to be on the safe side. 40,000 doesn't exceed Vortale's or CapnClever's loading speed, and 40,000 seems unlikely to be banned since the JJ manual recommends a 486. I'm still open to no-limit.

-- Simon

Moray, Scotland
슈퍼 모더레이터Treya
She/Her, They/Them
8 years ago

I heard the JJ1 autosplitter was linked on a Twitch stream. So, when is it being put here?

Germany

BinaryBlob wouldn't like the autosplitter uploaded yet. I haven't tested the autosplitter -- I'm on Linux and split with urn. Allegedly, LiveSplit works in wine here, but I haven't tried to install it yet.

Thanks for the quick run verification. :-)

-- Simon

편집한 사람 작성자 8 years ago
Germany

CapnClever, Vortale, and I run JJ with 40,000 fixed DOSBox cycles:

core=auto cputype=auto cycles=40000

It's been like this for over 2 months already, it looks like a stable decision. I've added it to the run's rules. We'd need really good counter-arguments to change it. :-)

-- Simon

RetroChaosQueen 그리고 607 이것을 좋아함
게임 통계
팔로워
65
런들
127
플레이어
9
최근 쓰레드
게시 일자 8 years ago
0 개의 답글
게시 일자 5 years ago
0 개의 답글
게시 일자 5 years ago
3 개의 답글
게시 일자 7 years ago
0 개의 답글
게시 일자 7 years ago
7 개의 답글
게시 일자 8 years ago
2 개의 답글
모더레이터