Pages: 1 2 3 4 5 6 7 8 [9] :: one page |
|
Author |
Thread Statistics | Show CCP posts - 29 post(s) |
Ethilia
Freelance Excavation and Resistance
|
Posted - 2009.01.26 22:06:00 -
[241]
1. How about creating a function such that hovering the mouse pointer over a BPO/BPC pops up a window showing the details. There is a similar function used for mining crystals when they are installed in a T2 strip miner. You can see how much damage the crystal has by hovering over it (that would require an 'intensive' DB call just like the blueprints if it were shown by default and not using the popup window).
2. Add an option in the contract GUI where you can unselect items just before creating the contract, but after the DB calls have been made and the information is displayed. This would create nice method for sorting items and limit the DB calls.
-I think the above methods avoid the problem with calling the database everytime a hanger/container is opened and has a lot of blueprints. It should not be too much of a problem to code since nothing new is being created really.
|
Dawnstar
Gallente Kiroshi Group
|
Posted - 2009.01.27 05:22:00 -
[242]
So, having just noticed this fascinating topic and waded through the various notions and wonderful comments by Lingorm (thank you for all the info and effort you've shown us on this topic)...
If I understand the problem correctly, the biggest issue is coming up with a way of flagging BPCs vs BPOs in the information returned by the query for the current asset listing, without significantly bogging down the query or adding significant overhead to the db.
So to that end... I have a few questions and thoughts about the graphic ID.
Might I inquire about the size of the graphic ID? I'm assuming that it is a standard SQL int, which I'm guessing is probably 2^32 in size (could be wrong there, but the line of reasoning to follow can probably still stand, albeit scaled down).
That's a few more bits than I suspect will ever be needed for graphic IDs. (That's -2,147,483,648 through 2,147,483,647 for those who care).
Suppose only 24 bytes worth of numbers were used for the actual graphics IDs. That would still leave 16,777,216 possible graphics IDs. I suspect that this would be adequate for a long, long time. The unused 8 bits could then be used as flags (or even ids) of effects to be applied to the base graphics Id (such as giving the image a tint).
The graphics id in the database retrieved by the query would become a bitwise or of the actual graphics id and the effects flag/id.
Client software could simply use a bitwise and to mask out the special bits and use the id as normal and also use a bitwise and to determine any effects to apply to the image. Both are fairly cheap operations.
Any joins currently in the database using the graphics id in the table would need to apply a bitwise and to the id before joining as well, but that is relatively inexpensive as far as operations go (usually).
This of course, assumes that its a 32 bit int we're talking about. If it is a smaller size, it might still be feasible to use a scaled down version of this scheme (with fewer bits for both).
Hope the suggestion is helpful.
-D |
Morux
|
Posted - 2009.01.28 11:45:00 -
[243]
Never gave this much thought until a few days ago (after I made a system move) when I accidentally did a "repackage all" on all hangar items, forgetting that I just moved all of my small containers which had every owned BPO/BPC sorted out. After the client hung, I restarted it with the worst fears realized - over 4,000 BPOs / BPCs had just been thrown out into my hangar. I don't need to explain to those in this thread what a nightmare this has caused... it is going to take several days (and over 4,000 database queries) to sort this out. There has to be a better solution somewhere... for those of us who invent reguarlarly, this is a real headache! /signed on getting a solution built in the future. Cheers, ~Morux |
Imhothar Xarodit
Minmatar Wolverine Solutions
|
Posted - 2009.02.02 17:55:00 -
[244]
Originally by: CCP Lingorm
Originally by: Imhothar Xarodit Looks like there is some misunderstanding here. I was not proposing to shift the normalized field to the inventory table and let all systems deal with that, that is too much, all systems should stil work with the normalized value as that is already working fine. The suggestion merely implies giving the quantitiy field an additional meaning that is in fact only interesting for the client which does not have immediate access to the normalized table on an inventory query. As I already mentioned, this all would only work after a BPC has been assembled/used so its singleton attribute is true. As that is the key to making the quantity field rather useless (except some other services rely on it, that i don't know). So the example with the Machariel BPO can't happen as it is not a singular item (afair). But even if it was, the deal is to have the quantity field only as additional hint for the client, not be used by the server-side S&I procedures.
Ah I see.
So all that would be needed is a Server side trigger that keeps the 'runsRemaining' Normalised attribute the same as the Amount inventory attribute for Singletons ... interesting idea ...
I will pass it along to software ...
Any news/progress on this front?
|
wert668
|
Posted - 2009.02.05 19:20:00 -
[245]
I post this last time: Originally by: wert668 You can't add this because of lag when loading items (double database or so), what about adding button only for industrial characters? 99% of time you don't need to know, but when you need, you only click and suffer from one long lag.
Can anyone tell me why this can't be done? It looks pretty simple to me. Yes, you will need replay from hundreds of items, bud how often users sort theirs BPO/BPC? Thanks |
Fwuffy Wabbit
|
Posted - 2009.02.15 03:20:00 -
[246]
Let us manually tag items, then we can tag all our own BPOs and not have to keep looking them up.
|
SXYGeeK
Gallente Interstellar Planetary KIA Alliance
|
Posted - 2009.02.20 20:52:00 -
[247]
Edited by: SXYGeeK on 20/02/2009 20:57:16 add an additional query for the client to run if there are any unidentified blueprints in the inventory container it is querying. It could gather the ItemId's and BPO/BPC flag for these blueprints and cache them. this cached data would allow the blueprints in any inventory to be identified as BPO/BPC and would prevent this data from needing to be queried more than once, or for all inventory items.
I can't imagine that this will signifigantly increase client cache for most players, at worst it will be caching a few thousand BP itemID's and a bit flag for thier type, should total no more than a 100k of cache for the vast majority of players.
this coming, with respect, from a guy who works with ASP.Net web form applications running against a very large MS-SQL 2005 database, I know a bit about the importance af optimizing queries and limiting round trips to DB. Thanks for everything guys, the Xpack is shaping up even if it's a little rough on sisi ATM.
-We So SeXy |
Rookie Info
|
Posted - 2009.02.20 23:44:00 -
[248]
Edited by: Rookie Info on 20/02/2009 23:45:58
Originally by: CCP Lingorm Edited by: CCP Lingorm on 23/05/2008 09:25:59
Originally by: Joe Starbreaker
I'm starting to get a mental picture of your database now, and I can see the trouble. I guess that the color changes you apply to locked blueprints in containers, and blueprints in lockdown, are identified by fields in teh Inventory table, then?
Wouldn't it be possible to do an inelegant kludge and just un-normalize the variable that identifes a BPC? Or put a copy of it into Inventory? Ugly yes, but it would work...
Locked is one of the flags that can be set in the Inventory Table. So yes we get that on the return.
The issue is that the kludge would have to be put into the query that return your inventory list, and would have to be run for EVERY single item in your Inventory, and I know I have lots of stuff other than blue prints in my inventory and this would add significant overhead to retrieving that data.
What about enabling players to set a local (on their installed instance) single-character alphanumeric tag on objects, like in the overview? We could sort by that within our ship, container, and dock inventories. We should be able to group-assign/clear/re-assign those tags.
|
Kyra Felann
Gallente Noctis Fleet Technologies
|
Posted - 2009.02.23 23:07:00 -
[249]
Originally by: Joe Zalt Funny, they can show locked/unlocked BPCs in a different color. I don't buy the excuse.
It's easy to not buy the excuse when you have no clue how databases work.
|
Imhothar Xarodit
Minmatar Wolverine Solutions Dead Mans Hand
|
Posted - 2009.02.26 15:13:00 -
[250]
Originally by: CCP Lingorm Ah I see.
So all that would be needed is a Server side trigger that keeps the 'runsRemaining' Normalised attribute the same as the Amount inventory attribute for Singletons ... interesting idea ...
I will pass it along to software ...
So, the thread has been unstickied, moved back some pages now, and there is no mentioning about this anymore.
There is a big potential here, don't just throw it away.
|
|
Precurseur
Gallente
|
Posted - 2009.02.27 00:02:00 -
[251]
Originally by: CCP Lingorm The database is heavily 'normalised' (a method of removing duplicate data) this means that the marker for BPO/BPC is not actually in the Inventory table, it is a table that stores specific differential data. This means that to add this field to the inventory return we would need to do an addition join to the differential data table to look up this field for EVERY item in the inventory regardless of whether or not this is a blueprint of not.
Trust me if we could do it I would love it ... but from a DB point of view the extra load is not wanted for the amount of gain.
A good workaround is to actually use the S&I interface and then use the Blueprints and Corp blueprints tabs on there, they have a different query that does include this information as the query is filtered to blueprints only. It will also show the ME and PE values in the columns on these views.
I take it the database isn't actually queried to determine if it's a BPO or BPC when you open your assets, but only when you "Show Info" on the item? It then retrieves the item details from the database and fetches the corresponding data from another table to ascertain if it's a copy/original?
If I'm correct there, and can further assume that every asset which belongs to a player has some sort of asset/inventory ID?
That being the case, could the CLIENT then cache the details on the local machine once a print has been queried to figure out if it's a BPO/BPC. This way the database is never re-queried about print details (from that client/machine anyway).
A few assumptions there, rightly or wrongly but if the client could at least tell the difference AFTER an initial query that would ease some frustration and give someone a quick visual reference for the future after a one-time query.
The cache could be checked for integrity on startup/asset open, and if the data is more than X days old refreshed where/when needed - if at all. A BPO will never become a BPC and vice versa (except in the case of copying, which probably generates a new asset/invetory id anyway).
Just my take on it
|
Mara Rinn
|
Posted - 2009.02.27 04:47:00 -
[252]
Originally by: Precurseur The cache could be checked for integrity on startup/asset open, and if the data is more than X days old refreshed where/when needed - if at all. A BPO will never become a BPC and vice versa (except in the case of copying, which probably generates a new asset/invetory id anyway).
Incorrect assumption. The itemID can be reused later. As a pathological example, it could be possible to lose a BPC, then some other BPO that you find tomorrow will have that itemID.
But I do agree that a lot of "display preferences" stuff could be handled on the client more efficiently than on the server. User opens inventory -> it's up to the client to trawl through the local database (aka "cache") and produce the right display based on item time and specific details.
I'm amused by the number of people reading this thread who seem to have gone as far as the "Employee -> Role" example from many SQL tutorials and assumed that kilo-transactions-per-second databases with millions of records and tens of thousands of simultaneous clients follow the same rules as two-queries-a-day tutorials :)
|
Leigh Crusio
|
Posted - 2009.04.10 02:12:00 -
[253]
I would not mind if i had to click a sort or download button and wait 5 minutes to get all my BPO/C's different colours.
Surley the client could pause a second before each request to the server and cache the results until they need to be updated.
Its also a pain in the ass when copying BPO's, having to search through all the copies to find the original :( Lag however you dress it up is not a feature it is an issue, a very BIG ISSUE. Fleet warfare / blobbing is the only real way to win in 0.0 combat eg. 1 side brings 20 peeps the other brings 200 both a |
skulled
|
Posted - 2009.04.11 13:08:00 -
[254]
Make BPOs and BPCs distinguishable
signed
|
NightF0x
Gallente Intergalactic League of Terrorists
|
Posted - 2009.04.11 15:37:00 -
[255]
Originally by: skulled Make BPOs and BPCs distinguishable
signed
Read the Dev post on page 1 and you will find your answer ------------------------------------
|
cpu939
Gallente OffBeat Creations The Elders Alliance
|
Posted - 2009.04.11 17:02:00 -
[256]
i know that the devs have stated that they can't change the icon,how ever when you look in to the science and industry tab you can see what bpc you have and the runs they have this is ok but you can't drag and drop you can do every thing else i.e. sell make contract build research. so atm we can use this for building but what about adding the data in to the hangar/corp hangar when in a list from that would allow us to drag and drop the bpcs it would also make sure that we finish of all the runs on a bpc before starting on the next one.
devs could this be done and if not why not? 01101111 01100110 01100110 01100010 01100101 01100001 01110100 00100000 01100011 01110010 01100101 01100001 01110100 01101001 01101111 01101110 |
ShadowDraqon
The Quantum Company
|
Posted - 2009.05.06 17:12:00 -
[257]
I think this would be a good thing.
Simply having BPC's a separate item might work.
Or, since there's a line in the info window of blueprints, that stats "yes" or "no" to whether it's an original or not, add a function that puts a little logo on the item thumbnail, it you select it (click on it).
Anyway, thread supported.
~ MED-SEC ~ AND The Blatantly Obvious |
Solostrom
|
Posted - 2009.05.06 17:15:00 -
[258]
Shadow did u even read the third post where the Dev says... it is not possible? Training Reading comprehension L1 plz.
|
ShadowDraqon
The Quantum Company
|
Posted - 2009.05.06 17:22:00 -
[259]
Edited by: ShadowDraqon on 06/05/2009 17:22:46
Originally by: Solostrom Shadow did u even read the third post where the Dev says... it is not possible? Training Reading comprehension L1 plz.
I believe nothing is impossible. Let me rephrase it:
This feature would be very nice, if it were implemented (whenever it becomes possible).
~ MED-SEC ~ AND The Blatantly Obvious |
nardaq
Wolverine Solutions
|
Posted - 2009.05.22 21:33:00 -
[260]
Edited by: nardaq on 22/05/2009 21:33:56 because almost "everything" is serverside can't the client "see" if it's a copy or orginal? And if so add a "C" in the right botom corner (like ammo, even better to add run PE and ME also in all the corners?) _______________________________________________
whining to CCP, Yarrrr!!111 until EVE is working properly =] will it ever be?? |
|
Le Ming
|
Posted - 2009.07.01 18:51:00 -
[261]
how about a client-side "hack": - whenever there is a icon to display for an item with a given itemid, check local cache for item details. - if cache returns nothing, query server for item details and store them in cache. - use that data to label the blueprint icon...
or add an scripting interface, so we can do it on our own. :D that'd actually be even cooler. ;)
Best, Le Ming
|
Marcus Gideon
Gallente The NightClub
|
Posted - 2009.07.01 19:59:00 -
[262]
Since they just redid their database, can the new and improved one handle associating a different icon with the same value that determines whether it says "Original" or "Copy" in the Info page?
There are several key differences between the stats on an BPO and a BPC. Why can't the icon simply look to one of those differences and adjust? |
ollobrains
THORN Syndicate Mostly Harmless
|
Posted - 2009.07.03 23:16:00 -
[263]
Yes i think the redone database could be used to tweak the bpo-bpc
|
ollobrains
THORN Syndicate Mostly Harmless
|
Posted - 2009.07.03 23:21:00 -
[264]
Yes i think the redone database could be used to tweak the bpo-bpc
|
Gavin McStine
Gallente M.A.G.E.C
|
Posted - 2009.07.04 12:06:00 -
[265]
Its my understanding that there are layers of graphics, couldnt the icon for the blueprint have 2 layers? Have one as the current icon, then have another one ontop of it thats transparent that only shows BPO or BPC over it?
|
Venkul Mul
Gallente
|
Posted - 2009.07.04 13:25:00 -
[266]
Originally by: Le Ming how about a client-side "hack": - whenever there is a icon to display for an item with a given itemid, check local cache for item details. - if cache returns nothing, query server for item details and store them in cache. - use that data to label the blueprint icon...
or add an scripting interface, so we can do it on our own. :D that'd actually be even cooler. ;)
Best, Le Ming
Even better "hack": after doing that change the stat of the BPC on your PC so it say BPO and sell it. Or see if you can get the server to accept it as real and research it/produce from it.
There is a reason why those stat are not on the player PC side.
|
|
|
|
Pages: 1 2 3 4 5 6 7 8 [9] :: one page |
First page | Previous page | Next page | Last page |