|
|
|
Как определить где бага? (мешанина в Metal L&F)
|
|||
|---|---|---|---|
|
#18+
Есть следующий код: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. Этот код на моей ubuntu 12.04 x64 глючит, если поскроллить таблицу туда-сюда (прилагаю картинку) глючит примерно до 2000 строки, а потом все показывается нормально. Как будто каждый кадр во время прокрутки прорисовывается поверх предыдущего, а не вместо. При этом, на винде он работает, на других машинах с линуком (правда там 14.04) он тоже работает, и если поставить Look&Feel "Nimbus" или "GTK+", то работает, а на "CDE/Motif" и "Metal" наблюдается такой глюк. Протестил на java 1.8.0_72, 1.8.0_66 версий x64 и i586. Причем, через pmap видно, что у x64 и у i586 не повторяется ни одна либа. И полный апдейт системы на последний версии не помог. При этом степень бага тем сильней, чем больше строк дать. При 2040 строках оно еще не глючит, а при 2050 начинает глючить слегка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2016, 19:33 |
|
||
|
Как определить где бага? (мешанина в Metal L&F)
|
|||
|---|---|---|---|
|
#18+
Я понимаю, что можно включить Numbus и с ним жить, но хочется починить, чтобы с Metal работало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2016, 19:35 |
|
||
|
Как определить где бага? (мешанина в Metal L&F)
|
|||
|---|---|---|---|
|
#18+
Бага появляется только когда скролишь? -Dsun.java2d.xrender=false пробовал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2016, 09:18 |
|
||
|
Как определить где бага? (мешанина в Metal L&F)
|
|||
|---|---|---|---|
|
#18+
Да! Ключики разные пробовал, но общего их описания как-то не нашел. Конкретно этот ключик только что попробовал - помогло. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2016, 12:36 |
|
||
|
Как определить где бага? (мешанина в Metal L&F)
|
|||
|---|---|---|---|
|
#18+
chabapokДа! Ключики разные пробовал, но общего их описания как-то не нашел. https://docs.oracle.com/javase/8/docs/technotes/guides/2d/flags.html chabapokКонкретно этот ключик только что попробовал - помогло. Спасибо. Я посмотрел исходники Swing - у Metal вообще нет никакой специфики для JTable. И высота строки там вообще фиксированная. Поэтому проблема скорее всего в аппаратной отрисовке, которая появилась, то ли в Java 5 то ли в Java 6. Этот ключ как раз её отключает для Linux. Визуально может немного подтормаживать без него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2016, 12:58 |
|
||
|
Как определить где бага? (мешанина в Metal L&F)
|
|||
|---|---|---|---|
|
#18+
На глаз вроде не тормозит с отключенным. Просто заработало, а видимых тормозов не появилось. Вообще, у меня нету Xorg.conf. Как по умолчанию ОС как поставилась - так уже несколько лет и стоит, и багов не замечал. Наверное, из за отсутствия Xorg.conf оно не загрузило xrender pipeline, или что-то недозагрузило. Кроме того, раз этого бага нету в nimbus, то это скорей всего означает, что nimbus l&f не использует xrender pipeline. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2016, 16:17 |
|
||
|
Как определить где бага? (мешанина в Metal L&F)
|
|||
|---|---|---|---|
|
#18+
chabapokКроме того, раз этого бага нету в nimbus, то это скорей всего означает, что nimbus l&f не использует xrender pipeline. Использует, но иначе. Там какая-то хитрая отрисовка на всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2016, 16:22 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=104&tid=2124348]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 343ms |

| 0 / 0 |
