preferred UI element: Slider between a min value, and current system max
Description
Details
- Commits
- Restricted Diffusion Commit
- Task Type
- Feature
- Affected Gamemode(s)
- Launcher
- Reproducible
- uncertain
- Last tested (version)
- 158 fe18f38
- Category
- Launcher
- OS-Specific
- No
- Hardware-Specific
- No
- Video Card Vendor
- uncertain
<replace this line with the file content>
<replace this line with the file content>
Event Timeline
sidenote, 32 bit java cannot handle more than 1GB of RAM, even though 32bit OS can handle up to 4GB of RAM
Is there some problem with having a textbox that is validated against system max RAM? I often set my RAM to values such as 5800MB, a value that is unlikely to be on the proposed slider.
Yes, java can only use powers of two, as valid steps, so 1100 for example will result in the next higher power of two as real max.
While the behaviour is very inconsistent on this. Depending on exact demand and stepping it goes up, the actual limit can be higher or lower than the one specified.
In general, a slider is easier to use, if it takes system memory into account. (However, a slider with textbox beside, representing the current value, and leaving the option to manually enter a number would not harm too... so depends on actual implementation it will get.)
- Andy
For the 32 bit versions of the launcher, a slider will suffice, as the maximum is fixed at 1024Mb. In case of the 64bit version, the real maximum would be so large, it would be ridiculous to include in a slider, so I recommend to either:
- have the maximum of the slider be the amount of physical RAM of the computer, if the launcher is able to detect it.
- use a spinner instead of a slider. clicking the up button of the spinner will double the value(or add 1024, if the value is 1024 or higher), whereas the down button of the spinner will do the reverse, with a minimum value of 1.
As for what a spinner is: http://www.java2s.com/Code/JavaImages/SwingSpinnerTest.PNG
Expected behavior for this build:
- Initial and Early Gen inputs are hidden behind a link
- New max_memory slider snaps to powers of 2 (1024, 2048, 4096, 8192, 16384, 32768)
- Slider's initial knob position should be correct (i.e. not always at the far-left)
- Slider's bounds are 256mb(+) ... total_os_memory
- Slider's lower bound is 256mb or (initial+earlyGen) rounded up to the next power of 2, whichever is larger. Ex: 128+128->256; 129+128->512
- Increasing initial/earlyGen values should automatically increase the max_memory textbox value (if needed) and the slider's lower bound (if needed).
- max_memory input box overrides the slider, allowing users to enter a specific value
- max_memory input box has spinner controls with a 256mb step for quicker changes
- Saving changes to max_memory with a non-multiple-of-256 value should not show a warning/error in the console.
- Saving changes should (obviously) save the changes :p
Known flaws:
- Cannot (easily) select total memory via input box's spinner buttons if it is not a multiple of 256 (very likely will not fix)
- Cannot select max memory via slider if it is not at or near a power of 2
- Slider jumps past total memory if total memory is near a power of 2 boundary
closing this as being implemented
remaining problems have been solved or reported elswhere