I spent the night analyzing performance (to find out why it's so awful) found out that 85% of the time, my program is spinning its wheels looking up textures in the various NSMutableDictionaries I used to organize them. Clearly this project is a poor fit for the design I made. So I'm redesigning the way textures are loaded, stored, and looked up before drawing to hopefully reduce the 85% down to maybe 10%.
As a side effect, I'll slash memory usage in half AGAIN. So half the memory, more than double the speed. This week is looking crazy so I'll pick development back up over the weekend, but the plans are all laid out.
I've also got some hooks in the new structure for cave mode (which mcmap can do), custom colors (ditto), and changing the map orientation (also standard in mcmap). I might even do something that lets you select custom colors based on a texture pack png.
I'll look at placemarkers when I get to player markers.
And now that I've promised the world, let me vanish.
I look forward to cave mode. I caught the glimpse of diamonds as the squares loaded, but no way to find them. I wait with excitement for your next update.
EDIT:
Sooo, I've already found something crazy with my map. I really hope this is real.
Maganja, those are just unrendered or corrupt chunks. If you visit there then map again, they will be gone.
I know I said I was stopping but there was an update to mcmap that fixed the PPC bug, so now I have a version with will actually run on PPC Macs! Not that anyone uses PPC Macs anymore but I thought it was neat.
Maganja, those are just unrendered or corrupt chunks. If you visit there then map again, they will be gone.
I know I said I was stopping but there was an update to mcmap that fixed the PPC bug, so now I have a version with will actually run on PPC Macs! Not that anyone uses PPC Macs anymore but I thought it was neat.
I'm getting some pretty serious lag rendering my largish map. I took a few performance profiles and it looks like it'd be easy enough to speed up (71% is in dictionary lookups under -[BasicOpenGLView getTextureIDX:Y:]). Let me know if you want any pointers; Cocoa app performance optimization is pretty much what I do.
Just saying Hi and congratulating you for this very nice app! Quick and easy usage. Can't wait to see the other thing you have in mind, especially the rotation!
I'm getting some pretty serious lag rendering my largish map. I took a few performance profiles and it looks like it'd be easy enough to speed up (71% is in dictionary lookups under -[BasicOpenGLView getTextureIDX:Y:]). Let me know if you want any pointers; Cocoa app performance optimization is pretty much what I do.
Hey, thanks. Yeah, I figured this out yesterday (you can see my post above talking about it). Basically, it was a realy minimal design at first where I used dictionaries to store textures. Then I scaled it way way up without changing the texture lookup, thinking dictionaries were like maps. I'm rewriting with STL maps storing texture objects and a new design that ensures a minimal number of map lookups, insertions, etc.
Finally, a good render program for Mac's. My only peeve is that you don't have the option to zoom to the original view *hint*
If Reset View doesn't do what you're asking for, I'm not sure what you want.
Lakotamo, are you referring to the colors.txt file in the package? The one that's hard-coded in to the program at the moment is colors_bright.txt and the file format is really simple. ID is the block ID in decimal (http://www.minecraftwiki.net/wiki/Data_values) and the other numbers are color components, red, green, blue, alpha (transparency), and the amount of random noise added to that tile type.
See the mcmap thread for alternate sets people have posted. The one I use by default if my favorite custom set with the brightness cranked a bit.
This is really great! One feature I'm really missing is the ability to change the perspective you're seeing from. Like choose to see from north, south, east or west.
On cave mode it is pretty hard to tell depth..is there any way you can make it easier to figure out where you have to dig straight down to get to somewhere?
great job with that latest update
as panasFANBOY said it would be great if when you open it it automaically updates itself
the cave mode is good but i know this program is still young and has lots of potential
keep up the good work you make mac users feel like their not left out :smile.gif:
I spent the night analyzing performance (to find out why it's so awful) found out that 85% of the time, my program is spinning its wheels looking up textures in the various NSMutableDictionaries I used to organize them. Clearly this project is a poor fit for the design I made. So I'm redesigning the way textures are loaded, stored, and looked up before drawing to hopefully reduce the 85% down to maybe 10%.
Done and it works. Performance is great, zooming out no longer gets choppy.
Quote from Donkey Kong »
As a side effect, I'll slash memory usage in half AGAIN. So half the memory, more than double the speed. This week is looking crazy so I'll pick development back up over the weekend, but the plans are all laid out.
Memory usage rarely drifts above 300MB on large maps. Disk usage is still big but I'm working on it. If the PNG update of mcmap comes out, this'll help a lot.
Quote from Donkey Kong »
I've also got some hooks in the new structure for cave mode (which mcmap can do), custom colors (ditto), and changing the map orientation (also standard in mcmap).
Cave mode is done. Changing the map orientation is done. Automatic updating system is done (sparkle is great).
To Do before next release:
Allow custom colors.txt
Fix file saving (broke in rewrite)
Cull off-screen textures
Re-impliment the stronger draw checks to improve performance more.
Delete blank chunks off disk
Work on not resetting the camera when rotating map
I want to test the auto update system, so this isn't QUITE the newest one, but it should offer you the newest one on first run. It's largely the same but it has a few more fixes and additional color presets for Doku's Texture Pack and JohnSmith texture pack.
(If it doesn't offer an update, ask for one from the application menu).
As a side effect, I'll slash memory usage in half AGAIN. So half the memory, more than double the speed. This week is looking crazy so I'll pick development back up over the weekend, but the plans are all laid out.
I've also got some hooks in the new structure for cave mode (which mcmap can do), custom colors (ditto), and changing the map orientation (also standard in mcmap). I might even do something that lets you select custom colors based on a texture pack png.
I'll look at placemarkers when I get to player markers.
And now that I've promised the world, let me vanish.
I look forward to cave mode. I caught the glimpse of diamonds as the squares loaded, but no way to find them. I wait with excitement for your next update.
EDIT:
Sooo, I've already found something crazy with my map. I really hope this is real.
http://i.imgur.com/CWYpp.jpg
I know I said I was stopping but there was an update to mcmap that fixed the PPC bug, so now I have a version with will actually run on PPC Macs! Not that anyone uses PPC Macs anymore but I thought it was neat.
http://dl.dropbox.com/u/107712/MCMap-Live-a5.zip
There are no other changes.
Hey, for those of us who are stuck with old hand-me-down PPC Macs, universal binaries are a huge deal.
That being said, the latest update works perfectly! I even compiled the binary before I found that you had done the same. Thanks a bunch!
http://dl.dropbox.com/u/107712/MCMap-Live-a6.zip
Hey, thanks. Yeah, I figured this out yesterday (you can see my post above talking about it). Basically, it was a realy minimal design at first where I used dictionaries to store textures. Then I scaled it way way up without changing the texture lookup, thinking dictionaries were like maps. I'm rewriting with STL maps storing texture objects and a new design that ensures a minimal number of map lookups, insertions, etc.
all you gotta do is click that picture
I like this type of functionality, especially with frequently updated programs.
If Reset View doesn't do what you're asking for, I'm not sure what you want.
Lakotamo, are you referring to the colors.txt file in the package? The one that's hard-coded in to the program at the moment is colors_bright.txt and the file format is really simple. ID is the block ID in decimal (http://www.minecraftwiki.net/wiki/Data_values) and the other numbers are color components, red, green, blue, alpha (transparency), and the amount of random noise added to that tile type.
See the mcmap thread for alternate sets people have posted. The one I use by default if my favorite custom set with the brightness cranked a bit.
all you gotta do is click that picture
as panasFANBOY said it would be great if when you open it it automaically updates itself
the cave mode is good but i know this program is still young and has lots of potential
keep up the good work you make mac users feel like their not left out :smile.gif:
Done and it works. Performance is great, zooming out no longer gets choppy.
Memory usage rarely drifts above 300MB on large maps. Disk usage is still big but I'm working on it. If the PNG update of mcmap comes out, this'll help a lot.
Cave mode is done. Changing the map orientation is done. Automatic updating system is done (sparkle is great).
To Do before next release:
Allow custom colors.txt
Fix file saving (broke in rewrite)
Cull off-screen textures
Re-impliment the stronger draw checks to improve performance more.
Delete blank chunks off disk
Work on not resetting the camera when rotating map
I predict it'll be out soon.
Performance, orientations, custom colors, no more black lines, auto-update system, secret features:
http://dl.dropbox.com/u/107712/MCMap/MCMap-Live-v08.zip
I want to test the auto update system, so this isn't QUITE the newest one, but it should offer you the newest one on first run. It's largely the same but it has a few more fixes and additional color presets for Doku's Texture Pack and JohnSmith texture pack.
(If it doesn't offer an update, ask for one from the application menu).